Bir manifestten bir Ubuntu ISO oluşturabilir miyim?


Yanıtlar:


22

Filesystem.manifest şu komutla oluşturulur:

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

Sözdizimi böyledir package_name version, Örnek:

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

Biçimi dpkg --get-selectionsbiraz farklıdır,package_name install

Misal

xserver-xorg-video-nouveau  install 

Böylece dosyayı, muhtemelen bir şekilde birden kullanabilirsiniz,

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

Dürüst olmak gerekirse, yıllar içinde birkaç özel iso yaptıktan sonra, nasıl çalıştığına dair bir öğrenme eğrisi vardır. Birkaç şeyi anladıktan sonra, çok zor değil, sadece gerekli bilgi orta derecede büyüktür ve tek bir güncel bilgi kaynağı yoktur.

2 derleme dizini kullanırsınız

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

custom - bu dizin son iso'ya gidecek tüm dosyaları içerir. Kök dosya sistemi, bir çekirdek, bir initramfs ve isolinux içerir.

rootfs - bu dizin canlı CD dosya sistemini içerir ve bu dizini (mksquashfs kullanarak) sıkıştırır ve CD'ye eklersiniz. Bunu debootstrap (sıfırdan canlı D) ile oluşturursunuz veya dosya sistemini ubuntu-desktop.iso'dan çıkarırsınız (canlı bir CD'yi özelleştirir). Ayrıntılar için aşağıdaki ubuntu wiki bağlantılarına bakın.

anahtar noktaları

1) mksquashfs'i anlayın - kök dosya sistemini sıkıştırmak için mksquashfs kullanıncasper/filesystem.squashfs

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

2) isolinux'u anlayın - bu, iso'yu ve CD (önyükleme) menünüzü önyüklenebilir hale getirir. Bkz. Arch Linux Wiki syslinux .

Grub2'yi isolinux'a alternatif olarak kullanabilirsiniz, ancak sonra grub2'nin nasıl çalıştığını anlamanız gerekir;). Çoğu canlı CD hala isolinux kullanıyor.

3) Bir initramf nasıl yapılır. İnitramfs önyükleme için kullanılan ikinci bir dosya sistemidir. Genellikle bir sorunla karşılaştığınızda (özel önyükleme görüntüsü çalışmıyor, çekirdek modülleri yüklenmiyor) ve neden kök dosya sisteminize baktığınızı anlayamıyorsunuz, cevap initramfs'de çok olası.

#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

Daha sonra yeni initrd.lz dosyanızı özel oluşturma dizininize taşırsınız, custom/casper/initrd.lz

4) Casper. Casper ve casper komut dosyaları 3 konumda bulunur ve her üçü de rol oynayabilir. Hepsi bash betikleri ve bir noktada neredeyse kesinlikle onlara bakmak isteyeceksiniz.

Ev sahibi - /usr/share/initramfs-tools/scripts/casper

B. kök dosya sistemi - özel / usr / share / initramfs-tools / scriptler / casper

İnitramfs dosyasında - / scripts dizinine bakın.

Ubuntu man casper'ı görün

5) Kullanıcı arayüzünde / uygulamalarında özelleştirmeler yaparsınız /usr/share, /usr/share/gnome*örneğin, kesin konumlar sürümden farklıdır, /usr/share/gnome-background-properties/ubuntu-wallpapers.xmlsürümler arasında klasik ve oldukça standarttır.

6) Eğer özelleştirmeler yapamıyorsanız /usr/share/, kullanın /etc/skel, işte /etc/skel/.bashrcbir klasik, bu dosya ~ / .bashrc kopyalanır. Firefox veya gnome için ya da ne için değil çeşitli confg dosyaları koyabilirsiniz, ancak / usr / share mümkünse daha iyidir (ayarlarına göre değişir).

7) mkisofs - yapı dizininizi iso'ya dönüştürmek için mkisofs kullanırsınız

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) Kalıcılık. Ubuntu-masaüstü cd ve özel bir cd de dahil olmak üzere birçok canlı CD ile kalıcılığı kullanabilirsiniz, bu casper tarafından uygulanır.

A. root - casper casper-rw, / üzerine inek katmanı olarak etiketlenmiş bir bölüm veya dosya monte eder . Daha sonra bir paket yükler veya bir yapılandırma dosyasını değiştirirseniz, değişiklikler yeniden başlatma sırasında devam eder.

Bunu idareli kullanın. Tüm paketleri güncellerseniz çok yer kaplar. Ayrıca bu yöntemin bazen buggy olduğunu da düşünüyorum.

B. Home - Casper eşiği, aas home-rwüzerine / home üzerine inek bindirmesi olarak etiketlenmiş bir bölüm veya dosya monte eder .

Firefox yer işaretlerim ve özel verilerim botlar arasında korunacağından bunu daha güvenilir buluyorum.

Kalıcı ev (kalıcı / için casper-rw olarak değiştir /

# 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/ (Bölümün kök dizinine) veya flash sürücüye (alt dizine değil) koyun .

Canlı CD'yi başlattığınızda, F6tuşuna basın, onlar '-' önündeki önyükleme parametrelerine Escseçenek eklerpersistent

quiet splash persistent --

Casper önyükleme komut dosyaları daha sonra otomatik olarak bir mount bulur.

Bkz. Ubuntu wiki Persistence - Ubuntu wiki sayfasında yalnızca casper-rw tartışıldı, ancak home-rw, casper komut dosyalarında başvuruluyor ve aynı şekilde çalışıyor, yalnızca ad değiştirildi.

Bkz Bu yazı (her ne kadar farklı seçeneklerle) üzerinden ekran görüntüsü yürüyüşe Ubuntu forumlarında.

C. Kalıcılığı, örneğin unetbootin gibi grafik araçlardan birkaçı ile etkinleştirebilirsiniz. Grafik araçları (bildiğim kadarıyla) kullanır casper-rw.

Tamam, şimdi hepsini anladıktan sonra, bu iki sayfa daha anlamlı olmaya başlayacak

Ubuntu wiki canlı cd sıfırdan

Ubuntu wiki canlı CD özelleştirme

Google

Google'a ihtiyacınız olacak. Tüm internette tavsiye parçaları bulacaksınız.

Örnek: Canlı CD açılış ekranını değiştirme

Debian Live

Tüm bunları anladığınıza göre, Debian Live komut dosyalarını kullanın . Adın sizi aldatmasına izin vermeyin, bu komut dosyaları Mint ve Ubuntu da dahil olmak üzere herhangi bir .deb sisteminde iyi çalışır.

Yüklemek

sudo apt-get install live-build

Bir grafik arayüz var

sudo apt-get install live-magic

Canlı-büyü

Canlı sihirli gui'nin, tıpkı remastersys ve diğer guis'in başarısız olduğu gibi başarısız olabileceğini anlayın. Bu durumda, live-build komut dosyalarına geri dönersiniz (live-magic bir build dizini oluşturur).

Canlı derleme komut dosyalarını ve dizin düzenini / yapısını öğrenmek biraz zaman alır

Debian Live Manuel Aye'ye bakın , uzun, sadece bir iso üzerinde çalışın.

Canlı derleme komut dosyalarının avantajı, canlı CD'nin bileşenlerini anladıktan sonra, komut dosyaları derlemenin% 90+'sini otomatik hale getirir ve değişiklik yapmak bir yapılandırma dosyası (genellikle) veya bazen bir initramfs oluşturmak için basit bir düzenlemedir.

Çok uzun

Bu sizin için çok uzun olsaydı, derin bir nefes alın, rahatlayın ve bilgi bir anda çalışın. Söz veriyorum, bir anlam ifade etmeye başlayacak ve zamanın buna değdiğini göreceksin.

Başka bir araç seti ile başlarsanız, bu araç setine geri dönün ve birkaç isodan sonra bu talimat setini takdir edersiniz;)

Benim özel 12.04 derlemem, gma500'i destekliyor, sadece 2d (3d yok) kutudan çıkar (önümüzdeki birkaç gün içinde iso gma 500 kalabalığına açık olacak).

gma 500


1
Aman. Bu harika bir cevap. Bu gece ne yaptığımı biliyorum.
jrg

Güzel. Bu 40 oy almazsa kimse onları almamalıdır;)
Rinzwind

İlgilenen herkes için bir mühlet hazırlıyorum, ayrıntılar ve indirme için bloguma bakın (Ubuntu Planet'te de vardı). blog.bodhizazen.net/linux/ubuntu-gma500-live-cd
Panther
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.