คำตอบนี้พูดถึง ISO ที่ปรากฏ - ตัวอย่างอยู่ที่นี่ .
เป็นไปได้หรือไม่ที่จะสร้าง ISO จากไฟล์ Manifest หรือไฟล์ Manifest
dpkg --get-selections
ใส่ไว้ในไฟล์ข้อความ?
ที่เกี่ยวข้อง, sorta:
คำตอบนี้พูดถึง ISO ที่ปรากฏ - ตัวอย่างอยู่ที่นี่ .
เป็นไปได้หรือไม่ที่จะสร้าง ISO จากไฟล์ Manifest หรือไฟล์ Manifest
dpkg --get-selections
ใส่ไว้ในไฟล์ข้อความ?
ที่เกี่ยวข้อง, sorta:
คำตอบ:
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 - ดูไดเรกทอรี / สคริปต์
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 ตั้งแต่เริ่มต้น
คุณจะต้อง 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 ในอีกไม่กี่วันข้างหน้า)