Windows vốn được biết đến là hệ điều hành thống trị trên máy tính xách tay và máy tính để bàn. Liệu bạn có bao giờ tưởng tượng rằng một ngày nào đó, Windows sẽ xuất hiện ngay trên cổ tay mình? Điều tưởng chừng như không thể này lại hoàn toàn khả thi. Mới đây, một lập trình viên đã thành công trong việc cài đặt phiên bản Windows Pre-installation Environment (Windows PE) lên chiếc đồng hồ thông minh Google Pixel Watch 3. Mặc dù đây không phải là điều bạn nên thử tại nhà, thành tựu này thực sự mở ra một góc nhìn thú vị về khả năng tùy biến công nghệ.
Cơ sở cho kỳ tích này nằm ở bootloader của Qualcomm, được sử dụng trên các chip Snapdragon, với tên gọi XBL (eXtensible Bootloader). XBL thực hiện giao thức UEFI (Unified Extensible Firmware Interface). Trong quá trình khởi động của các chip Snapdragon hiện đại trên thiết bị Android, UEFI sẽ ngay lập tức chuyển quyền kiểm soát cho Aboot, hay Android Bootloader. Tuy nhiên, về mặt lý thuyết, bạn có thể can thiệp vào quá trình khởi động này, điều hướng tới các tập tin EFI (tập tin thực thi cho UEFI) của riêng mình và khởi chạy một hệ điều hành tùy chỉnh, như Windows chẳng hạn.
Người đứng sau dự án ấn tượng này là nhà phát triển gus33000, người từng có kinh nghiệm port Windows lên Microsoft Surface Duo. Dù nghe có vẻ điên rồ, nhưng nó thực sự hoạt động, và chúng tôi phải nhắc lại, bạn tuyệt đối không nên tự mình thử làm điều này.
Nền tảng kỹ thuật: Bí mật đằng sau khả năng tùy biến của Snapdragon
Việc chạy Windows PE trên Google Pixel Watch 3 là một minh chứng rõ ràng cho sự linh hoạt của kiến trúc ARM và khả năng can thiệp sâu vào quá trình khởi động thiết bị. Mặc dù CPU của Google Pixel Watch 3 sở hữu bốn lõi Cortex-A53 (ra đời từ tháng 10 năm 2012) và không hỗ trợ các thao tác nguyên tử (atomic operations) phức tạp, nó vẫn đủ sức cho những tác vụ cơ bản, đó là lý do Windows PE được chọn làm mục tiêu.
Màn hình khởi động UEFI trên Google Pixel Watch 3 khi chạy Windows PE
Thách thức đầu tiên mà gus33000 gặp phải là làm cho chế độ UEFI hoạt động ngay từ đầu. Hóa ra, UEFI không thể hỗ trợ độ phân giải màn hình quá thấp của đồng hồ, đòi hỏi phải sửa đổi UEFI để tương thích. Tiếp theo là các bảng ACPI (Advanced Configuration and Power Interface). Các bảng ACPI là những tập tin mô tả bố cục phần cứng của thiết bị và cách các thành phần như bộ đếm thời gian, bộ điều khiển ngắt, và cổng nối tiếp được sắp xếp. Windows cần những bảng này để biết cách giao tiếp với phần cứng, và gus33000 đã trích xuất dữ liệu cần thiết từ cây thiết bị (device tree) của Snapdragon 865.
Hành trình “Windows on Arm, on your Arm”: Thách thức và giải pháp
Với tất cả những điều chỉnh đó, Windows PE (dựa trên kiến trúc Arm) đã có thể khởi động trên Google Pixel Watch 3. Một vấn đề khác cần giải quyết là hạn chế về bộ nhớ lưu trữ, vì Pixel Watch 3 chỉ có 32GB. Để khắc phục điều này, gus33000 đã tận dụng kiến trúc dual-slot (khe kép) của thiết bị. Các thiết bị Android thường sử dụng hai phân vùng cho các thành phần hệ thống: khe A và khe B. Điều này cho phép một bản cập nhật được áp dụng ở khe còn lại, và khi sẵn sàng, thiết bị có thể khởi động vào hệ thống đã cập nhật.
Hệ thống dual-slot rất tiện lợi vì cho phép cập nhật trong khi thiết bị vẫn hoạt động. Nó cũng đảm bảo rằng nếu xảy ra lỗi, hệ thống có thể quay lại khởi động từ phiên bản cũ đang hoạt động. Trong trường hợp này, gus33000 đã ghi đè khe “modem_a” bằng các tập tin khởi động của riêng mình và một phiên bản Windows PE đã được cắt giảm, đủ nhỏ để vừa với không gian 150MB ít ỏi.
Giao diện dòng lệnh (Command Prompt) của Windows PE đang chạy trên Google Pixel Watch 3
Không chỉ chạy được: Khả năng tương tác vượt trội
Kể từ thành công ban đầu, gus33000 còn chứng minh cách anh ấy có thể gắn Google Pixel Watch 3 như một thiết bị lưu trữ đại chúng UEFI. Điều này có nghĩa là bạn có thể sửa đổi nội dung tập tin từ bên trong Windows mà không cần quyền truy cập root trên đồng hồ. Mặc dù ban đầu đây chỉ là một trò đùa ngày Cá tháng Tư, nhưng nó thực sự là một dự án thú vị và đáng để khám phá sâu hơn.
Kết luận
Việc chạy Windows PE trên Google Pixel Watch 3 là một thành tựu kỹ thuật đầy ấn tượng, cho thấy những giới hạn mới của việc tùy biến phần mềm trên phần cứng nhỏ gọn. Nó không chỉ là minh chứng cho khả năng vượt trội của các nhà phát triển mà còn là một cái nhìn sâu sắc về cách các hệ điều hành và phần cứng tương tác ở cấp độ thấp nhất.
Tuy nhiên, chúng tôi không khuyến khích bạn thử nghiệm điều này trên thiết bị của mình. Rủi ro làm hỏng thiết bị và mất bảo hành là rất cao, và lợi ích thực tế có lẽ chỉ là một màn hình dòng lệnh nhỏ bé trên cổ tay. Nhưng từ góc độ “wow, thật tuyệt vời”, đây là một dự án hấp dẫn, minh họa những điều kỳ diệu có thể xảy ra khi chúng ta tìm hiểu sâu vào cấu trúc của một thiết bị và phá vỡ những quy tắc về việc một hệ điều hành “nên” chạy trên nền tảng nào. Hãy truy cập GitHub chính thức của dự án để tìm hiểu thêm chi tiết. Đừng quên chia sẻ suy nghĩ của bạn về dự án độc đáo này trong phần bình luận bên dưới nhé!