ฉันจะเริ่มต้นด้วยการสร้างระบบ Linux ตั้งแต่เริ่มต้นได้อย่างไร


9

ฉันพยายามสร้างระบบปฏิบัติการด้วยเคอร์เนลบิวด์ที่กำหนดเอง มันไม่ได้ผลดีเกินไป ฉันใช้ Ubuntu และดาวน์โหลด Linux 3.2.7 จาก kernel.org ฉันไม่พยายามเปลี่ยนเคอร์เนลในระบบ Ubuntu ของฉัน ฉันต้องการสร้างระบบปฏิบัติการของตัวเองด้วย Grub เคอร์เนล Linux และฉันต้องการให้ระบบปฏิบัติการ homebrew นี้เป็นไฟล์ประเภท (เช่น iso) ที่ฉันสามารถวางบนซีดีและบูตบนคอมพิวเตอร์เครื่องอื่น คำถามของฉันคือสิ่งที่ฉันต้องทำเพื่อให้ระบบปฏิบัติการนี้ ความคิดเห็นหรือแบบฝึกหัดใด ๆ จะเป็นประโยชน์


1
คุณสามารถกำหนดค่าด้วงเพื่อบู๊ตเคอร์เนล Linux มีหลายสถานที่เพื่อค้นหาวิธีการทำเช่นนั้น มีอำนาจมากที่สุดที่จะเป็นคู่มืออย่างเป็นทางการ ( gnu.org/software/grub/manual/grub.html ) เมื่อเคอร์เนลบูทมันจะพยายามเริ่มโปรแกรมที่อยู่ที่/sbin/init(เว้นแต่จะกำหนดค่าไว้เป็นอย่างอื่น) โปรแกรมนี้สามารถทำอะไรก็ได้ที่คุณต้องการ มีบางตัวเลือกทั่วไปที่จะใช้สำหรับ/sbin/initเช่นพุ่งพรวด, sysvinit, systemd หรือเพียงแค่ทุบตี จากนั้นโปรแกรมนั้นก็สามารถควบคุมได้ ถ้ามันออกมาเคอร์เนลจะล้มเหลวดังนั้นมันควรจะสามารถเริ่มโปรแกรมอื่น ๆ ได้
Shawn J. Goff

4
เว็บไซต์linuxfromscratch.orgมีข้อมูลมากมายสำหรับการสร้างการแจกจ่าย linux ของคุณเอง
daniel kullmann

คำตอบ:


15

นี่คือสิ่งที่คุณกำลังมองหา: http://www.linuxfromscratch.org/


2
ฉันยอมรับว่านี่คือสิ่งที่เขาควรจะทำและฉันให้ +1 ฉันคิดว่าสิ่งที่เขาต้องการจริงๆคือรายละเอียดของการสร้างแบรนด์อูบุนตูใหม่เนื่องจากถูกย้ายจาก Askubuntu
RobotHumans

แม้ว่าคุณกำลังพยายามทำสิ่งที่แตกต่างออกไปเล็กน้อย Linux From Scratch เป็นจุดเริ่มต้นที่แน่นอน
เวอร์นอน

หากไม่มีอะไรอื่น LFS คือประสบการณ์การเรียนรู้ที่ยอดเยี่ยม
tshubitz

@tshubitz ฉันดู LFS แต่มันก็ไม่สมเหตุสมผลสำหรับฉัน มันเป็นระบบปฏิบัติการที่สร้างไว้ล่วงหน้าหรือไม่? มันเป็นแนวทางในการสร้างระบบปฏิบัติการหรือไม่? มันคืออะไร?
Coder404

LFS เป็นแนวทางสำหรับการสร้างระบบปฏิบัติการ GNU / Linux ตั้งแต่เริ่มต้น หน้านี้จากเว็บไซต์ LFS ผลรวมค่อนข้างมาก: linuxfromscratch.org/lfs
tshubitz

4

หนึ่งในสถานที่ที่จะเริ่มต้นจะBuildroot

มันคืออะไร? เป็นชุดของสคริปต์ / makefiles ที่ให้คุณสร้างระบบ linux ตั้งแต่เริ่มต้น มันดึงองค์ประกอบที่เกี่ยวข้องทั้งหมดลงไปสร้างคอมไพเลอร์ข้ามบนโฮสต์ - ทุกอย่างสวยมาก

มันถูกออกแบบมาสำหรับงานฝังตัวเป็นหลัก - มันมี uclibc มากกว่า glibc และขาดขั้นตอนการสร้างสำหรับส่วนประกอบต่าง ๆ เช่น Gnome และสภาพแวดล้อมเดสก์ท็อปบางอย่าง - อย่างไรก็ตามถ้าคุณสร้างซีดีสดมันยอดเยี่ยมจริงๆ แน่นอนว่าไม่ จำกัด ซีดีสด ฉันบอกว่า - มันมาพร้อม Qt แบบฝัง

รุ่นเสถียรล่าสุดมาพร้อมกับด้วง 0.97 ซึ่งอาจไม่ตรงกับความต้องการของคุณ

ฉันพูดถึงสิ่งนี้เพราะในขณะที่ Linux from Scratch นั้นยอดเยี่ยมในการที่จะบอกคุณถึงวิธีการทำให้กระบวนการทั้งหมดเสร็จสมบูรณ์ แต่ใช้เวลานานและต้องใช้ความอดทนอย่างมาก Buildroot สามารถปรับให้รวมสิ่งที่คุณต้องการ ในฐานะที่เป็นประสบการณ์การเรียนรู้ความสามารถในการใช้menuconfigเมนูสไตล์และรับสิ่งที่บู๊ทและผลงานยอดเยี่ยม คุณยังสามารถดูว่ามันทำทุกอย่างอย่างไรก่อนที่จะเพิ่มคุณสมบัติในภายหลัง

ในแง่ของการกำหนดค่าเคอร์เนลของฉันฉันไม่สามารถขอแนะนำให้ใช้การกำหนดค่าที่มีอยู่ของคุณ (โดยปกติจะมีอยู่ใน/boot) คัดลอกลงในแผนผังเคอร์เนล.configจากนั้นเรียกใช้make oldconfigและก้าวผ่านตัวเลือกใหม่ ตัวเลือกเริ่มต้นค่อนข้างรับประกันว่าจะทำงานจากการกระจายของคุณ ถ้าคุณเริ่มต้นจากศูนย์คุณอาจสร้างบางสิ่งที่ใช้ไม่ได้


3

ขั้นต่ำเปล่าที่คุณต้องการคือเคอร์เนลและกระบวนการบางอย่างที่คุณสามารถเรียกใช้ในฐานะ init พร้อมกับตัวโหลดและไลบรารีใด ๆ ที่จำเป็นสำหรับกระบวนการเริ่มต้น คุณบูตเคอร์เนลเพื่อบอกให้รันโพรเซส init และจะไปจากที่นั่นมีธุรกิจของคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.