1 điểm bởi GN⁺ 2 giờ trước | 1 bình luận | Chia sẻ qua WhatsApp
  • Bản port Haiku arm64 hiện có thể khởi động tới màn hình desktop trên bản nightly mới nhất, và image hrev59669 hoạt động trên QEMU
  • Khi chạy QEMU, tính tương thích giữa Tianocore EFI và lựa chọn CPU là rất quan trọng; trên Debian có thể khắc phục bằng cách chỉ định --cpu cortex-a76
  • Với một chỉnh sửa nhỏ, hệ thống cũng có thể khởi động trên UTM, nhưng chuyển động chuột chậm và giật nên khả năng sử dụng thực tế vẫn còn thấp
  • Image nightly arm64 hiện ở trạng thái unbootstrapped, nên không có git, gcc hay các gói phát triển, và việc thiếu OpenSSL cũng có thể chặn cài đặt gói
  • Việc truyền tệp giữa host và guest có thể lách qua bằng image đĩa FAT32, và cũng có ý kiến cho rằng có thể cross-build .hpkg từ x86_64 hoặc Linux

Tình hình khởi động của Haiku arm64

  • Bản port Haiku arm64 đã đạt đến trạng thái khởi động được tới desktop trên bản nightly mới nhất
  • Bản dựng mới nhất hrev59669 trên download.haiku-os.org hoạt động trên QEMU
  • Chỉ với một chỉnh sửa nhỏ, Haiku cũng có thể khởi động trên UTM, nhưng do chuyển động chuột chậm và giật nên khả năng sử dụng vẫn còn thấp

Cấu hình chạy QEMU

  • Lệnh đã hoạt động để chạy image arm64 trên QEMU như sau
qemu-system-arm64 -m 512M -bios /path/to/the/arm64/QEMU_EFI.fd -device ramfb -M virt --cpu cortex-a76 -device usb-ehci -device usb-kbd -device usb-tablet -device usb-storage,drive=dska -drive id=dska,file=haiku-arm64-mmc.image,if=none
  • CPU mà QEMU trên Debian chọn mặc định dường như không tương thích với bản triển khai EFI đi kèm, và việc chỉ định --cpu cortex-a76 đã giải quyết được vấn đề
  • Bàn phím và đầu vào tablet sử dụng thiết bị USB, còn usb-tablet cho phép xử lý đầu vào mà không cần bắt chuột
  • ramfb được dùng như một lựa chọn framebuffer an toàn tương đối trên arm64
  • Trên Debian, đường dẫn tới binary Tianocore là /usr/share/qemu-efi-aarch64/QEMU_EFI.fd sau khi cài gói cần thiết
  • Trên các hệ thống khác, có thể tìm image EFI trên mạng hoặc trích xuất từ gói Debian

Môi trường phát triển và trạng thái gói

  • Hiện tại, image nightly arm64 không phải là “bootstrap image” mà là image unbootstrapped, và cách xây dựng bộ gói ban đầu cũng khác
  • Image nightly hiện không bao gồm git, gcc hay các gói phát triển
  • Có vẻ như nếu tải archive phát hành của haikuports và cấu hình nó, có thể lấy được bộ gói cơ bản cần thiết để build gói
  • Cũng có thể cài một số gói bằng pkgman, nhưng hiện không có haikuports builder, nên tập gói có thể rất hạn chế
  • Có báo cáo rằng pkgman không cài được bất kỳ gói nào và báo lỗi “operation not supported”
  • Nguyên nhân có thể là image được build mà không có hỗ trợ OpenSSL, và trong trường hợp đó sẽ rất khó để làm được việc hữu ích
  • Nếu depot có gói, có thể lấy liên kết rồi tải bằng wget để lách qua; khi cấu hình haikuporterhaikuports trên image riscv64 cũng cần một cách lách tương tự

Truyền tệp giữa host và guest

  • Hiện vẫn chưa tìm thấy gói phát triển dựng sẵn cho arm64 trên máy chủ depot
  • Có thể dùng image đĩa FAT32 để đưa tệp từ host QEMU vào guest ARM64 Haiku
  • Cách làm là tạo image đĩa FAT32 bằng MacOS Disk Utility, mount nó trên Mac để chép tệp vào, rồi gắn nó vào guest QEMU
  • Ví dụ chạy QEMU với đĩa dùng chung như sau
qemu-system-aarch64 \
  -M virt \
  -cpu max \
  -m 2G \
  -smp 4 \
  -bios /opt/homebrew/share/qemu/edk2-aarch64-code.fd \
  -device qemu-xhci,id=usb \
  -drive file=haiku-master-hrev59671-arm64-mmc.image,if=none,id=drv0,format=raw \
  -device usb-storage,bus=usb.0,drive=drv0 \
  -device usb-kbd,bus=usb.0 \
  -device usb-tablet,bus=usb.0 \
  -device ramfb \
  -display cocoa,zoom-to-fit=on \
  -device qemu-xhci,id=usb2 \
  -drive file=../shared.img,format=raw,if=none,id=usb-shared \
  -device usb-storage,bus=usb2.0,drive=usb-shared \
  -serial stdio
  • Có ý kiến cho rằng nên có thể cross-build .hpkg cho ARM64 Haiku từ x86_64 Haiku hoặc Linux

1 bình luận

 
Ý kiến trên Hacker News
  • Cuối tuần này tôi đã cài Haiku lên một chiếc Thinkpad X40 cũ, và nó nhanh cũng như ổn định một cách đáng ngạc nhiên
    Emacs và VLC cũng chạy rất tốt. Máy quá chậm để lướt web, nhưng bộ ứng dụng văn phòng BeProductive gần như là một kiệt tác đối với một ứng dụng chỉ tải xuống 9MB. Chỉ là nó không phải mã nguồn mở
    Sau đó tôi cũng cài Haiku trên XPS13 bằng KVM/Qemu, và mọi thứ chạy cực kỳ nhanh. Tôi đang nghĩ đến việc dùng nó để sắp xếp ảnh, và tính năng metadata tích hợp trong BeFS có vẻ rất hợp cho mục đích đó. Thật sự rất ấn tượng

    • Haiku là một ví dụ điển hình cho việc ưu tiên trải nghiệm người dùng hơn benchmark
      Bên trong, nó chạy khoảng bằng 60% tốc độ của Linux trên hệ thống gần tương đương, nhưng khi dùng thực tế thì lại cho cảm giác nhanh hơn rất nhiều so với bất cứ thứ gì khác
      Không phải là họ không quan tâm đến cải thiện hiệu năng, mà là họ luôn đảm bảo trải nghiệm người dùng là ưu tiên số một
    • Nghe vậy làm tôi nghĩ có thể thử cài nó lên chiếc VAIO rất cũ đang nằm ở nhà
  • Tôi vừa mới kể cho con nghe rằng trước khi Jobs quay lại, Apple từng định mua lại Be Inc., nhưng rồi cuối cùng lại chọn con đường mua NeXT
    Đây là một vòng lặp khá thú vị. Be port BeOS sang PowerMac, Apple bỏ qua thương vụ mua Be, Be Inc. biến mất, HaikuOS bắt đầu, và hơn 20 năm sau HaikuOS lại được port sang phần cứng Apple
    Thành thật mà nói, vấn đề của laptop Apple không phải là phần cứng mà là hệ điều hành XNU/Darwin/NextStep tệ hại đi kèm. Nếu HaikuOS được cài sẵn và hỗ trợ toàn bộ thiết bị ngoại vi thì tôi sẽ mua Mac, dù tôi cũng không nghĩ khả năng đó cao đến vậy
    Nhân tiện, tôi vẫn còn một chiếc PowerMac cài BeOS “xịn”. Vài năm rồi tôi chưa khởi động lại nó. Khi chạy HaikuOS trong VM x86-64, nó xử lý rất tốt việc biên dịch vài package, chạy emacs, và phục vụ một hai trang web. Tài liệu cho lập trình viên có vẻ vẫn cần được bổ sung thêm, đến mức tôi còn nghĩ có khi mình nên tình nguyện giúp luôn

    • Ở đoạn “hệ điều hành XNU/Darwin/NextStep tệ hại đi kèm”, tôi tò mò không biết cụ thể vấn đề là gì
  • Trước giờ tôi không biết rõ về Haiku OS, nhưng theo Wikipedia thì Haiku là dự án cộng đồng tiếp nối BeOS, một hệ điều hành máy tính cá nhân đã bị ngừng phát triển
    Họ nói rằng nó vẫn giữ tương thích nhị phân với BeOS, đồng thời hỗ trợ cả hệ thống, giao thức, phần cứng và tiêu chuẩn web hiện đại

  • Hơi tiếc là có lẽ sẽ không bao giờ chạy được cái này trên iPad M1/M-series

    • Thật đáng tiếc khi Apple trong vài năm qua đã tỏ ra quá thù địch với phần mềm mã nguồn mở
      Theo tôi, thời kỳ hoàng kim của jailbreak cũng chính là thời kỳ hoàng kim của phát triển di động. Đổi mới và lặp lại nhanh diễn ra cực kỳ mạnh mẽ, và cảm giác như chỉ cần muốn làm là có thể làm được bất cứ điều gì, mà thực tế đúng là vậy
      Khá nhiều ý tưởng hay mà Apple tích hợp vào iOS thực chất đã bị lấy một cách trơ trẽn, không ghi công, từ cái nồi nấu sáng tạo là cộng đồng jailbreak
      Nhưng tất cả những điều này phụ thuộc vào việc ai đó tìm ra lỗ hổng và công bố miễn phí cho cộng đồng thay vì nhận bug bounty. Họ đúng là những người theo chủ nghĩa vị tha thực sự
      Apple đã đủ giỏi trong việc chặn những nỗ lực như trò đập chuột chũi và trả cho mọi người 100.000 USD, nên cuối cùng các nỗ lực đó biến mất. Hầu hết lỗ hổng dễ tìm đều đã được phát hiện và vá. Không còn nhiều ý tưởng hay để sao chép nữa, nên việc đổi mới của iOS bị chững lại cũng không có gì lạ
  • Haiku OS thực tế dùng được đến mức nào?

    • Ban đầu nó hơi lạ một chút nhưng dùng khá thú vị. Khi qua giai đoạn thử nghiệm, bạn sẽ nhận ra hệ sinh thái phần mềm của nó khá hạn chế
      Dù vậy tôi vẫn khuyên nên thử một lần
      Ấn tượng chi tiết hơn ở đây: https://kconner.com/2025/03/09/haiku-os-study-path.html
    • Tôi đang chuẩn bị một môi trường cài đặt để đứa con ở tuổi học sinh trung học có thể học lập trình trong mùa hè này với ít yếu tố gây xao nhãng nhất có thể
      Tôi khá ngạc nhiên khi thấy IntelliJ chạy được và GNU core utils cũng đã được tích hợp. Chương trình hello world cũng chạy tốt
    • Vấn đề lớn nhất của tôi là thiếu ứng dụng
    • Tôi không rõ bạn đang nói riêng về M1, hay là nói về tất cả các nền tảng nói chung
  • Gần đây tôi có xem FuriPhone, một chiếc điện thoại Linux chạy Debian, và nghĩ rằng port HaikuOS sang đó có thể là một dự án thú vị

    • Có driver đóng nên việc port sẽ không khó sao? Hoặc có thể cân nhắc port sang PinePhone thay vào đó
  • Bạn cũng có thể thử demo ngay trong trình duyệt: https://distrosea.com/select/haiku/

    • Ở URL đó tôi không thấy M1 trong danh sách
  • Tôi tò mò không biết đây chỉ hỗ trợ M1 Mac, hay các dòng M khác cũng được hỗ trợ. Hoặc cũng có thể các dòng M khác đã được hỗ trợ từ trước rồi
    Khó mà đánh giá đây là một bước đột phá lớn hay chỉ là một cải tiến dần dần