Remasterizando um LiveCd do [K]ubuntu com o UCK (Ubuntu Customization Kit)

Hoje vou mostrar com remasterizar um livecd do ubuntu com o UCK. Antes de conhecer o UCK eu utilizava o Reconstructor, mas como sou curioso por novas ferramentas…
Deixando de bla bla bla, vamos ao que interessa, como o modo de geração da ISO via linha de comando é bastante simples, iremos utiliza-lo, isso não quer dizer que o UCK não tenha um modo gráfico (podendo ser acessado via “uck-gui –wait-before-exit” *sem as aspas).

Antes de mais nada vamos instalar o UCK:

$ wget -c http://sourceforge.net/project/downloading.php?group_id=169959&use_mirror=ufpr&filename=uck_2.0.3_all.deb&46020298

$ sudo dpkg -i uck_2.0.3_all.deb && apt-get -f install

Depois de instalado vamos a brincadeira:

Por padrão a saída dos comandos serão salvas em /home/usuario/tmp

Para descompactar a ISO

$ sudo uck-remaster-unpack-iso distribuicao.iso

Mounting ISO image…
Unpacking ISO image…
Unmounting ISO image…

Montando o arquivo casper/filesystem.squashfs

$ sudo uck-remaster-unpack-rootfs

Removing remastering root dir…
rm: cannot remove directory `/home/usuario/tmp/remaster-root/tmp/.X11-unix’: Device or resource busy
Mounting SquashFS image…
Unpacking SquashFS image…
Unmounting SquashFS image…

Agora vamos acessar o sistema da ISO para efetuar algumas modificações

$ sudo uck-remaster-chroot-rootfs

Ao término da configuração do sistema, é normal que surjam muitos pacotes “órfãos”, bibliotecas e arquivos que não são mais usados por nenhum programa, servem apenas para ocupar espaço. Você pode localizar estas sobras facilmente usando o comando:

# deborphan

Ele retorna uma lista dos pacotes orfãos que você pode remover com segurança através do apt-get. Isso vai quase sempre liberar alguns megas.
Caso você tenha usado o apt-get update e o apt-get install você pode liberar mais um bom espaço limpando o cache local de pacotes:

# apt-get clean

Delete também o histórico de comandos do root, este arquivo armazena os últimos comandos usados. Não existe necessidade de divulgá-los ao mundo. Aproveite para eliminar também o diretório .rr_moved:

# rm -f /home/root/.bash_history
# rm -rf /.rr_moved

Depois de efetuar todas as suas configurações pressione CTRL+D para fechar o chroot.

O próximo passo é preparar o ambiente para geração da ISO

$ sudo uck-remaster-pack-rootfs 

Updating files lists…
Packing SquashFS image…
Parallel mksquashfs: Using 1 processor
Creating little endian 3.0 filesystem on /home/usuario/tmp/remaster-iso/casper/filesystem.squashfs, block size 65536.
[==========================================================================================================================] 73596/73596 100%
Exportable Little endian filesystem, data block size 65536, compressed data, compressed metadata, compressed fragments, duplicates are removed
Filesystem size 419377.71 Kbytes (409.55 Mbytes)
35.60% of uncompressed filesystem size (1178153.99 Kbytes)
Inode table size 755770 bytes (738.06 Kbytes)
30.92% of uncompressed inode table size (2444062 bytes)
Directory table size 683576 bytes (667.55 Kbytes)
46.89% of uncompressed directory table size (1457786 bytes)
Number of duplicate files found 5868
Number of inodes 74066
Number of files 62250
Number of fragments 6536
Number of symbolic links 5373
Number of device nodes 399
Number of fifo nodes 3
Number of socket nodes 1
Number of directories 6040
Number of uids 13
root (0)
messagebus (105)
unknown (3001)
haldaemon (107)
hamilton (1000)
daemon (1)
dhcp (100)
www-data (33)
man (6)
avahi (106)
news (9)
unknown (108)
hplip (103)
Number of gids 31
video (44)
audio (29)
tty (5)
kmem (15)
disk (6)
lp (7)
dip (30)
dialout (20)
cdrom (24)
adm (4)
daemon (1)
uucp (10)
messagebus (113)
avahi-autoipd (112)
bin (2)
dhcp (101)
shadow (42)
utmp (43)
scanner (104)
fuse (106)
plugdev (46)
admin (109)
nvram (105)
www-data (33)
ssl-cert (107)
staff (50)
src (40)
root (0)
nogroup (65534)
ssh (111)
mail (8)

E por fim, o comando para gerar a ISO em /home/usuario/tmp/remaster-new-files/Livecd.iso

$ sudo uck-remaster-pack-iso

Preparing directory for new files
Updating md5sums…
~/tmp/remaster-iso ~
~
Packing ISO image…
ISO description set to: Remastered Ubuntu LiveCD
Unknown file type (unallocated) /home/usuario/tmp/remaster-iso/.. – ignoring and continuing.
Size of boot image is 4 sectors -> No emulation
2.20% done, estimate finish Sat Sep 13 21:40:24 2008
4.40% done, estimate finish Sat Sep 13 21:40:46 2008
6.61% done, estimate finish Sat Sep 13 21:40:39 2008
8.81% done, estimate finish Sat Sep 13 21:40:35 2008
11.01% done, estimate finish Sat Sep 13 21:40:33 2008
13.21% done, estimate finish Sat Sep 13 21:40:31 2008
15.41% done, estimate finish Sat Sep 13 21:40:30 2008
17.61% done, estimate finish Sat Sep 13 21:40:29 2008
19.82% done, estimate finish Sat Sep 13 21:40:34 2008
22.01% done, estimate finish Sat Sep 13 21:40:42 2008
24.22% done, estimate finish Sat Sep 13 21:40:44 2008
26.42% done, estimate finish Sat Sep 13 21:40:42 2008
28.62% done, estimate finish Sat Sep 13 21:40:44 2008
30.82% done, estimate finish Sat Sep 13 21:40:46 2008
33.03% done, estimate finish Sat Sep 13 21:40:45 2008
35.22% done, estimate finish Sat Sep 13 21:40:46 2008
37.43% done, estimate finish Sat Sep 13 21:40:48 2008
39.63% done, estimate finish Sat Sep 13 21:40:46 2008
41.83% done, estimate finish Sat Sep 13 21:40:47 2008
44.03% done, estimate finish Sat Sep 13 21:40:48 2008
46.23% done, estimate finish Sat Sep 13 21:40:49 2008
48.43% done, estimate finish Sat Sep 13 21:40:48 2008
50.64% done, estimate finish Sat Sep 13 21:40:49 2008
52.83% done, estimate finish Sat Sep 13 21:40:52 2008
55.04% done, estimate finish Sat Sep 13 21:40:53 2008
57.24% done, estimate finish Sat Sep 13 21:40:53 2008
59.44% done, estimate finish Sat Sep 13 21:40:54 2008
61.64% done, estimate finish Sat Sep 13 21:40:53 2008
63.85% done, estimate finish Sat Sep 13 21:40:53 2008
66.04% done, estimate finish Sat Sep 13 21:40:54 2008
68.25% done, estimate finish Sat Sep 13 21:40:53 2008
70.45% done, estimate finish Sat Sep 13 21:40:53 2008
72.65% done, estimate finish Sat Sep 13 21:40:54 2008
74.85% done, estimate finish Sat Sep 13 21:40:54 2008
77.05% done, estimate finish Sat Sep 13 21:40:53 2008
79.25% done, estimate finish Sat Sep 13 21:40:54 2008
81.46% done, estimate finish Sat Sep 13 21:40:54 2008
83.66% done, estimate finish Sat Sep 13 21:40:56 2008
85.86% done, estimate finish Sat Sep 13 21:40:56 2008
88.06% done, estimate finish Sat Sep 13 21:40:56 2008
90.26% done, estimate finish Sat Sep 13 21:40:56 2008
92.46% done, estimate finish Sat Sep 13 21:40:56 2008
94.67% done, estimate finish Sat Sep 13 21:40:56 2008
96.87% done, estimate finish Sat Sep 13 21:40:58 2008
99.07% done, estimate finish Sat Sep 13 21:40:57 2008
Total translation table size: 2048
Total rockridge attributes bytes: 37962
Total directory bytes: 141436
Path table size(bytes): 908
Max brk space used 42000
227123 extents written (443 MB)

Pronto a ISO está criada.
Qualquer duvida e correções mande um comentario, até a proxima.

Anúncios

3 comentários em “Remasterizando um LiveCd do [K]ubuntu com o UCK (Ubuntu Customization Kit)

  1. Olá Hamilton, tudo bem?

    Fiz um trabalho em cima do kurumin 7, remasterizando-o para uma finalidade específica e agora estou fazendo com o ubuntu 8.04.

    Seu artigo é iinteressante, mas não elucidou alguns pontos.

    1) Para fazer a remasterização eu preciso instalar o ubuntu 8.04 no hd para depois prosseguir com a remaster?

    2) Depois de baixar e instalar o “UCK” eu acesso a imagem através de um “X” alternativo como no kurumin?

    3) Você fala em montar a imagem, então eu preciso ter o .iso do ubuntu 8.04 para gerar a remasterização?

    Será que se eu fizer a cópia do /cdrom e do rolfs para diretórios no hd eu não consigo fazer a remaster usando os mesmos princípios do KNOPPIX e Kurumin?

    Valeu cara,

    Parabéns pelo post.

    Se puder, me adiciona aí caso vc tenha msn

    hnpjunior@hotmail.com

  2. Olá Hermes,

    obrigado pela parabenização.
    Em relação as suas perguntas, é o seguinte:

    1) Para fazer a remasterização eu preciso instalar o ubuntu 8.04 no hd para depois prosseguir com a remaster?

    Resposta: Sim, só que eu tive problemas na hora de geração da ISO, no 8.04, pois ao testar a ISO ocorria o erro no BusyBox, como ainda não conseguir resolver o problema, estou com a versão 7.10 instalada.
    OBS: O sistema instalado é o 7.10 para gerar a ISO, mas a imagem há ser remasterizada pode ser a 8.04.

    2) Depois de baixar e instalar o “UCK” eu acesso a imagem através de um “X” alternativo como no kurumin?

    Resposta: Hermes quando é efetuado o comando “$ sudo uck-remaster-chroot-rootfs” o UCK acessa o sistema da imagem pelo chroot, assim definindo a raiz da ISO como sua raiz de trabalho. Em relação ao carregamento do “X” não cheguei a testar, pois não tive a necessidade disso ainda.

    3) Você fala em montar a imagem, então eu preciso ter o .iso do ubuntu 8.04 para gerar a remasterização?

    Resposta: Sim

  3. Olá Hamilton,

    Fiz o remaster do ubuntu 8.04, mas tive que instalar primeiro o próprio 8.04 ao invés do 7.10 que você usou, ele deu sistematicamente erro de kernel, parece que o kernel não tem suporte ao rootfs.

    Depois que eu gerei a imagem ele retornou:

    Path table size(bytes): 886
    Max brk space used 21000
    513518 extents written (1002 MB)

    e terminou o processamento.

    Pelo que percebi ele gerou uma imagem de 1 giga, correto?

    Agora, onde está esta imagem?

    Eu dei um

    find / -iname *.iso

    e ele só me retornou a imagem/iso do ubuntu, aquela imagem que eu mexi.

    Eu trabalhei diretamente nesta imagem ou ele gerou uma outra imagem?

    Atenciosamente

    Hermes

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s