1 คะแนน โดย GN⁺ 2 시간 전 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • Casuarina Linux เป็นดิสโทรทดลองที่แยกมาจาก Chimera Linux โดยเลือกใช้ glibc แทน musl เพื่อขยายความเข้ากันได้ของไบนารี GNU/Linux
  • องค์ประกอบหลักประกอบด้วยทูลเชน LLVM, ระบบ init อย่าง Dinit, GNU libc, ยูทิลิตีหลักที่พัฒนาต่อยอดจาก FreeBSD และตัวจัดการแพ็กเกจ apk
  • มีการเผยแพร่ x86_64 ISO รุ่นแรกแล้ว และสถาปัตยกรรมที่รองรับในตอนนี้มีเพียง x86_64 โดยในอนาคตอาจรองรับ aarch64
  • การใช้ glibc ทำให้ขั้นตอนบูตสแตรปซับซ้อนขึ้น โดยต้องบิลด์ binutils·gcc·glibc ก่อน แล้วจึงบิลด์ LLVM และแพ็กเกจที่เหลือ
  • จุดเริ่มต้นมาจากความพยายามลด ปัญหาความเข้ากันได้ ของเดสก์ท็อปที่ใช้ musl และมุ่งสู่ดิสโทรเดสก์ท็อปที่เล็กและมีประสิทธิภาพ

ภาพรวมของ Casuarina Linux

  • Casuarina Linux เป็นดิสโทร Linux เชิงทดลองที่แยกมาจาก Chimera Linux และใช้ glibc เป็น libc แทน musl
  • เป้าหมายคือคงประสบการณ์การใช้งานของ Chimera ไว้ให้มากพอสมควร พร้อมทั้งทำให้มี ความเข้ากันได้ของไบนารี กับระบบนิเวศ GNU/Linux ที่กว้างขึ้น
  • มีการเผยแพร่ ISO รุ่นแรกสำหรับ x86_64 แล้ว และสามารถดาวน์โหลดได้จากหน้าดาวน์โหลด
  • องค์ประกอบหลักได้แก่ทูลเชน LLVM, ระบบ init Dinit, GNU libc, ยูทิลิตีหลักที่พัฒนาต่อยอดจาก FreeBSD และตัวจัดการแพ็กเกจ apk
  • โครงการมุ่งสู่ดิสโทรเดสก์ท็อปที่เล็ก มีประสิทธิภาพ แต่ยังมีความสามารถครบถ้วน และอาจเหมาะกับผู้ใช้ที่ต้องการความทันสมัย ฟังก์ชัน ความเข้ากันได้ รวมถึงความเข้าใจและการมีส่วนร่วมที่ง่าย
  • การใช้งานเดสก์ท็อปบนฐาน musl ต้องอาศัยการประนีประนอมหรือวิธีเลี่ยงปัญหาอยู่บ้าง เพราะมีความไม่เข้ากันได้บางส่วน
  • Chimera Linux ถูกใช้เป็นระบบปฏิบัติการหลักบนโน้ตบุ๊กมาตั้งแต่เดือนมิถุนายน 2023 แต่บนเดสก์ท็อป ปัญหาความเข้ากันได้ของ musl ยังคงเป็นอุปสรรค
  • Casuarina เริ่มต้นจากความพยายามที่จะดูว่าการใส่ glibc แทน musl นั้นยากเพียงใด โดยมีข้อมูลเบื้องหลังเพิ่มเติมใน about page

วิธีการบิลด์และสถานะปัจจุบัน

  • ซอร์สบูตสแตรป ดำเนินการแบบหลายขั้นตอนเช่นเดียวกับ Chimera
  • การใช้ glibc ทำให้ตอนนี้ต้องพึ่งการบิลด์ gcc และทำให้กระบวนการบูตสแตรปซับซ้อนขึ้น
    • บิลด์ GNU binutils, gcc, glibc ก่อน
    • จากนั้นจึงบิลด์ LLVM และใช้ LLVM บิลด์แพ็กเกจที่เหลือ
    • LLVM ยังมี implementation ของ libgcc ด้วย
  • แพ็กเกจถูกบิลด์ด้วยเครื่องมือ cbuild ของ Chimera และทุกแพ็กเกจจะถูกบิลด์ในแซนด์บ็อกซ์แบบแยกขาด
  • การบิลด์แพ็กเกจถูกทำให้อัตโนมัติด้วย Buildbot และรันอยู่ที่ build.casuarina.org
  • การพัฒนาดำเนินอยู่บน Codeberg
  • สถาปัตยกรรมที่รองรับในปัจจุบันมีเพียง x86_64 เท่านั้น
    • ในอนาคตอาจรองรับ aarch64
    • สำหรับสถาปัตยกรรมอื่น ๆ เนื่องจากไม่มีระบบนิเวศไบนารีที่เป็นมาตรฐานให้ต้องเข้ากันได้ การใช้ Chimera จะเหมาะสมกว่า
  • ดิสโทรนี้ยังอยู่ในสถานะทดลองและอยู่ระหว่างการพัฒนา แต่ก็อยู่ในระดับที่สามารถใช้งานได้ทันที
  • ตั้งแต่กลางเดือนเมษายน มีการใช้งานเป็นประจำทุกวันทั้งบนเดสก์ท็อปและโน้ตบุ๊ก สำหรับงานและการใช้งานส่วนตัว
  • การพัฒนาเริ่มในเดือนมิถุนายน 2025 และหลังจากหยุดชะงักไป ก็เริ่มเดินหน้าอย่างจริงจังอีกครั้งตั้งแต่เดือนกุมภาพันธ์ 2026
  • ในช่วงเวลาดังกล่าว มีการทำระบบบูตสแตรป การบิลด์ชุดแพ็กเกจ และการตั้งค่าโครงสร้างพื้นฐาน
  • ฟอรัมสำหรับการพูดคุยอยู่ที่ forum.casuarina.org

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

 
GN⁺ 2 시간 전
ความเห็นจาก Lobste.rs
  • บอกว่าคง ความเข้ากันได้ของไบนารีกับระบบนิเวศ GNU/Linux ไว้ เลยสงสัยว่าใช้ libstdc++ หรือไม่
    ดูจากคำอธิบายที่บอกว่า Casuarina is comprised of LLVM toolchain, ..., After that LLVM is built and all other packages are built with LLVM. ก็เลยเหมือนจะไม่ใช่

    • แพ็กเกจระบบใช้ libc++ ของ LLVM แต่เพื่อความเข้ากันได้ ก็มี libstdc++ ให้ด้วย
  • Chimera ให้ความรู้สึกเหมือนเป็นญาติของ Void Linux ในพื้นที่นี้
    เลยอยากรู้ว่าในสแตกของ Chimera อย่าง ระบบบิลด์และ init มีอะไรที่ให้ความรู้สึกแตกต่างจาก xbps และ daemontools แบบชัดเจนจนดึงดูดใจกว่ากัน

    • ตอนใช้ Void ก็มีงานจุกจิกที่ต้องลงมือเองเพื่อคอยอัปเดตแพ็กเกจให้ทันสมัยอยู่บ้าง แต่โดยรวมก็ค่อนข้างดี และ xbps-src ก็ยืดหยุ่นมาก
      สามารถใช้ Void และแพ็กเกจพื้นฐานเป็นเหมือนแพลตฟอร์ม แล้วซ้อนตัวจัดการแพ็กเกจอื่นอย่าง lix, linux brew, guix ไว้ด้านบนได้
      สนใจ Chimera มาสักพักแล้ว แต่ยังไม่ได้ลองใช้จริง
  • ทุกวันนี้น่าสนใจที่ glibc กลายเป็นตัวเลือกด้านความเข้ากันได้
    ตอนมันออกมาใหม่ ๆ เคยเกิดเรื่องวุ่นวายพอสมควร เพราะแพ็กเกจไบนารีที่ลิงก์กับ Linux libc แบบเก่าจู่ ๆ ก็ใช้ไม่ได้
    แถมยังชนกับช่วงเปลี่ยนผ่านไปใช้ ฟอร์แมต ELF ที่มาแทน a.out เดิมด้วย ทำให้ Jessica Parsons สร้าง Mastodon Linux ขึ้นมา ซึ่งดิสโทรนี้ต้องรองรับทั้งฟอร์แมตไบนารีแบบเก่า, libc แบบเก่า และน่าจะรวมถึงเคอร์เนลเวอร์ชันเก่าที่จำเป็นต่อสิ่งเหล่านี้ด้วย
    อีกทั้งยังเป็นหนึ่งในดิสโทรยุคแรก ๆ ที่พยายามเปลี่ยนไปใช้ userland ของ BSD ด้วย

  • ชอบที่ย่อหน้าแรกอธิบายได้ชัดเจนและกระชับว่า มันคืออะไร และทำไมถึงจำเป็น