diumenge, 1 de març del 2009

OpenSUSE: Creació avançada d'un LiveUSB

  Com crear i personalitzar un LiveUSB basat en GNU/Linux OpenSUSE. Des de la línea de comandes. En l'exemple es prepara un llàpiç d'1GB.


Instal·lar software necessari:
su
zypper ar http://download.opensuse.org/repositories/openSUSE:/Tools/openSUSE_11.1 openSUSE:Tools
zypper ar http://download.opensuse.org/repositories/home:/cyberorg:/kiwi/openSUSE_11.1 home:cyberorg:kiwi
zypper refresh
zypper up
zypper in kiwi kiwi-config-openSUSE yast2-product-creator kiwi-desc-isoboot kiwi-desc-usbboot kiwi-desc-netboot kiwi-instsource kiwi-doc squashfs createrepo
zypper up -t package -r openSUSE:Tools

Crear un configuració base


Copiar una configuració base:
cp -R /usr/share/doc/packages/kiwi/examples/suse-11.1/suse-live-stick $HOME


Personalitzar la imatge


L'arxiu que conté la configuració de la imatge es troba a:
$HOME/suse-live-stick/config.xml.

Per personalitzar la vostra live editeu-lo. A continuació es detallarà la seva organització (seccions), així com els seu paràmetres.

Es tracta d'un arxiu XML i està organitzat en seccions:
  1. <description type="system"> descripció general de la imatge (creador, correu, ...)
  2. <preferences> preferéncies generals de la imatge (gestor de paquets, localització, ...)
  3. <repository type="yast2"> Especificació del repositori, es a dir, d'on s'agafaran els paquets
  4. <packages type="image"> Paquets o grup de paquets a instal·lar.
  5. <packages type="bootstrap"> Tipus d'arranc de la imatge
<?xml version="1.0"?>
<image schemeversion="2.4" name="suse-11.1-live-stick">
<description type="system">
<author>Marcus Schäfer</author>
<contact>ms@novell.com</contact>
<specification>openSUSE 11.1 live stick system 1GB</specification>
</description>
<preferences>
<type filesystem="squashfs" boot="usbboot/suse-11.1">usb</type>
<type filesystem="squashfs" boot="oemboot/suse-11.1">oem</type>
<type filesystem="squashfs" boot="vmxboot/suse-11.1">vmx</type>
<version>1.1.2</version>
<packagemanager>zypper</packagemanager>
<rpm-check-signatures>False</rpm-check-signatures>
<rpm-force>True</rpm-force>
<rpm-excludedocs>True</rpm-excludedocs>
<oem-swap>no</oem-swap>
<oem-kiwi-initrd>yes</oem-kiwi-initrd>
<oem-boot-title>USB</oem-boot-title>
<locale>en_US.UTF-8</locale>
<keytable>de-latin1-nodeadkeys.map.gz</keytable>
<timezone>Europe/Berlin</timezone>
</preferences>
<users group="users">
<user pwd="$1$wYJUgpM5$RXMMeASDc035eX.NbYWFl0" home="/home/tux" name="tux"/>
</users>
<users group="root">
<user pwd="$1$wYJUgpM5$RXMMeASDc035eX.NbYWFl0" home="/root" name="root"/>
</users>
<repository type="yast2">
<!--<source path="/image/CDs/full-11.1-i386"/>-->
<source path="opensuse://11.1/repo/oss/"/>
</repository>
<packages type="image" patternType="plusRecommended">
<package name="kernel-default"/>
<package name="bootsplash"/>
<package name="bootsplash-branding-openSUSE"/>
<package name="yast2-firstboot"/>
<package name="ifplugd"/>
<package name="vim"/>
<opensusePattern name="base"/>
<opensusePattern name="kde4"/>
</packages>
<packages type="bootstrap">
<package name="filesystem"/> 
<package name="glibc-locale"/>
</packages>
<packages type="delete">
<package name="MozillaFirefox"/>
<package name="OpenOffice_org-branding-openSUSE"/>
<package name="OpenOffice_org-templates-labels-a4"/>
<package name="OpenOffice_org-calc"/>
<package name="OpenOffice_org-thesaurus-en"/>
<package name="OpenOffice_org-pyuno"/>
<package name="OpenOffice_org-templates-presentation-layouts"/>
<package name="OpenOffice_org-icon-themes"/>
<package name="OpenOffice_org-writer"/>
<package name="OpenOffice_org-impress"/>
<package name="OpenOffice_org-Quickstarter"/>
<package name="OpenOffice_org-filters"/>
<package name="OpenOffice_org-templates-labels-letter"/>
<package name="OpenOffice_org-kde"/>
<package name="OpenOffice_org-base"/>
<package name="OpenOffice_org-mailmerge"/>
<package name="OpenOffice_org-hyphen"/>
<package name="OpenOffice_org-math"/>
<package name="OpenOffice_org-templates-en"/>
<package name="OpenOffice_org"/>
<package name="OpenOffice_org-draw"/>
<package name="OpenOffice_org-ure"/>
<package name="OpenOffice_org-l10n-extras"/>
<package name="OpenOffice_org-writer-extensions"/>
<package name="OpenOffice_org-components"/>
<package name="OpenOffice_org-base-extensions"/>
<package name="OpenOffice_org-filters-optional"/>
<package name="OpenOffice_org-converter"/>
<package name="OpenOffice_org-libs-extern"/>
<package name="OpenOffice_org-libs-gui"/>
<package name="OpenOffice_org-libs-core"/>
<package name="OpenOffice_org-draw-extensions"/>
<package name="OpenOffice_org-calc-extensions"/>
<package name="OpenOffice_org-help-en-US"/>
<package name="OpenOffice_org-impress-extensions"/>
<package name="kdegames4-carddecks-other"/>
<package name="kdegames4-carddecks-default"/>
<package name="libkdegames4"/>
<package name="kde4-ksudoku"/>
<package name="kde4-kreversi"/>
<package name="kde4-kpat"/>
<package name="kde4-kmines"/>
<package name="kde4-kmahjongg"/>
<package name="koffice"/>
<package name="koffice-illustration"/>
<package name="MozillaFirefox-branding-openSUSE"/>
</packages>
</image>

<description type="system">


Nom de l'autor (es pot modificar):
<author>Robert Buj</author>

Correu de contacte (es pot modificar):
<contact>robert@correu.cat</contact>

Descripció de la imatge (es pot modificar):
<specification>openSUSE 11.1 SSOO per a tothom</specification>

<preferences>


Tipus (no modificar)
<type filesystem="squashfs" boot="usbboot/suse-11.1">usb</type>
<type filesystem="squashfs" boot="oemboot/suse-11.1">oem</type>
<type filesystem="squashfs" boot="vmxboot/suse-11.1">vmx</type>

Versió de la imatge (es pot modificar)
<version>1.1.2</version>

Gestor de paquets (no cal modificar)
<packagemanager>zypper</packagemanager>

Signat de paquets (no cal modificar)
<rpm-check-signatures>False</rpm-check-signatures>

Froçar paquets (no cal modificar)
<rpm-force>True</rpm-force>

No afegir la documentació (no cal modificar)
<rpm-excludedocs>True</rpm-excludedocs>

No utilitzar memòria d'intercanvi (no cal modificar)
<oem-swap>no</oem-swap>

Arranc:
<oem-kiwi-initrd>yes</oem-kiwi-initrd>
<oem-boot-title>USB</oem-boot-title>

Localització (es pot modificar)
<locale>ca_ES.UTF-8</locale>

Idioma del teclat (es pot modificar)
<keytable>es.map.gz</keytable>

Zona horària (es pot modificar)
<timezone>Europe/Madrid</timezone>

<repository type="yast2">


Podem utilitzar dos opcions a l'hora d'especificar el repositori:
  • Repositori des d'internet (trieu-ne només una):
    <source path="http://download.opensuse.org/distribution/11.1/repo/oss/"/>
  • Repositori utilitzant un DVD d'instal·lació:
    Necessitaràs descarregar la imatge DVD d'instal·lació per a la teva plataforma de http://software.opensuse.org/.
    un cop ja tinguis la imatge s'haurà de montar, pex:
    $ sudo mkdir /mnt/11.1
    $ mount -o loop openSUSE-11.1-DVD-i586.iso /mnt/11.1

    config.xml:
    <source path="/mnt/11.1"/>

<packages type="image">


Grups de paquets


S'especifica mitjançant l'adició d'una línia entre <packages type="image"> i </packages>
Exemple:
<packages type="image">
...
<opensusePattern name="base"/>
...
</packages>

És molt recomanable que hi hagin els grups de paquets:
<opensusePattern name="base"/>
<opensusePattern name="console"/>

Grups de paquets (patterns) de opensuse 11.1:
  • apparmor
  • apparmor_opt
  • base
  • console
  • default
  • devel_C_C++
  • devel_basis
  • devel_gnome
  • devel_ide
  • devel_java
  • devel_kde
  • devel_kernel
  • devel_mono
  • devel_perl
  • devel_python
  • devel_qt4
  • devel_rpm_build
  • devel_ruby
  • devel_tcl
  • devel_web
  • dhcp_dns_server
  • directory_server
  • enhanced_base
  • enhanced_base_opt
  • file_server
  • fonts
  • fonts_opt
  • games
  • games_opt
  • gateway_server
  • gnome
  • gnome_admin
  • gnome_basis
  • gnome_basis_opt
  • gnome_games
  • gnome_ide
  • gnome_imaging
  • gnome_imaging_opt
  • gnome_internet
  • gnome_laptop
  • gnome_multimedia
  • gnome_multimedia_opt
  • gnome_office
  • gnome_office_opt
  • gnome_utilities
  • gnome_utilities_opt
  • gnome_xgl
  • gnome_yast
  • imaging
  • imaging_opt
  • kde
  • kde3
  • kde3_basis
  • kde3_basis_opt
  • kde3_games
  • kde3_ide
  • kde3_imaging
  • kde3_imaging_opt
  • kde3_internet
  • kde3_laptop
  • kde3_multimedia
  • kde3_office
  • kde3_office_opt
  • kde3_utilities
  • kde3_utilities_opt
  • kde3_xgl
  • kde3_yast
  • kde4
  • kde4_basis
  • kde4_basis_opt
  • kde4_games
  • kde4_ide
  • kde4_imaging
  • kde4_imaging_opt
  • kde4_internet
  • kde4_laptop
  • kde4_multimedia
  • kde4_office
  • kde4_office_opt
  • kde4_utilities
  • kde4_utilities_opt
  • kde4_xgl
  • kde4_yast
  • lamp_server
  • laptop
  • mail_server
  • misc_server
  • multimedia
  • multimedia_opt
  • network_admin
  • non_oss
  • office
  • office_opt
  • print_server
  • remote_desktop
  • sw_management
  • sw_management_gnome
  • sw_management_kde3
  • sw_management_kde4
  • tabletpc
  • technical_writing
  • x11
  • x11_opt
  • x11_yast
  • xen_server
  • xfce
  • xfce_office
  • xgl
  • yast2_basis
  • yast2_install_wf

Podeu veure els grups de paquets actuals a http://en.opensuse.org/Patterns

Paquets concrets


Podeu afegir paquets indidualment, exemples recomanats:
<package name="ifplugd"/>
<package name="vim"/>

Si voleu arrang gràfic afegiu les línies
<package name="bootsplash"/>
<package name="bootsplash-branding-openSUSE"/>

Crear LiveUSB


su
export ZYPP_LOGFILE=/dev/null

kiwi --prepare $HOME/suse-live-stick \
--force-new-root \
--root $HOME/suse-live-stick-tree \
--logfile terminal

kiwi --create $HOME/suse-live-stick-tree \
--type usb \
--destdir $HOME/suse-live-usb \
--logfile terminal

Nota: Per mostrar els misstages de zypper a la consola:
$ export ZYPP_LOGFILE=-

Nota: per grabar el lliç llegiu l'arxiu:
/usr/share/doc/packages/kiwi/examples/suse-11.1/suse-live-stick.readme
Nota: si no ho heu modificat:
usuari root contrasenya linux.
usuari tux contrasenya linux.

Actualitzar la imatge del LiveUSB


su
export ZYPP_LOGFILE=/dev/null

kiwi -u $HOME/suse-live-stick \
--logfile terminal

kiwi --create $HOME/suse-live-stick-tree \
--destdir $HOME/suse-live-usb \
--logfile terminal

Nota: Per mostrar els misstages de zypper a la consola:
$ export ZYPP_LOGFILE=-

Més informació a http://en.opensuse.org/Build_Service/KIWI

Sign by Danasoft - Myspace Layouts and Signs