Jawaban ini berbicara tentang manifes ISO - contoh ada di sini. .
Apakah mungkin untuk membangun ISO dari file manifes, atau apakah file manifes hanya
dpkg --get-selections
dimasukkan ke dalam file teks?
Terkait, agak:
Jawaban ini berbicara tentang manifes ISO - contoh ada di sini. .
Apakah mungkin untuk membangun ISO dari file manifes, atau apakah file manifes hanya
dpkg --get-selections
dimasukkan ke dalam file teks?
Terkait, agak:
Jawaban:
Filesystem.manifest dihasilkan dengan perintah:
dpkg-query -W --showformat='${Package} ${Version}\n' > casper/filesystem.manifest
Sintaksnya demikian package_name version
, Contoh:
xserver-xorg-video-nouveau 1:0.0.16+git20110411+8378443-1
Formatnya dpkg --get-selections
sedikit berbeda,package_name install
Contoh
xserver-xorg-video-nouveau install
Jadi Anda dapat menggunakan file, mungkin lebih dari satu cara,
apt-get install -y $(awk '{print $1}' filesystem.manifest)
Sejujurnya, setelah membuat beberapa iso kustom selama bertahun-tahun, ada kurva belajar tentang cara kerjanya. Setelah Anda memahami beberapa hal, itu tidak terlalu sulit, itu hanya pengetahuan yang cukup besar dan tidak ada sumber informasi yang mutakhir.
Anda menggunakan 2 direktori build
~/custom - build directory for the iso
~/rootfs - build directory for the root file system.
custom - direktori ini berisi semua file yang akan masuk ke iso final. Ini berisi sistem file root, kernel, initramfs, dan isolinux.
rootfs - direktori ini berisi sistem file CD langsung dan Anda kompres direktori ini (menggunakan mksquashfs) dan memasukkannya ke dalam CD. Anda bisa membuatnya dengan debootstrap (live D dari awal) atau mengekstrak sistem file dari ubuntu-desktop.iso (menyesuaikan CD langsung). Lihat tautan wiki ubuntu di bawah untuk detailnya.
1) Memahami mksquashfs - Anda menggunakan mksquashfs untuk mengompresi sistem file rootcasper/filesystem.squashfs
sudo mksquashfs /home/bodhi/rootfs custom/casper/filesystem.squashfs
2) Memahami isolinux - ini membuat iso bootable, serta menu CD (boot) Anda. Lihat Arch Linux Wiki syslinux .
Anda dapat menggunakan grub2 sebagai pengganti isolinux, tetapi Anda harus memahami cara kerja grub2;). Kebanyakan live CD masih menggunakan isolinux.
3) Cara membuat initramfs. Initramfs adalah sistem file kedua, yang digunakan untuk boot. Seringkali ketika Anda mengalami masalah (custom boot image tidak berfungsi, modul kernel tidak memuat), dan Anda tidak bisa mengerti mengapa melihat sistem file root Anda, jawabannya sangat mungkin di 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
Anda kemudian memindahkan initrd.lz baru Anda ke direktori build khusus Anda, custom/casper/initrd.lz
4) casper. Casper, dan skrip casper terletak di 3 lokasi, dan ketiganya dapat memainkan peran. Itu semua adalah skrip bash, dan pada titik tertentu Anda hampir pasti ingin melihatnya.
A. tuan rumah - /usr/share/initramfs-tools/scripts/casper
B. sistem file root - custom / usr / share / initramfs-tools / scripts / casper
C. di initramfs - Lihat direktori / skrip.
Lihat Ubuntu man casper
5) Anda membuat penyesuaian pada antarmuka pengguna / aplikasi di /usr/share
, /usr/share/gnome*
misalnya, lokasi yang tepat berbeda dengan rilis, /usr/share/gnome-background-properties/ubuntu-wallpapers.xml
adalah klasik dan cukup standar di berbagai versi.
6) Jika Anda tidak dapat membuat penyesuaian /usr/share/
, gunakan /etc/skel
, di sini /etc/skel/.bashrc
adalah klasik, file itu akan disalin ke ~ / .bashrc. Anda dapat meletakkan berbagai file confg di sana, untuk firefox atau gnome atau yang tidak, tetapi / usr / share lebih baik jika memungkinkan (bervariasi tergantung pengaturan).
7) mkisofs - Anda menggunakan mkisofs untuk mengubah direktori build Anda menjadi 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) Kegigihan. Anda dapat menggunakan ketekunan dengan banyak live CD, termasuk ubuntu-desktop cd dan custom cd, ini diterapkan oleh casper.
A. root - casper akan memasang partisi atau file yang berlabel sebagai casper-rw
overlay sapi pada /. Jika Anda menginstal paket, atau memodifikasi file config, perubahan akan tetap terjadi setelah reboot.
Gunakan ini dengan hemat. Jika Anda memperbarui semua paket, itu akan memakan banyak ruang. Saya juga menemukan bahwa metode ini kadang-kadang bermasalah.
B. Home - Casper masih memasang partisi atau file berlabel aas home-rw
sebagai overlay sapi di / home.
Saya lebih suka ini karena bookmark firefox dan data pribadi saya akan disimpan di seluruh boot dan saya merasa lebih dapat diandalkan.
Persistent home (ganti ke casper-rw untuk persistent /)
# 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
Masukkan home-rw
/ (di direktori root partisi) atau ke flash drive (bukan di sub direktori).
Ketika Anda mem-boot live CD, tekan F6tombol, mereka Esc, tambahkan opsi persistent
ke parameter boot, di depan '-'
quiet splash persistent --
Script boot casper kemudian akan menemukan mount secara otomatis.
Lihat Ubuntu wiki Persistence - Halaman wiki ubuntu hanya membahas casper-rw, tetapi home-rw direferensikan dalam skrip casper dan bekerja dengan cara yang sama, hanya nama yang telah diubah.
Lihat Posting ini di forum Ubuntu untuk melihat screenshot (walaupun dengan opsi yang berbeda).
C. Anda dapat mengaktifkan kegigihan dengan beberapa alat grafis, misalnya unetbootin. Alat grafis (sejauh yang saya tahu) gunakan casper-rw
.
OK, sekarang setelah Anda memahami semua itu, kedua halaman ini akan mulai lebih masuk akal
Ubuntu wiki menyesuaikan live CD
Anda harus ke google. Anda akan menemukan potongan-potongan saran di seluruh internet.
Contoh: Cara mengubah splash screen Live CD
Sekarang setelah Anda memahami semua itu, gunakan skrip Debian Live . Jangan biarkan nama membodohi Anda, skrip ini berfungsi dengan baik pada sistem .deb apa pun, termasuk Mint dan Ubuntu.
Untuk memasang
sudo apt-get install live-build
Ada antarmuka grafis
sudo apt-get install live-magic
Pahami bahwa gui sihir hidup mungkin gagal, sama seperti remasterys dan guis lainnya gagal. Jika demikian, Anda kembali ke skrip live-build (live-magic akan menghasilkan direktori build).
Butuh waktu untuk mempelajari skrip live-build dan tata letak / struktur direktori
Lihat Debian Live Manuel Aye, itu panjang, hanya bekerja melaluinya satu per satu.
Keuntungan dari skrip live-build, setelah Anda memahami komponen-komponen dari live CD, skrip mengotomatiskan 90+% dari build, dan membuat perubahan adalah mengedit sederhana ke file konfigurasi (biasanya) atau kadang-kadang membangun initramfs.
Jika itu terlalu lama untuk Anda, ambil napas dalam-dalam, rileks, dan kerjakan informasi itu satu per satu. Saya berjanji itu akan mulai masuk akal dan Anda akan menemukan waktu yang layak.
Jika Anda mulai dengan set alat lain, kembali ke set alat ini dan setelah beberapa iso Anda akan menghargai set instruksi ini;)
Membangun 12,04 kustom saya, mendukung gma500, hanya 2d (no 3d) di luar kotak (akan membuat iso tersedia untuk umum untuk kerumunan 500 gma dalam beberapa hari ke depan).