Progetto

Generale

Profilo

SargeCustomInstaller » Cronologia » Versione 8

Versione 7 (Amministratore Truelite, 12-03-2008 18:37) → Versione 8/10 (Amministratore Truelite, 12-03-2008 18:38)

[[TracNav(TOC)]] 
 == Creare un installer personalizzato per Fuss/Soledad == 

 Di seguito le istruzioni per modificare l'installer di fuss/soledad creando un cd bootabile con kernel 2.6.16 per il nuovo hardware non supportato dal kernel 2.6.8 debian. 

 I comandi elencati andranno lanciati con i privilegi dell'utente ''root''. 

 Si assume che il nuovo kernel da installare (2.6.15) sia già stato preparato ed impacchettato in formato .deb 

 Inizialmente va estratta la iso originale di fuss in una directory di lavoro temporanea: 
 {{{ 
 mount -o loop fuss.iso /mnt 
 mkdir fuss-installer 
 rsync -avH /mnt fuss-installer/ 
 umount /mnt 
 }}} 

 L'immagine ISO con il nuovo kernel è prelevabile da [http://kmuto.jp/debian/d-i/2.6.16/sarge-custom-0801.iso qui]. 
 Va quindi scaricata con il comando: 

 {{{  
 wget http://kmuto.jp/debian/d-i/2.6.16/sarge-custom-0801.iso 
 }}} 

 Una volta terminato il download, l'immafine ISO va montata in loop per procedere alla copia di alcuni file che andranno a sovrascrivere quelli vecchi, il primo passo è quello di montare su una directory opportuna, ad esempio {{{/mnt}}}: 
 {{{ 
 mount -o loop sarge-custom-0801.iso /mnt 
 }}} 

 A questo punto si potrà iniziare a copiare i vari file che servono, si iniza con l'immagine del kernel e del ramdisk per l'avvio: 
 {{{ 
 cp -a /mnt/install/2.6/vmlinuz fuss-installer/install/2.6/vmlinuz 
 cp -a /mnt/install/2.6/initrd.gz fuss-installer/install/2.6/initrd.gz 
 rm -rf fuss-install/isolinux/boot.cat 
 cd /mnt/pool/main 
 }}} 
 poi occorre copiare i pacchetti {{{.udeb}}} necessari per l'installazione, con: 
 {{{ 
 cp -a acpi-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 cdrom-core-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 cdrom-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 crc-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 crypto-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 ext3-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 fat-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 fb-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 firewire-core-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 firmware-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 floppy-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 ide-core-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 ide-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 input-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 ipv6-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 irda-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 jfs-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 libparted1.7-udeb_1.7.1-2.1mtu1_i386.udeb \ 
 loop-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 md-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 mouse-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 nic-extra-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 nic-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 nic-pcmcia-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 nic-shared-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 nic-usb-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 ntfs-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 parport-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 partman-auto-lvm_13_all.udeb \ 
 partman-auto_54_i386.udeb \ 
 partman-base_92_i386.udeb \ 
 partman-basicfilesystems_48_all.udeb \ 
 partman-basicmethods_31_all.udeb \ 
 partman-crypto_8_i386.udeb \ 
 partman-ext3_41_all.udeb \ 
 partman-jfs_17_all.udeb \ 
 partman-lvm_45_all.udeb \ 
 partman-md_29_all.udeb \ 
 partman-partitioning_40_i386.udeb \ 
 partman-reiserfs_31_all.udeb \ 
 partman-target_43_all.udeb \ 
 partman-xfs_29_all.udeb \ 
 pcmcia-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 pcmcia-storage-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 plip-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 ppp-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 qnx4-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 reiserfs-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 sata-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 scsi-common-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 scsi-core-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 scsi-extra-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 scsi-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 serial-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 ufs-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 usb-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 usb-serial-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 usb-storage-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 xfs-modules-2.6.16-2-486-di_1.02.sarge.mtu2_i386.udeb \ 
 /fuss-installer/pool/main 
 }}} 
 infine si può cancellare quanto non serve più ed installare il pacchetto del nuovo kernel: 
 {{{ 
 

 cd - 
 rm -rf fuss-installer/pool/main/l/linux-kernel-di-i386-2.6/* 
 rm -rf fuss-installer/pool/main/k/kernel-image-2.6.8-i386/ 

 cp kernel-image-2.6.15fuss2_26_i386.deb fuss-installer/pool/main/ 
 }}} 

 A questo punto sono stati copiati i file necessari al boot con il nuovo kernel ed i relativi moduli, nonchè delle librerie aggiuntive necessarie al debian-installer per gestire il kernel 2.6.16, udev ed il partizionamento dei dischi; inoltre sono stati eliminati i file utilizzati dal kernel 2.6.8. 

 Il passo successivo è la generazione dei file Packages e Release per l'archivio debian. Per tale scopo verranno usati i comandi ''apt-ftparchive'' e ''dpkg-scanpackages''. 
 {{{ 
 cd fuss-installer 
 dpkg-scanpackages -u pool/main /dev/null > dists/soledad/main/debian-installer/binary-i386/Packages 
 cat dists/soledad/main/debian-installer/binary-i386/Packages | gzip    > dists/soledad/main/debian-installer/binary-i386/Packages.gz 

 dpkg-scanpackages pool/main /dev/null > dists/soledad/main/binary-i386/Packages 
 dpkg-scanpackages pool/main /dev/null | gzip > dists/soledad/main/binary-i386/Packages.gz 

 cd dists/soledad 
 apt-ftparchive release . > Release 
 }}} 

 L'ultimo passo prima della generazione della nuova iso è la modifica del file di configurazione di isolinux, quindi va aperto con un editor il file ''fuss-installer/isolinux/isolinux.cfg'' che dovrà avere questa sintassi: 
 {{{ 
 DEFAULT linux 
 PROMPT 1 

 LABEL linux 
 KERNEL /install/2.6/vmlinuz 
 APPEND initrd=/install/2.6/initrd.gz ramdisk_size=16384 root=/dev/ram rw 
 TIMEOUT 0 

 DISPLAY isolinux.txt 
 F1 f1.txt 
 F2 f2.txt 
 F3 f3.txt 
 F4 f4.txt 
 F5 f5.txt 
 F6 f6.txt 
 F7 f7.txt 
 F8 f8.txt 
 F9 f9.txt 
 F0 f10.txt 
 }}} 

 Va quindi generata la iso con il comando: 
 {{{ 
 mkisofs -o fuss-2.6.16-new.iso -r -J -no-emul-boot -boot-load-size 4 -boot-info-table -b isolinux/isolinux.bin -c isolinux/boot.cat -V "Fuss Soledad" fuss-installer 
 }}}