Ta odpowiedź mówi o manifestach ISO - przykład jest tutaj. .
Czy można zbudować ISO z pliku manifestu, czy też plik manifestu jest po prostu
dpkg --get-selections
umieszczony w pliku tekstowym?
Powiązane, sorta:
Ta odpowiedź mówi o manifestach ISO - przykład jest tutaj. .
Czy można zbudować ISO z pliku manifestu, czy też plik manifestu jest po prostu
dpkg --get-selections
umieszczony w pliku tekstowym?
Powiązane, sorta:
Odpowiedzi:
Plik system.manifest jest generowany za pomocą polecenia:
dpkg-query -W --showformat='${Package} ${Version}\n' > casper/filesystem.manifest
Składnia jest więc następująca package_name version
:
xserver-xorg-video-nouveau 1:0.0.16+git20110411+8378443-1
Format dpkg --get-selections
jest nieco inny,package_name install
Przykład
xserver-xorg-video-nouveau install
Możesz więc użyć pliku, prawdopodobnie na więcej niż jeden sposób,
apt-get install -y $(awk '{print $1}' filesystem.manifest)
Szczerze mówiąc, po zrobieniu kilku niestandardowych ISO przez lata, istnieje krzywa uczenia się, jak to działa. Gdy zrozumiesz kilka rzeczy, nie jest to zbyt trudne, wystarczy, że wymagana wiedza jest umiarkowanie duża i nie ma jednego, aktualnego źródła informacji.
Używasz 2 katalogów kompilacji
~/custom - build directory for the iso
~/rootfs - build directory for the root file system.
niestandardowy - ten katalog zawiera wszystkie pliki, które przejdą do końcowej wersji ISO. Zawiera główny system plików, jądro, initramfs i isolinux.
rootfs - ten katalog zawiera system plików CD na żywo. Kompresujesz ten katalog (używając mksquashfs) i umieszczasz go na CD. Możesz zbudować to za pomocą debootstrap (live D od zera) lub wypakować system plików z ubuntu-desktop.iso (dostosuj live CD). Szczegółowe informacje znajdują się poniżej w linkach wiki ubuntu.
1) Zrozum mksquashfs - używasz mksquashfs do kompresji głównego systemu plikówcasper/filesystem.squashfs
sudo mksquashfs /home/bodhi/rootfs custom/casper/filesystem.squashfs
2) Zrozumieć izolinux - powoduje to uruchomienie systemu ISO, a także menu CD (rozruchu). Zobacz Arch Linux Wiki syslinux .
Możesz użyć grub2 jako alternatywy dla isolinux, ale wtedy musisz zrozumieć, jak działa grub2;). Większość płyt CD na żywo nadal korzysta z izolinux.
3) Jak zrobić initramfs. Initramfs to drugi system plików, używany do rozruchu. Często, gdy masz problem (niestandardowy obraz rozruchowy nie działa, moduły jądra nie ładują się) i nie możesz zrozumieć, dlaczego patrzysz na główny system plików, odpowiedź jest bardzo prawdopodobna w 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
Następnie przenieś swój nowy plik initrd.lz do niestandardowego katalogu kompilacji, custom/casper/initrd.lz
4) Casper. Casper, a skrypty Casper znajdują się w 3 lokalizacjach, a wszystkie 3 mogą odgrywać pewną rolę. Wszystkie są skryptami bashowymi i w pewnym momencie prawie na pewno będziesz chciał je przejrzeć.
Gospodarz - /usr/share/initramfs-tools/scripts/casper
B. główny system plików - custom / usr / share / initramfs-tools / scripts / casper
C. w initramfs - patrz katalog / scripts.
Zobacz Casper Man Ubuntu
5) Dostosowujesz interfejs użytkownika / aplikacje /usr/share
, /usr/share/gnome*
na przykład, dokładne lokalizacje różnią się w zależności od wersji, /usr/share/gnome-background-properties/ubuntu-wallpapers.xml
jest to klasyczny i dość standardowy we wszystkich wersjach.
6) Jeśli nie możesz dokonać dostosowań /usr/share/
, użyj /etc/skel
, oto /etc/skel/.bashrc
klasyczny przykład, że plik jest kopiowany do ~ / .bashrc. Możesz umieścić tam różne pliki confg, dla firefoxa lub gnome'a, ale nie, ale / usr / share jest lepszy, jeśli w ogóle jest to możliwe (zależy od ustawienia).
7) mkisofs - używasz mkisofs do konwersji katalogu kompilacji na 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) Trwałość. Trwałości można używać z wieloma płytami CD na żywo, w tym z płytą CD z Ubuntu i niestandardową płytą CD, jest to realizowane przez casper.
A. root - casper zamontuje partycję lub plik oznaczony jako casper-rw
nakładka krowy na /. Jeśli następnie zainstalujesz pakiet lub zmodyfikujesz plik konfiguracyjny, zmiany zostaną zachowane po ponownym uruchomieniu.
Używaj tego oszczędnie. Jeśli zaktualizujesz wszystkie pakiety, zajmie to dużo miejsca. Uważam również, że ta metoda jest czasami błędna.
B. Strona główna - Casper Sill montuje partycję lub plik oznaczony AAS home-rw
jako krowa nakładka na / Home.
Wolę to, ponieważ moje zakładki Firefox i prywatne dane zostaną zachowane w obu butach i uważam je za bardziej niezawodne.
Trwały dom (zmiana na casper-rw na trwały /)
# 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
Umieść home-rw
w / (w katalogu głównym partycji) lub na dysku flash (nie w podkatalogu).
Podczas uruchamiania płyty CD na żywo naciśnij F6klawisz, a oni Escdodają opcję persistent
do parametrów rozruchu przed „-”
quiet splash persistent --
Skrypty rozruchowe Caspera automatycznie znajdą to zamontowanie.
Zobacz Trwałość Ubuntu wiki - strona wiki Ubuntu omawiała tylko casper-rw, ale skrypty caspera odwołują się do home-rw i działa w ten sam sposób, tylko nazwa została zmieniona.
Zobacz ten post na forach Ubuntu, aby zobaczyć zrzut ekranu (choć z różnymi opcjami).
C. Możesz włączyć trwałość za pomocą kilku narzędzi graficznych, na przykład unetbootin. O ile wiem, używają narzędzi graficznych casper-rw
.
OK, teraz kiedy to wszystko zrozumiesz, te dwie strony zaczną mieć więcej sensu
Ubuntu wiki dostosowuje live CD
Musisz google. Fragmenty porad znajdziesz w Internecie.
Przykład: Jak zmienić ekran powitalny Live CD
Teraz, gdy to wszystko rozumiesz, użyj skryptów Live Debiana . Nie daj się zwieść nazwie, skrypty te działają dobrze na dowolnym systemie .deb, w tym Mint i Ubuntu.
Żeby zainstalować
sudo apt-get install live-build
Istnieje interfejs graficzny
sudo apt-get install live-magic
Zrozum, że gui magii na żywo mogą zawieść, tak jak zawodzą remastersys i inne gui. W takim przypadku wracasz do skryptów kompilacji na żywo (live-magic wygeneruje katalog kompilacji).
Nauka skryptów kompilacji na żywo i układu / struktury katalogów zajmuje trochę czasu
Zobacz Debiana Live Manuel Aye, jest długi, po prostu przepracuj go pojedynczo.
Zaletą skryptów kompilacji na żywo, gdy zrozumiesz komponenty live CD, skrypty zautomatyzują ponad 90% kompilacji, a dokonanie zmiany jest prostą edycją pliku konfiguracyjnego (zwykle) lub czasem budowaniem initramfs.
Jeśli to było dla ciebie za długo, weź głęboki oddech, zrelaksuj się i popracuj nad informacjami pojedynczo. Obiecuję, że zacznie to mieć sens, a przekonasz się, że czas jest tego wart.
Jeśli zaczniesz od innego zestawu narzędzi, wróć do tego zestawu narzędzi i po kilku iso docenisz ten zestaw instrukcji;)
Moja niestandardowa kompilacja 12.04, obsługuje tylko gma500, 2d (bez 3d) po wyjęciu z pudełka (w ciągu kilku dni udostępni publicznie iso publiczności gma 500).