IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Passos a seguir per crear una ISO d'Ubuntu a mida

Extracció de la ISO original

  • El primer que hem de fer és descarregar-nos la ISO de l'Ubuntu que volem modificar. En el meu cas, he utilitzat la ISO del ubuntu-11.04-alternate-i386.
  • A continuació, hem de crear una carpeta amb la següent comanda:
$ sudo mkdir ubuntualternate/
  • El següent pas és extraure la nostra ISO en la carpeta que hem creat al pas anterior amb la comanda:
$ sudo mount -o loop ubuntu-11.04-alternate-i386.iso ubuntualternate/
  • Per finalitzar, copiem el contingut d'aquesta carpeta a una altra per tal de poder modificar-ne els arxius:
$ rsync -av ubuntualternate/ ubuntualternatecustom

Modificació de l'arxiu txt.cfg

  • Modifiquem el següent arxiu:
$ sudo gedit ubuntualternatecustom/isolinux/txt.cfg
  • El deixem així (en negreta, les línies que he afegit):
  default custominstall
label custominstall
  menu label Install ^Ubuntu Alternate Joel
  kernel /install/vmlinuz
  append  file=/cdrom/preseed/custom.seed vga=788 initrd=/install/initrd.gz language=ca country=ES locale=ca_ES.UTF-8 priority=critical -- 
label install
  menu label ^Install Ubuntu
  kernel /install/vmlinuz
  append  file=/cdrom/preseed/ubuntu.seed vga=788 initrd=/install/initrd.gz quiet --
label check
  menu label ^Check disc for defects
  kernel /install/vmlinuz
  append  MENU=/bin/cdrom-checker-menu vga=788 initrd=/install/initrd.gz quiet --
label memtest
  menu label Test ^memory
  kernel /install/mt86plus
label hd
  menu label ^Boot from first hard disk
  localboot 0x80

Instal·lació del sistema operatiu

  • A continuació, hem d'instal·lar el sistema operatiu per tal de respondre a les preguntes que després automatitzarem.
  • Iniciem la màquina virtual amb la ISO i un cop ens mostra la pantalla de benvinguda, premem F6 i afegim la següent línia:
$ DEBOCNF_DEBUG=5 priority=critical
  • Tot seguit anem instal·lant el sistema operatiu com faríem normalment, i un cop hem acabat la instal·lació, anem a l'arxiu /var/log/syslog per veure les preguntes que hem contestat durant la instal·lació.
  • Seguidament, obrim una terminal a la màquina virtual i instal·lem el següent paquet:
$ sudo apt-get install debconf-utils
  • Un cop instal·lat, introduïm la següent comanda al terminal:
$ sudo debconf-get-selections --installer > [nom fitxer]
  • Amb aquesta comanda, el que fem és guardar un fitxer amb les respostes que hem anat donant durant la instal·lació. El que hem de fer és buscar les preguntes a l'arxiu syslog i mirar les corresponents respostes a l'arxiu que hem creat.
  • Llista de preguntes que he contestat:
idioma: INPUT critical localechooser/languagelist /// 0 question will be asked /// GO
ubicació: INPUT critical localechooser/shortlist /// 0 question will be asked /// GO
particionament: INPUT critical partman-auto/init_automatically_partition /// 0 question will be asked /// GO
seleccionar disc per partir: INPUT critical partman-auto/select_disk /// 0 question will be asked /// GO
particionar disc seleccionat: INPUT critical partman/confirm_nooverwrite /// 0 question will be asked /// GO
nom llarg usuari: INPUT critical passwd/user-fullname /// 0 question will be asked /// GO
nom usuari: INPUT critical passwd/username /// 0 question will be asked /// GO
contrasenya: INPUT critical passwd/user-password /// 0 question will be asked /// INPUT critical passwd/user-password-again /// 0 question will be asked /// GO
contrasenya feble: INPUT critical user-setup/password-weak /// 0 question will be asked /// GO
finalitzar instal·lació: INPUT critical finish-install/reboot_in_progress /// 0 question will be asked /// GO

Modificació de l'arxiu custom.seed

  • Quan tinguem les preguntes i les respostes corresponents, posem aquestes respostes a l'arxiu custom.seed de ubuntualternatecustom/preseed juntament amb les preguntes ja contestades que trobem a l'arxiu ubuntu.seed del mateix directori. Hem de tenir en compte que la contrasenya es troba encriptada al directori /etc/shadow.
  • Quan hem modificat l'arxiu txt.cfg, hem indicat que durant la instal·lació del sistema operatiu, l'instal·lador buscarà la configuració a l'arxiu custom.seed.

Arxiu custom.seed

Arxiu txt.cfg

Muntant la ISO modificada

  • Un cop tinguem els arxius correctament configurats, és el moment de muntar la ISO. Per tal de fer-ho, hem d'utilitzar la següent comanda:
$ sudo /usr/bin/mkisofs -input-charset utf8 -joliet-long -r -V "ubuntualternatecustom" -cache-inodes -J -l -b isolinux/isolinux.bin -c \
isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table \ 
-o /home/joel/Escriptori/ubuntu_a_mida.iso /home/joel/Baixades/ubuntualternatecustom/
  • Un cop tinguem la ISO muntada, ja podem iniciar una nova màquina virtual i comprovar que el sistema operatiu s'instal·la correctament sense fer-nos cap pregunta.