Questa risposta parla dei manifest ISO - un esempio è qui. .
È possibile creare un ISO da un file manifest o il file manifest è appena
dpkg --get-selections
inserito in un file di testo?
Correlati, sorta:
Questa risposta parla dei manifest ISO - un esempio è qui. .
È possibile creare un ISO da un file manifest o il file manifest è appena
dpkg --get-selections
inserito in un file di testo?
Correlati, sorta:
Risposte:
Filesystem.manifest viene generato con il comando:
dpkg-query -W --showformat='${Package} ${Version}\n' > casper/filesystem.manifest
La sintassi è quindi package_name version
, Esempio:
xserver-xorg-video-nouveau 1:0.0.16+git20110411+8378443-1
Il formato di dpkg --get-selections
è leggermente diverso,package_name install
Esempio
xserver-xorg-video-nouveau install
Quindi puoi usare il file, probabilmente in più di un modo,
apt-get install -y $(awk '{print $1}' filesystem.manifest)
Ad essere onesti, dopo aver realizzato alcuni iso personalizzati nel corso degli anni, c'è una curva di apprendimento su come funziona. Una volta comprese alcune cose, non è troppo difficile, è solo la conoscenza necessaria è moderatamente grande e non esiste un'unica fonte di informazioni aggiornata.
Si utilizzano 2 directory di build
~/custom - build directory for the iso
~/rootfs - build directory for the root file system.
personalizzato : questa directory contiene tutti i file che andranno all'iso finale. Contiene il file system di root, un kernel, un initramfs e isolinux.
rootfs : questa directory contiene il file system del CD live e comprimi questa directory (usando mksquashfs) e la includi sul CD. Puoi crearlo con debootstrap (live D da zero) o estrarre il file system da ubuntu-desktop.iso (personalizzare un CD live). Vedi i collegamenti wiki ubuntu qui sotto per i dettagli.
1) Comprendi mksquashfs: usi mksquashfs per comprimere il file system radicecasper/filesystem.squashfs
sudo mksquashfs /home/bodhi/rootfs custom/casper/filesystem.squashfs
2) Comprendere isolinux - questo rende l'avvio iso, così come il menu del tuo CD (avvio). Vedi Arch Linux Wiki syslinux .
Puoi usare grub2 come alternativa a isolinux, ma dovrai capire come funziona grub2;). La maggior parte dei CD live utilizza ancora isolinux.
3) Come creare un initramfs. Initramfs è un secondo file system, utilizzato per l'avvio. Spesso quando si riscontra un problema (l'immagine di avvio personalizzata non funziona, i moduli del kernel non vengono caricati) e non si capisce il motivo per cui guardando il proprio file system di root, la risposta è molto probabile in 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
Sposta quindi il tuo nuovo initrd.lz nella tua directory di build personalizzata, custom/casper/initrd.lz
4) casper. Casper e gli script casper si trovano in 3 posizioni e tutti e 3 possono svolgere un ruolo. Sono tutti script bash e ad un certo punto vorrai quasi sicuramente guardarli.
Un ospite - /usr/share/initramfs-tools/scripts/casper
B. file system root: personalizzato / usr / share / initramfs-tools / scripts / casper
C. in initramfs - Vedi la directory / scripts.
Vedi Ubuntu man casper
5) Puoi personalizzare l'interfaccia utente / le applicazioni /usr/share
, /usr/share/gnome*
ad esempio, le posizioni esatte variano con il rilascio, /usr/share/gnome-background-properties/ubuntu-wallpapers.xml
è un classico e abbastanza standard tra le versioni.
6) Se non è possibile effettuare personalizzazioni /usr/share/
, utilizzare /etc/skel
, ecco /etc/skel/.bashrc
un classico, quel file viene copiato in ~ / .bashrc. Puoi mettere lì vari file di configurazione, per firefox o gnome o no, ma / usr / share è meglio se possibile (varia in base all'impostazione).
7) mkisofs - usi mkisofs per convertire la tua directory di build in un 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) Persistenza. Puoi usare la persistenza con molti CD live, incluso il cd desktop Ubuntu e un cd personalizzato, questo è implementato da casper.
A. root - casper monterà una partizione o un file etichettato come casper-rw
overlay di mucca su /. Se quindi si installa un pacchetto o si modifica un file di configurazione, le modifiche persistono al riavvio.
Usa questo con parsimonia. Se aggiorni tutti i pacchetti, ci vorrà molto spazio. Trovo anche che questo metodo a volte sia difettoso.
B. Home: il davanzale del casper monta una partizione o un file etichettato home-rw
come un overlay di vacca su / home.
Preferisco questo dato che i miei segnalibri di Firefox e i dati privati verranno conservati su tutti gli stivali e lo trovo più affidabile.
Casa persistente (cambia in casper-rw per un persistente /)
# 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
Inserisci home-rw
/ (nella directory principale di una partizione) o su un'unità flash (non in una directory secondaria).
Quando si avvia il CD live, premere il F6tasto, essi Esc, aggiungono l'opzione persistent
ai parametri di avvio, davanti al '-'
quiet splash persistent --
Gli script di avvio casper troveranno quindi un mount automaticamente.
Vedi Ubuntu wiki Persistence - La pagina wiki di Ubuntu parlava solo di casper-rw, ma home-rw è referenziata negli script casper e funziona allo stesso modo, solo il nome è stato cambiato.
Vedi questo post sui forum di Ubuntu per una schermata (anche se con opzioni diverse).
C. È possibile abilitare la persistenza con diversi strumenti grafici, ad esempio unetbootin. Gli strumenti grafici (per quanto ne so) usano casper-rw
.
OK, ora una volta capito tutto ciò, queste due pagine inizieranno ad avere più senso
Ubuntu wiki personalizza il CD live
Dovrai google. Troverai frammenti di consigli su Internet.
Esempio: come cambiare la schermata iniziale di Live CD
Ora che hai capito tutto, usa gli script Debian Live . Non lasciarti ingannare dal nome, questi script funzionano perfettamente su qualsiasi sistema .deb, inclusi Mint e Ubuntu.
Installare
sudo apt-get install live-build
C'è un'interfaccia grafica
sudo apt-get install live-magic
Comprendi che la GUI live-magic potrebbe fallire, proprio come falliscono i remaster e le altre GUI. In tal caso, si torna agli script live-build (live-magic genererà una directory di build).
Ci vuole un po 'di tempo per imparare gli script di live-build e il layout / la struttura delle directory
Guarda il Debian Live Manuel Aye, è lungo, basta lavorarci un iso alla volta.
Il vantaggio degli script live-build, una volta compresi i componenti di un CD live, gli script automatizzano il 90+% della build e apportare una modifica è una semplice modifica di un file di configurazione (di solito) o talvolta la creazione di un initramfs.
Se è stato troppo lungo per te, fai un respiro profondo, rilassati e lavora all'informazione una parte alla volta. Prometto che inizierà a dare un senso e scoprirai che ne vale la pena.
Se inizi con un altro set di strumenti, torna a questo set di strumenti e dopo alcuni istanti apprezzerai questo set di istruzioni;)
La mia build personalizzata 12.04, supporta gma500, solo 2d (no 3d) pronto all'uso (renderà l'iso disponibile pubblicamente alla folla di gma 500 nei prossimi giorni).