อะไรคือส่วนประกอบขั้นต่ำที่เปลือยเปล่าสำหรับ Linux OS ที่ใช้งานได้และฉันสามารถใช้เป็นฐานในการขยายและปรับปรุงได้เมื่อฉันเรียนรู้ Linux และความเข้าใจและความต้องการของฉันเติบโตขึ้น
อะไรคือส่วนประกอบขั้นต่ำที่เปลือยเปล่าสำหรับ Linux OS ที่ใช้งานได้และฉันสามารถใช้เป็นฐานในการขยายและปรับปรุงได้เมื่อฉันเรียนรู้ Linux และความเข้าใจและความต้องการของฉันเติบโตขึ้น
คำตอบ:
หากคุณหมายถึงเรียนรู้ Linux ในการทำความรู้จักซอร์สโค้ดคุณอาจต้องลองLinux ตั้งแต่เริ่มต้น
หากคุณกำลังมองหาการเรียนรู้ Gentoo เป็นตัวเลือกที่ดี - การติดตั้ง Gentoo ขั้นต่ำคือรูทเชลล์และตัวจัดการแพ็คเกจและคุณสร้างระบบที่เหลือจากที่นั่น Gentoo ยังอยู่ใกล้กับอัปสตรีมบนแพ็คเกจดังนั้นคุณจะไม่ประสบปัญหามากเกินไปหากคุณต้องการดาวน์โหลดและสร้างแพ็คเกจด้วยตัวเอง (และที่จริงแล้วคุณสามารถเพิ่มลงในไฟล์ /etc/portage/package.provided ได้ หลังจากที่ติดตั้งแล้วและใช้เป็นการอ้างอิง!)
หากคุณกำลังมองหาระบบลีนุกซ์ที่เล็กที่สุดเท่าที่จะเป็นไปได้ให้สร้างเคอร์เนลของคุณเองดึงไดรเวอร์และฟีเจอร์ทั้งหมดที่คุณไม่ได้วางแผนจะใช้แล้วเพิ่ม initramfs ที่ประกอบไปด้วย Busybox ที่ย่อเล็กสุด ผลที่ได้คือระบบลีนุกซ์ที่สามารถบู๊ตได้อย่างเต็มรูปแบบในการปฏิบัติการเดี่ยว (ซึ่งคุณสามารถชี้ bootloader ของคุณได้ที่), และคุณสามารถใส่ได้ไม่เกิน 10 MB โดยไม่ต้องลอง
Archlinux ใช้กลุ่มฐานของไฟล์สำหรับการติดตั้งขั้นต่ำมาก
พร้อมกับฐาน develกลุ่มถ้าคุณจะต้องทำพัฒนาระบบใด ๆ
หากคุณต้องการเพียงเล็กน้อยขั้นต่ำของระบบ Linux คุณอาจลองใช้การกระจายสำหรับระบบฝังตัวเช่นเราเตอร์ ปกติแล้วพวกเขาจะมีซอฟต์แวร์ขั้นต่ำที่แน่นอนเท่านั้นและการขาดส่วนติดต่อผู้ใช้แบบกราฟิกทั่วไปทำให้คุณคุ้นเคยกับบรรทัดคำสั่ง ข้อเสียเปรียบอย่างหนึ่งก็คือระบบเหล่านั้นมักทำลายการประชุมลีนุกซ์ปกติเช่นพวกเขาติดตั้งซอฟต์แวร์ในที่ที่ไม่ธรรมดาหรือใช้ระบบ init ที่ง่าย
หากคุณต้องการที่จะให้มันยิงคุณอาจลองเช่นOpenWRT ในเครื่องเสมือน
rootfs ที่เรียกใช้งานเดี่ยว
ระบบขั้นต่ำที่แน่นอนเรียกใช้/init
โปรแกรมเดียวตามที่อธิบายไว้ในSingle Application Linux ผู้ใช้ขั้นสูง
ลินุกซ์สดน้อยที่สุด
https://github.com/ivandavidov/minimal
สำหรับระบบอินเทอร์แอคทีฟที่น่าสนใจยิ่งขึ้นนี่เป็นสคริปต์ขนาดเล็ก (ส่วนใหญ่เป็นการศึกษา) ที่:
ISO จะทำให้คุณอยู่ในเชลล์ขั้นต่ำด้วย busybox
ด้วย QEMU คุณสามารถบูตเข้าสู่ระบบได้อย่างง่ายดาย
ฉันได้ทำการแก้ไขเพื่ออนุญาตให้เรียกใช้จากไดเรกทอรีแหล่งเคอร์เนล: https://github.com/cirosantilli/runlinux
การใช้งาน:
git clone https://github.com/ivandavidov/minimal
cd minimal/src
./build_minimal_linux_live.sh
# Wait.
# Install QEMU.
# minimal_linux_live.iso was generated
./qemu64.sh
และคุณจะถูกทิ้งไว้ในหน้าต่าง QEMU พร้อมกับระบบขั้นต่ำสุดใหม่ น่ากลัว
เนื่องจากมีขนาดเล็กจึงเป็นตัวเลือกที่ดีในการอ่านแหล่งที่มาและทำความเข้าใจกับสิ่งที่เกิดขึ้น
ทดสอบกับ Ubuntu 16.04
Buildroot
ชุด Makefile script ขนาดใหญ่ที่จัดการ:
ตัวอย่างที่น้อยที่สุด:
git clone git://git.buildroot.net/buildroot
cd buildroot
git checkout 2016.05
make qemu_x86_defconfig
# Can't use -jN, use `BR2_JLEVEL=2` instead.
BR2_JLEVEL=2 make
# Wait.
# cat board/qemu/x86_64/readme.txt
qemu-system-x86_64 -M pc -kernel output/images/bzImage -drive file=output/images/rootfs.ext2,if=virtio,format=raw -append root=/dev/vda -net nic,model=virtio -net user
# You are now in a shell with BusyBox utilities.
มันมีสูตรสำหรับการสร้าง X11 ตั้งแต่เริ่มต้น: วิธีการติดตั้ง X11 บนระบบ Linux Buildroot ของฉันเอง?
การต่อสู้ระดับมืออาชีพได้ทดสอบสิ่งที่องค์กรขนาดใหญ่ใช้
อัลไพน์ Linux
https://github.com/gliderlabs/docker-alpine
การกระจายแบบฝังด้วยตัวจัดการแพคเกจที่เสนอไบนารีที่คอมไพล์แล้วจากเว็บไซต์
ดูสิ่งนี้ด้วย
เป็นอย่างไรบ้างที่ไม่มีใครพูดถึงtomsrtbt ? (Linux บนฟล็อปปี้ขนาด 1.44 นิ้วเดียว)
คุณสามารถลองใช้ Slackware linux การติดตั้งด้วยเมนูจะช่วยให้คุณสามารถติดตั้งระบบขั้นต่ำได้ คุณสามารถออกจาก man pages, X11, Tcl, Emacs และนั่นเป็นเพียงแค่การติดตั้งระดับบนสุดเท่านั้น คุณสามารถดำน้ำในการติดตั้งและติดตั้งแพคเกจขั้นต่ำเปลือยเท่านั้น
หลังจากนั้นฉันจะคอมไพล์เคอร์เนลใหม่สำหรับเครื่องที่คุณติดตั้ง
Slackware ยังคงมีค่าเริ่มต้นเป็นตัวจัดการการบูตของ Lilo ดังนั้นคุณจะต้องรู้มากกว่าเรื่องที่คุณต้องการรู้เกี่ยวกับบูตเซกเตอร์ซึ่งพาร์ติชั่นถูกทำเครื่องหมายว่าสามารถบู๊ตได้สิ่งที่ initrd ของคุณมีอยู่ ฯลฯ
สำหรับฉันแล้วDamn Small Linuxมีชื่อสำหรับ "distro Linux ที่เล็กที่สุดที่เป็นไปได้"! อย่างไรก็ตามฉันได้ยินมาว่ามันหยุดชั่วคราว นอกจากนี้คุณยังสามารถดูรายชื่อของดิคล้ายกัน (เรียกว่า "มินิลินุกซ์") ในการนี้หน้าวิกิพีเดีย
หากพื้นที่ไม่ใช่เป้าหมายของคุณฉันจะแนะนำGentooหรือArch Linuxทั้งคู่ติดตั้งระบบพื้นฐาน คุณเลือกสิ่งที่จะใช้และติดตั้งแพ็คเกจตามที่คุณต้องการ
สิ่งที่คุณต้องทำคือดาวน์โหลดเคอร์เนลล่าสุดจาก kernel.org ทำmake menuconfig
และเพียงแค่มองผ่านตัวเลือกและใช้มันเป็นจุดเริ่มต้นสำหรับการวิจัยและการตรวจสอบ คุณจะได้เรียนรู้มากมาย
คุณสามารถดูPuppy Linuxได้ มันอาจจะไม่เล็กที่สุด แต่ก็มีความน่าพอใจเล็ก ๆ น้อย ๆ
อย่างไรก็ตาม Linux distrtos ที่มีความหมายว่าเล็กมักมักจะอยู่ในระดับเล็กน้อย สำหรับการเรียนรู้ลินุกซ์ฉันจะเดเบียนแบบสดๆที่ไหนสักแห่ง . ฉันจะได้รับแหล่ง debian เคอร์เนลแหล่งทุบตีและแหล่งที่มาด้วงข้ามรวบรวมและติดตั้ง จากนั้นข้ามคอมไพล์ติดตั้งโปรแกรมแก้ไข apt และ gcc จากนั้นสร้างรายการแพ็กเกจจาก debian live ติดตั้งซอร์สสำหรับแต่ละแพ็กเกจรวบรวมและติดตั้ง จากนั้นเพิ่ม X ตามด้วย Wm ที่คุณเลือกจากนั้นคุณมีพื้นฐานสำหรับสิ่งที่คุณต้องการจะทำ
PS: apt-get source ทำให้คุณได้รับแพ็คเกจเดเบียน