1 คะแนน โดย GN⁺ 1 시간 전 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • พอร์ต Haiku arm64 บูตไปจนถึงเดสก์ท็อปได้แล้วใน nightly build ล่าสุด และอิมเมจ hrev59669 ทำงานบน QEMU ได้
  • การรันบน QEMU ต้องใส่ใจกับความเข้ากันได้ของ Tianocore EFI และการเลือก CPU โดยบน Debian แก้ได้ด้วยการระบุ --cpu cortex-a76
  • ด้วยการแก้ไขเล็กน้อยก็สามารถ บูตบน UTM ได้เช่นกัน แต่การขยับเมาส์ยังช้าและกระตุก ทำให้การใช้งานจริงยังไม่ดีนัก
  • อิมเมจ nightly ของ arm64 ยังอยู่ในสถานะ unbootstrapped จึงไม่มี git, gcc, แพ็กเกจสำหรับพัฒนา และการไม่มี OpenSSL อาจทำให้ติดตั้งแพ็กเกจไม่ได้ด้วย
  • การส่งไฟล์ระหว่างโฮสต์กับเกสต์สามารถเลี่ยงได้ด้วย อิมเมจดิสก์ FAT32 และมีการพูดถึงความเป็นไปได้ในการครอสบิลด์ .hpkg บน x86_64 หรือ Linux

สถานะการบูตของ Haiku arm64

  • พอร์ต Haiku arm64 ไปถึงจุดที่ บูตเข้าเดสก์ท็อปได้ แล้วใน nightly build ล่าสุด
  • บิลด์ล่าสุด hrev59669 จาก download.haiku-os.org ทำงานบน QEMU ได้
  • ด้วยการแก้ไขเล็กน้อยสามารถบูต Haiku บน UTM ได้ด้วย แต่การขยับเมาส์ยังช้าและกระตุก จึงยังใช้งานจริงได้ไม่ดีนัก

การตั้งค่าการรัน QEMU

  • คำสั่งที่ใช้รันอิมเมจ arm64 บน QEMU ได้มีดังนี้
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 ที่ QEMU บน Debian เลือกเป็นค่าเริ่มต้นจะ ไม่เข้ากันกับ EFI implementation ที่ให้มาด้วย และแก้ได้ด้วยการระบุ --cpu cortex-a76
  • อินพุตคีย์บอร์ดและแท็บเล็ตใช้อุปกรณ์ USB โดย usb-tablet ช่วยให้จัดการอินพุตได้โดยไม่ต้องจับเมาส์
  • ramfb ถูกใช้เป็นตัวเลือก เฟรมบัฟเฟอร์ที่ค่อนข้างปลอดภัย สำหรับ arm64
  • บน Debian พาธของไบนารี Tianocore จะเป็น /usr/share/qemu-efi-aarch64/QEMU_EFI.fd เมื่อติดตั้งแพ็กเกจที่จำเป็นแล้ว
  • บนระบบอื่นสามารถหาอิมเมจ EFI ได้ทางออนไลน์ หรือดึงออกมาจากแพ็กเกจ Debian

สถานะของสภาพแวดล้อมพัฒนาและแพ็กเกจ

  • ปัจจุบันอิมเมจ nightly ของ arm64 ไม่ใช่ “bootstrap image” แต่เป็นอิมเมจแบบ unbootstrapped และวิธีการสร้างชุดแพ็กเกจเริ่มต้นก็แตกต่างออกไป
  • ในอิมเมจ nightly ตอนนี้ไม่มี git, gcc และแพ็กเกจสำหรับพัฒนา
  • คาดว่าสามารถดาวน์โหลด release archive จาก haikuports มาตั้งค่าเพื่อให้ได้ชุดแพ็กเกจพื้นฐานที่จำเป็นต่อการบิลด์แพ็กเกจ
  • อาจติดตั้งบางแพ็กเกจผ่าน pkgman ได้ แต่ตอนนี้ไม่มี haikuports builder ทำให้ชุดแพ็กเกจอาจมีจำกัดมาก
  • มีรายงานว่า pkgman ติดตั้งแพ็กเกจใด ๆ ไม่ได้และขึ้นข้อผิดพลาด “operation not supported”
  • สาเหตุอาจมาจากอิมเมจถูก บิลด์โดยไม่มีการรองรับ OpenSSL ซึ่งในกรณีนั้นจะทำงานที่มีประโยชน์ได้ค่อนข้างยาก
  • หากมีแพ็กเกจอยู่ใน depot ก็สามารถนำลิงก์มาใช้ดาวน์โหลดด้วย wget เป็นทางอ้อมได้ และตอนตั้งค่า haikuporter กับ haikuports บนอิมเมจ riscv64 ก็ต้องใช้วิธีเลี่ยงแบบคล้ายกัน

การส่งไฟล์ระหว่างโฮสต์กับเกสต์

  • ยังหา แพ็กเกจสำหรับพัฒนาที่บิลด์ไว้ล่วงหน้า สำหรับ arm64 บนเซิร์ฟเวอร์ depot ไม่พบ
  • สามารถใช้อิมเมจดิสก์ FAT32 เพื่อนำไฟล์จากโฮสต์ QEMU เข้าไปยังเกสต์ ARM64 Haiku ได้
  • วิธีคือสร้างอิมเมจดิสก์ FAT32 ด้วย MacOS Disk Utility, เมานต์บน Mac เพื่อใส่ไฟล์ แล้วค่อยเชื่อมต่อเข้ากับเกสต์ QEMU
  • ตัวอย่างการรัน QEMU พร้อมดิสก์ที่ใช้แชร์มีดังนี้
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
  • มีการเสนอความเป็นไปได้ว่าน่าจะ ครอสบิลด์ .hpkg สำหรับ ARM64 Haiku ได้จาก x86_64 Haiku หรือ Linux

1 ความคิดเห็น

 
GN⁺ 1 시간 전
ความคิดเห็นจาก Hacker News
  • สุดสัปดาห์นี้เพิ่งติดตั้ง Haiku ลงบน Thinkpad X40 เครื่องเก่า แล้วพบว่ามันเร็วและเสถียรอย่างน่าประหลาดใจ
    ทั้ง Emacs และ VLC ทำงานได้ดีมาก การท่องเว็บช้าเกินไปสำหรับเครื่องนี้ แต่ชุดออฟฟิศ BeProductive นั้นแทบเรียกได้ว่าเป็นงานชิ้นเอกสำหรับแอปที่ดาวน์โหลดแค่ 9MB เพียงแต่ไม่ใช่โอเพนซอร์ส
    หลังจากนั้นก็ติดตั้ง Haiku บน XPS13 ผ่าน KVM/Qemu ด้วย และทุกอย่างทำงานเร็วมาก กำลังคิดจะลองใช้จัดระเบียบรูปภาพ เพราะฟีเจอร์เมทาดาทาที่ฝังมาใน BeFS ดูเหมาะกับงานแบบนั้นมาก ประทับใจจริงๆ

    • Haiku เป็นตัวอย่างที่ดีของการให้ความสำคัญกับ ประสบการณ์ผู้ใช้ มากกว่าเบนช์มาร์ก
      ภายในระบบมันอาจทำงานได้ราว 60% ของความเร็ว Linux บนเครื่องที่ใกล้เคียงกัน แต่เวลาใช้งานจริงกลับรู้สึกว่าเร็วกว่าสิ่งอื่นๆ มาก
      ไม่ได้หมายความว่าไม่สนใจการปรับปรุงประสิทธิภาพ แต่หมายถึงพวกเขาให้ความสำคัญสูงสุดกับการรับประกันประสบการณ์ผู้ใช้มาโดยตลอด
    • พอพูดแบบนั้นก็รู้สึกว่าอาจลองติดตั้งลงบน VAIO เก่าๆ ที่กองอยู่บ้านได้เหมือนกัน
  • เมื่อกี้เพิ่งเล่าให้ลูกฟังว่า ก่อนที่ Jobs จะกลับมา Apple เคยพยายามซื้อ Be Inc. แต่สุดท้ายกลับเลือกไปซื้อ NeXT แทน
    มันเป็นวงจรที่น่าสนใจทีเดียว Be พอร์ต BeOS ไปยัง PowerMac, Apple ไม่ซื้อ Be, Be Inc. หายไป, HaikuOS เริ่มต้นขึ้น, แล้วกว่า 20 ปีต่อมา HaikuOS ก็ถูกพอร์ตกลับมาลงฮาร์ดแวร์ของ Apple
    พูดตรงๆ ว่าสำหรับแล็ปท็อป Apple ปัญหาไม่ใช่ฮาร์ดแวร์ แต่เป็นระบบปฏิบัติการสาย XNU/Darwin/NextStep ที่ติดมาด้วยและแย่มากต่างหาก ถ้า HaikuOS ติดตั้งมาเป็นค่าเริ่มต้นและรองรับอุปกรณ์ต่อพ่วงทั้งหมด ฉันก็คงซื้อ Mac แต่ก็คงยากจะเป็นไปได้
    อนึ่ง ฉันยังมี PowerMac ที่ติดตั้ง BeOS “ของจริง” อยู่เครื่องหนึ่ง เพียงแต่ไม่ได้บูตมันมาหลายปีแล้ว ตอนลองรัน HaikuOS ใน VM แบบ x86-64 มันจัดการงานอย่างคอมไพล์แพ็กเกจไม่กี่ตัว เปิด emacs และเสิร์ฟเว็บเพจหนึ่งหรือสองหน้าได้ดีมาก เอกสารสำหรับนักพัฒนาดูเหมือนยังต้องเสริมอีกหน่อย จนคิดว่าไม่แน่อาจอาสาไปช่วยเองก็ได้

    • ตรงที่ว่า “ระบบปฏิบัติการสาย XNU/Darwin/NextStep ที่ติดมาด้วยและแย่มาก” นี่ อยากรู้ว่ามีปัญหาอะไรบ้างแบบเจาะจง
  • ก่อนหน้านี้ไม่ค่อยรู้จัก Haiku OS แต่ตาม Wikipedia บอกว่า Haiku เป็นโครงการที่ชุมชนสานต่อระบบปฏิบัติการสำหรับคอมพิวเตอร์ส่วนบุคคลอย่าง BeOS ที่ถูกยุติไปแล้ว
    โดยยังคงความเข้ากันได้ระดับไบนารีกับ BeOS พร้อมทั้งรองรับระบบ โปรโตคอล ฮาร์ดแวร์ และมาตรฐานเว็บสมัยใหม่ด้วย

  • น่าเสียดายที่คงไม่มีทางรันสิ่งนี้บน iPad รุ่น M1/M ซีรีส์ ได้เลย

    • น่าเสียดายจริงๆ ที่ Apple ในช่วงหลายปีมานี้มีท่าทีเป็นปฏิปักษ์กับซอฟต์แวร์โอเพนซอร์สมากเกินไป
      ฉันมองว่ายุคทองของการเจลเบรกก็คือยุคทองของการพัฒนามือถือด้วย เต็มไปด้วยนวัตกรรมและการทำซ้ำอย่างรวดเร็ว ดูเหมือนว่าถ้าตั้งใจสร้าง อะไรก็เป็นไปได้ และมันก็เป็นไปได้จริง
      ไอเดียดีๆ จำนวนไม่น้อยที่ Apple เอาไปรวมไว้ใน iOS ถูกหยิบไปแบบหน้าตาเฉยโดยไม่ให้เครดิต จากเบ้าหลอมแห่งความคิดสร้างสรรค์ที่ชื่อว่าชุมชนเจลเบรก
      แต่ทั้งหมดนี้ต้องอาศัยคนที่ค้นพบช่องโหว่ แล้วยอมไม่รับ bug bounty เพื่อปล่อยมันให้ชุมชนใช้ฟรีๆ พวกเขาเป็นคนที่เสียสละจริงๆ
      Apple เก่งพอที่จะเล่นเกมตีตัวตุ่นกับความพยายามแบบนี้และจ่ายเงินให้ผู้คนถึง 100,000 ดอลลาร์ จนในที่สุดความพยายามเหล่านั้นก็หายไป ช่องโหว่ง่ายๆ ส่วนใหญ่ก็ถูกค้นพบและแพตช์ไปหมดแล้ว และเมื่อไม่มีไอเดียดีๆ ให้ลอกอีก ก็ไม่น่าแปลกใจที่ นวัตกรรมของ iOS จะชะงักงัน
  • Haiku OS ใช้งานได้จริงแค่ไหน?

    • ตอนแรกจะรู้สึกแปลกๆ นิดหน่อย แต่ก็มีเสน่ห์ในแบบของมัน พอพ้นช่วงทดลองเล่นไปแล้วจะเริ่มเห็นว่าระบบนิเวศซอฟต์แวร์ค่อนข้างจำกัด
      ถึงอย่างนั้นก็ยังแนะนำให้ลองแวะเข้าไปดูสักครั้ง
      ความเห็นแบบละเอียดอยู่ที่นี่: https://kconner.com/2025/03/09/haiku-os-study-path.html
    • ฉันกำลังจัดสภาพแวดล้อมติดตั้งให้ลูกวัยมัธยมปลายไว้เรียนเขียนโปรแกรมช่วงฤดูร้อนนี้ โดยพยายามลดสิ่งรบกวนให้น้อยที่สุด
      พอเห็นว่า IntelliJ เปิดได้ และ GNU core utils ก็ถูกรวมมาให้ด้วย ก็รู้สึกทึ่งมาก โปรแกรม hello world ก็รันได้ไม่มีปัญหา
    • ปัญหาใหญ่ที่สุดของฉันคือ จำนวนแอปพลิเคชันที่มีน้อย
    • ไม่แน่ใจว่ากำลังพูดถึงเฉพาะบน M1 หรือหมายถึงทุกแพลตฟอร์มโดยรวม
  • ช่วงนี้กำลังดู FuriPhone ซึ่งเป็น Linux phone ที่รัน Debian อยู่ แล้วก็คิดว่าถ้าพอร์ต HaikuOS ไปลงเครื่องนี้ได้น่าจะเป็นโปรเจกต์ที่สนุกดี

    • มันมีไดรเวอร์แบบปิดไม่ใช่หรือ เลยอาจพอร์ตยาก? อีกทางหนึ่งอาจลองพิจารณาพอร์ตไปที่ PinePhone แทนก็ได้
  • สามารถลองเดโมผ่านเบราว์เซอร์ได้ด้วย: https://distrosea.com/select/haiku/

    • ใน URL นั้น ฉันไม่เห็น M1 อยู่ในรายการสำหรับตัวเอง
  • สงสัยว่ารองรับเฉพาะ M1 Mac หรือรองรับ M ซีรีส์รุ่นอื่นด้วย หรือไม่ก็อาจเป็นไปได้ว่ารุ่น M อื่นรองรับมาก่อนหน้านี้แล้ว
    เลยตัดสินใจยากว่านี่เป็นความก้าวหน้าครั้งใหญ่ หรือเป็นเพียงการปรับปรุงแบบค่อยเป็นค่อยไป