ฉันสามารถสร้าง Ubuntu ISO จากรายการได้หรือไม่?


13

คำตอบนี้พูดถึง ISO ที่ปรากฏ - ตัวอย่างอยู่ที่นี่ .

เป็นไปได้หรือไม่ที่จะสร้าง ISO จากไฟล์ Manifest หรือไฟล์ Manifest dpkg --get-selectionsใส่ไว้ในไฟล์ข้อความ?

ที่เกี่ยวข้อง, sorta:

คำตอบ:


21

filesystem.manifest ถูกสร้างขึ้นด้วยคำสั่ง:

dpkg-query -W --showformat='${Package} ${Version}\n' > casper/filesystem.manifest

ไวยากรณ์จึงเป็นpackage_name versionตัวอย่าง:

 xserver-xorg-video-nouveau  1:0.0.16+git20110411+8378443-1

รูปแบบของdpkg --get-selectionsแตกต่างกันเล็กน้อยpackage_name install

ตัวอย่าง

xserver-xorg-video-nouveau  install 

ดังนั้นคุณสามารถใช้ไฟล์ได้มากกว่าหนึ่งวิธี

apt-get install -y $(awk '{print $1}' filesystem.manifest)

ตามความจริงหลังจากทำ iso แบบกำหนดเองไม่กี่ปีที่ผ่านมามีเส้นโค้งการเรียนรู้วิธีการทำงาน เมื่อคุณเข้าใจบางสิ่งมันไม่ยากเกินไปมันเป็นเพียงความรู้ที่ต้องการมีขนาดใหญ่พอสมควรและไม่มีแหล่งข้อมูลที่ทันสมัย

คุณใช้ 2 บิลด์ไดเรกทอรี

~/custom - build directory for the iso
~/rootfs - build directory for the root file system.

กำหนดเอง - ไดเรกทอรีนี้มีไฟล์ทั้งหมดที่จะเข้าสู่ iso สุดท้าย มันมีระบบไฟล์รากเคอร์เนลเริ่มต้นและ isolinux

rootfs - ไดเร็กทอรีนี้มีระบบไฟล์ live CD และคุณบีบอัดไดเร็กทอรีนี้ (โดยใช้ mksquashfs) และรวมไว้ในซีดี คุณสามารถสร้างสิ่งนี้ด้วย debootstrap (live D ตั้งแต่เริ่มต้น) หรือแยกระบบไฟล์จาก ubuntu-desktop.iso (ปรับแต่งไลฟ์ซีดี) ดูลิงค์ ubuntu wiki ด้านล่างเพื่อดูรายละเอียด

ประเด็นสำคัญ

1)ทำความเข้าใจกับ mksquashfs - คุณใช้ mksquashfs เพื่อบีบอัดระบบไฟล์รูทcasper/filesystem.squashfs

sudo mksquashfs /home/bodhi/rootfs custom/casper/filesystem.squashfs

2)ทำความเข้าใจกับ isolinux - ทำให้ iso สามารถบูตได้รวมถึงเมนู CD (boot) ของคุณ ดูArch Linux วิกิพีเดีย syslinux

คุณสามารถใช้ grub2 เป็นทางเลือกแทน isolinux แต่คุณจะต้องเข้าใจว่า grub2 ทำงานอย่างไร;) ซีดีสดส่วนใหญ่ยังคงใช้ Isolinux

3)วิธีทำ initramfs initramfs เป็นระบบไฟล์ที่สองใช้ในการบูต บ่อยครั้งที่คุณมีปัญหา (อิมเมจสำหรับบูตแบบกำหนดเองไม่ทำงานโมดูลเคอร์เนลไม่โหลด) และคุณไม่สามารถเข้าใจว่าทำไมมองไปที่ระบบไฟล์รูทของคุณคำตอบนั้นน่าจะเกิดขึ้นใน initramfs

#extract to a working_directory , I use ~/initrd
cd ~/initrd
lzma -dc -S .lz ../initrd.lz | cpio -imvd --no-absolute-filenames

# Make your edits / adjustments
# Package
cd ~/initrd
find . | cpio --quiet --dereference -o -H newc | lzma -7 > ../custom.initrd.lz

จากนั้นคุณย้าย initrd.lz ใหม่ของคุณไปยังไดเรกทอรีสร้างที่กำหนดเองของคุณ custom/casper/initrd.lz

4) แคสเปอร์ แคสเปอร์และสคริปต์แคสเปอร์ตั้งอยู่ใน 3 ตำแหน่งและทั้ง 3 แห่งสามารถมีบทบาทได้ พวกเขาทั้งหมดเป็นสคริปต์ทุบตีและในบางจุดคุณเกือบจะต้องการมองผ่านพวกเขาอย่างแน่นอน

A. โฮสต์ - /usr/share/initramfs-tools/scripts/casper

B. ระบบไฟล์ราก - กำหนดเอง / usr / share / initramfs-tools / สคริปต์ / casper

C. ใน initramfs - ดูไดเรกทอรี / สคริปต์

ดูUbuntu คนแคสเปอร์

5)คุณทำการปรับแต่งส่วนต่อประสานกับผู้ใช้ / แอพพลิเคชั่/usr/share/usr/share/gnome*ตัวอย่างเช่นตำแหน่งที่แน่นอนแตกต่างกันไปตามรุ่น/usr/share/gnome-background-properties/ubuntu-wallpapers.xmlเป็นแบบคลาสสิกและเป็นมาตรฐานทั่วทั้งเวอร์ชัน

6)หากคุณไม่สามารถทำการปรับแต่ง/usr/share/ให้ใช้/etc/skelนี่/etc/skel/.bashrcเป็นแบบคลาสสิกไฟล์นั้นจะถูกคัดลอกไปยัง ~ / .bashrc คุณสามารถวางไฟล์ confg ต่างๆไว้ที่นั่นสำหรับ firefox หรือ gnome หรืออะไรก็ตาม แต่ / usr / share จะดีกว่าถ้าเป็นไปได้ (แตกต่างกันไปตามการตั้งค่า)

7) mkisofs - คุณใช้ mkisofs เพื่อแปลง build ของคุณเป็น iso

cd ~/custom
sudo mkisofs -D -r -V "$IMAGE_NAME" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../ubuntu-12.04-custom.iso .

8)ความคงทน คุณสามารถใช้การคงอยู่กับซีดีสดจำนวนมากรวมถึง ubuntu-desktop cd และ cd ที่กำหนดเองซึ่งถูกนำไปใช้โดย casper

A. root - casper จะทำการ mount พาร์ติชั่นหรือไฟล์ที่มีป้ายกำกับว่าcasper-rwเป็น cow overlay บน / หากคุณติดตั้งแพคเกจหรือแก้ไขไฟล์ปรับแต่งการเปลี่ยนแปลงจะยังคงมีอยู่ในการรีบูต

ใช้สิ่งนี้เท่าที่จำเป็น หากคุณอัปเดตแพ็คเกจทั้งหมดมันจะใช้พื้นที่มาก ฉันยังพบว่าวิธีนี้บางครั้งก็บั๊ก

B. หน้าหลัก - แคสเปอร์แคสเปอร์ติดพาร์ทิชันหรือไฟล์ชื่อ aas home-rwเป็นการวางซ้อนวัวบน / home

ฉันชอบสิ่งนี้เพราะบุ๊กมาร์กของ Firefox และข้อมูลส่วนตัวของฉันจะถูกเก็บไว้ในรองเท้าบู๊ตและฉันคิดว่ามันน่าเชื่อถือกว่า

บ้านถาวร (เปลี่ยนเป็น casper-rw สำหรับถาวร /)

# this is a 1 Gb file, increase or decrease the count to make it larger or smaller
dd if=/dev/zero of=home-rw bs=1M count=1000

# make a file system
mkfs.ext4 home-rw
mke2fs 1.41.14 (22-Dec-2010)
home-rw is not a block special device.
Proceed anyway? (y,n) y <-- ANSWER 'y' here

#tune the file system to remove reserved blocks and label it 'home-rw'
tune2fs -m 0 -L home-rw home-rw

ใส่home-rw/ (ในไดเรกทอรีรากของพาร์ติชัน) หรือลงในแฟลชไดรฟ์ (ไม่ใช่ในไดเรกทอรีย่อย)

เมื่อคุณบู๊ตซีดีสดกดF6ปุ่มพวกเขาEscเพิ่มตัวเลือกpersistentในพารามิเตอร์การบูตหน้า '-'

quiet splash persistent --

สคริปต์การบูตแบบแคสเปอร์จะค้นหาการเมานต์โดยอัตโนมัติ

ดูUbuntu wiki Persistence - หน้า wiki ของ Ubuntu เท่านั้นที่กล่าวถึง casper-rw แต่ home-rw ถูกอ้างอิงในสคริปต์ casper และทำงานในลักษณะเดียวกันมีการเปลี่ยนชื่อเท่านั้น

ดูโพสต์นี้ในฟอรัม Ubuntu สำหรับภาพหน้าจอที่แนะนำ (แม้ว่าจะมีตัวเลือกแตกต่างกัน)

C. คุณสามารถเปิดใช้งาน persistence ด้วยเครื่องมือกราฟิกหลายอัน unetbootin เช่น เครื่องมือแบบกราฟิก (เท่าที่ผมรู้) casper-rwการใช้งาน

ตกลงตอนนี้เมื่อคุณเข้าใจทุกอย่างแล้วทั้งสองหน้าจะเริ่มมีความหมายมากขึ้น

Ubuntu wiki live cd ตั้งแต่เริ่มต้น

Ubuntu wiki กำหนด Live CD

Google

คุณจะต้อง google คุณจะพบชิ้นส่วนของคำแนะนำทั่วอินเทอร์เน็ต

ตัวอย่าง: วิธีเปลี่ยนหน้าจอ Live CD splash

เดเบียนสด

เมื่อคุณเข้าใจทุกอย่างเรียบร้อยแล้วให้ใช้สคริปต์Debian Live อย่าปล่อยให้ชื่อหลอกคุณคุณสคริปต์เหล่านี้ใช้ได้ดีกับระบบ. deb ใด ๆ รวมถึง Mint และ Ubuntu

ติดตั้ง

sudo apt-get install live-build

มีส่วนต่อประสานกราฟิก

sudo apt-get install live-magic

ไลฟ์มายากล

เข้าใจว่า gui ที่ใช้เวทย์มนตร์นั้นอาจล้มเหลวเช่นเดียวกับ remasterys และ guis อื่น ๆ ที่ล้มเหลว ในเหตุการณ์นั้นคุณย้อนกลับไปที่สคริปต์สร้างสด (Live-magic จะสร้างไดเรกทอรีสร้าง)

ใช้เวลาสักครู่ในการเรียนรู้สคริปต์ live-build และโครงร่าง / โครงสร้างไดเรกทอรี

ดูDebian Live Manuel Aye มันยาวแค่ทำงานผ่านทีละหนึ่ง iso

ข้อดีของสคริปต์สร้างสดเมื่อคุณเข้าใจองค์ประกอบของซีดีสดสคริปต์จะสร้างอัตโนมัติ 90+% ของการสร้างและการเปลี่ยนแปลงคือการแก้ไขอย่างง่ายไปยังไฟล์ปรับแต่ง (ปกติ) หรือบางครั้งสร้าง initramfs

นานเกินไป

หากนั่นนานเกินไปสำหรับคุณให้หายใจลึก ๆ ผ่อนคลายและทำงานแม้ว่าข้อมูลจะเป็นส่วนหนึ่งในเวลานั้น ฉันสัญญาว่ามันจะเริ่มมีเหตุผลและคุณจะพบว่าเวลานั้นคุ้มค่า

หากคุณเริ่มต้นด้วยชุดเครื่องมืออื่นให้กลับมาที่ชุดเครื่องมือนี้และหลังจากนั้นไม่กี่ iso คุณจะประทับใจกับคำแนะนำชุดนี้;)

รุ่น 12.04 ที่กำหนดเองของฉันรองรับ gma500, 2d เท่านั้น (ไม่มี 3d) ออกจากกล่อง (จะทำให้ iso เปิดเผยต่อสาธารณชนสำหรับกลุ่ม gma 500 ในอีกไม่กี่วันข้างหน้า)

กรัม 500


1
พุทโธ่. นี่คือคำตอบที่ยอดเยี่ยม ฉันรู้ว่าสิ่งที่ฉันทำคืนนี้
jrg

ดี หากสิ่งนี้ไม่ได้รับ 40 คะแนนก็ไม่มีใครควรได้รับพวกเขา)
Rinzwind

สำหรับทุกคนที่สนใจฉันทำให้เป็นเรื่องง่ายดูบล็อกของฉัน (บน Ubuntu Planet ด้วย) สำหรับรายละเอียดและดาวน์โหลด blog.bodhizazen.net/linux/ubuntu-gma500-live-cd
Panther
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.