Customizando o (K/X/ED)Ubuntu Linux Live-CD

Neste artigo serão descritas uma série de técnicas necessárias para customizar o live-cd do Ubuntu e suas variações (Kubuntu, Xubuntu, EDubuntu). A prática de custumização é aceita e prevista pela licença do Ubuntu. Para conseguir esse tutorial em PDF acesse http://anakinpendragon.wordpress.com/.

[ Hits: 62.856 ]

Por: Alexandre da silva costa em 26/03/2007


Introdução



Pré-requisitos

  • Uma computador Linux com suporte à Squashfs no kernel;
  • ISO da distribuição (Ubuntu, Kubuntu, Xubuntu, Edubuntu);
  • Instalação dos pacotes squashfstools, mkisofs, Xnest;
  • 4 pontos de montagem;
  • Acesso a Internet (será necessário para instalar novos programas);
  • 5 GB de espaço Livre em disco (mínimo);
  • 512 para memória RAM (recomendado);
  • 1 GB de SWAP (O swap irá conter a maior parte da imagem do CD sem a compactação, por isso precisamos aumentar. Pode ser necessário 6 GB de espaço livre em seu computador, caso não possua 1 GB de SWAP nativo).

Procedimentos-swap

Todos os procedimentos abaixo deverão ser executados em um terminal com o usuário root. Com o comando "su" no terminal é possível passar para o usuário root (recomendado) ou então utilize o comando sudo antes de cada comando.

1) Criando um arquivo de swap.

Caso não tenha tanto swap em seu Linux (1 GB), saiba que é possível criar um "arquivo" para ser usado como swap, sem a necessidade de uma partição de disco para essa função. Execute o comando abaixo para criar o arquivo swap.

# dd if=/dev/zero of=/tmp/swap count=1 bs=1000000000

O comando "dd" é bem conhecido dos usuários Linux, o parâmetro if=/dev/zero significa que serão copiados a partir do dispositivo especial /dev/zero, para preencher apenas com zeros. O of=/tmp/swap indica o arquivo que será utilizado como swap. O parâmetro count é o numero de blocos e o parâmetro bs o numero de bytes que serão copiados para o arquivo (1 GB).

Devemos agora formatar o arquivo no formato de swap e habilitá-lo on-line, sem a necessidade de configurações adicionais na fstab.

# mkswap /tmp/swap (formata o arquivo swap criado)
# swapon /tmp/swap (habilita o arquivo swap para o uso)

Para conferir se funcionou, use o comando "free" na contagem de swap deve ter 1GB a mais.

    Próxima página

Páginas do artigo
   1. Introdução
   2. Procedimentos
   3. Customizando seu (K/X/ED)Ubuntu
   4. Instalando e removendo programas
   5. Fechando programas e preparando para gerar o ISO
   6. Fechando a imagem
   7. Testando sua imagem sem queimar o CD
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Os Caminhos Para Certificação LPI1

Instalando Metaframe Citrix Client numa estação Linux

Instalação e configuração do Openbox personalizado usando Arch Linux

Utilizando o X-Deep32 para rodar programas Linux em máquina Windows

Fish - Um shell fácil de usar

  
Comentários
[1] Comentário enviado por erasmo em 26/03/2007 - 15:04h

Caro anakinpendragon,

na hora de montar o chroot, está dando este erro:
chroot: cannot run command `/bin/bash': Exec format error

erasmo

[2] Comentário enviado por anakinpendragon em 26/03/2007 - 15:59h

Quando o chroot é executado ele usa a pasta que você indicou no comando como a distribuição corrente. Quando ele faz isso ele procura o arquivo /bin/bash que deve estar dentro da pasta que você copiou o conteúdo do arquivo filesystem.squasf. verifique se na pasta que você copiou esta realmente o conteudo desse arquivo, que é toda a estrutura de um linux, com as pastas basicas /bin./usr,/etc/lib,etc... por que o chroot não esta achando o /bin/bash, que esta na pasta, no caso do meu tutorial /media/hdb1

[3] Comentário enviado por erasmo em 26/03/2007 - 18:27h

Caro anakinpendragon,

eu criei :
/expandida/64/teste
/expandida/64/teste2
/expandida/64/teste3
/expandida/64/projeto

segui o que vc diz.
a estrutura esta toda lá.

erasmo

[4] Comentário enviado por anakinpendragon em 26/03/2007 - 21:41h

Apos esse procedimento:
# cd /mnt/teste/casper/ (é necessário entrar nesse diretório)
# mount -o loop -t squashfs filesystem.squashfs /mnt/teste2

você copiou o conteudo de /mnt/teste2 para /mnt/teste3 certo?
# cd /mnt/teste2
# cp -pRf * /media/teste3

verifique o conteudo de /mnt/teste3 e veja se esta como eu descrevi, parecendo a raiz de um linux normal. pois o erro parece estar nessa parte do processo.

[5] Comentário enviado por flaviocc em 30/03/2007 - 16:26h

Ola, muito bom o seu artigo, porém
apareceu um erro aqui: "failed to initialize HAL!"
e outra caixa dizendo:
"Ocorreu um erro ao inicializar o Gerenciador de Configuração

Algumas configurações, como tema, sons ou papel de fundo, podem não funcionar corretamente.

A mensagem de erro foi:

Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.

O GNOME tentará inicia o gerenciador de configurações na próxima vez que for iniciado."

outra coisa que notei é que não tem nada na pasta /home, e não tem o usuario ubuntu criado, como é que funciona no live??

abraços!

[6] Comentário enviado por anakinpendragon em 31/03/2007 - 10:51h

Oi Flaciocc, primeiramente o "failed to initialize HAL!" acontece aonde? Você esta usando o Ubuntu 6.10?
Quando a gente custumiza o live-cd só existe o usuario root. Somente na hora que você boota o Live-cd que ele cria o usuario do ubuntu. Na hora de salvar as custumizações você salvou o conteudo do usuario root em /etc/skel ?
Todo usario quando criado pega o conteudo de /etc/skel como modelo, que é como se fosse um profile padrão para todo novo usario.

[7] Comentário enviado por fernandoamador em 08/04/2007 - 23:47h

Ótimo artgo...

[8] Comentário enviado por kixkix em 02/07/2007 - 08:57h

Eu criei a iso normal, mas na hora de emular aparecia a tela que conta os 30 segundos, que tem um menu, onde eu escolho para instalar o ubuntu e depois começa a carregar, mas não abre.

Alguém sabe o que eu fiz de errado?

[9] Comentário enviado por nenemfromhell em 27/10/2007 - 15:56h

Quando eu tentei rodar o gnome pelo Xnest apareceu o seguinte erro(na janela do Xnest):

"O gerenciador de sessão do GNOME não conseguiu travar o arquivo '/home/username/.ICEauthority'.Por favor, reporte isso como um erro do GNOME.Às vezes este erro pode acontecer se o diretório do arquivo não possuir permissão de escrita.Você pode tentar fazer o login usando a sessão de segurança e checar se este é o caso"

Como faço para resolver?

[10] Comentário enviado por anakinpendragon em 27/10/2007 - 20:08h

Você esta usando xnest como root? se não provavelmente vai ter problema de permissão de arquivos na hora da remasterização.

[11] Comentário enviado por oiciruam em 02/01/2008 - 11:16h

Cara sou um tanto leigo no assunto. Me diga uma coisa esses procedimentos servem para criar um live cd do ubuntu que ja tenho instalado no meu computador, se não, como posso fazer isso

grato.

[12] Comentário enviado por kamushadenes em 30/01/2008 - 13:25h

não passa do splash
:(

[13] Comentário enviado por shara em 06/02/2008 - 13:22h

filesystem.squashfs

car aonde eu encntro eese arquivo aew brother..ja pesquise i nante vcs fazem tipo...legal

mas num to axando..
jah montei a iso na teste
descompactei e coloquei na otura..
mas tipow..

filesystem.squashfs

onde pego isso..||
que pasta eh essa casper dentro do monto d montagem ,,, do teste,,, onde puis a iso..||||

[14] Comentário enviado por shara em 06/02/2008 - 13:23h

alexandre cara c podia me passar seu msn||


o meu eh..

shara_alves@msn.com

agradecida se isso for possivel..

[15] Comentário enviado por flaviodbz em 24/02/2009 - 20:58h

To seguindo seu tutorial so estou tendo problemas com, o comando mksquashfs /mnt/hdb1 /mnt/projeto/casper/filesystem.squashfs quando vai gerar o novo arquivo para em 71%

root@gamemaniaco:/mnt# mksquashfs /mnt/hdb1 /mnt/projeto/casper/filesystem.squashfs
Parallel mksquashfs: Using 1 processor
Creating little endian 3.1 filesystem on /mnt/projeto/casper/filesystem.squashfs, block size 131072.
[========================================== ] 69509/97172 71%

[16] Comentário enviado por anakinpendragon em 25/02/2009 - 09:44h

Você já verificou se existe espaço em disco suficiente para gerar a imagem?

[17] Comentário enviado por flaviodbz em 06/03/2009 - 13:10h

kra descobri e esse mesmo o problema, mas estou tendo problemas em instalar alguns programas depois de instalar eles geram um novo filesystem.squashfs e tal mas nao hora de gerar um live cd da erro e fica na linha de comando, os programas q estou tendo este problema e o Mplayer, Broffice.org e o java so q o java eu instalei manualmente baixando do site e funciono corretamente flw t+

[18] Comentário enviado por amiltonbh em 18/12/2009 - 10:34h

nao funciona! no Xnest apareceu o seguinte erro:

"Could not connect to ssession bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken."

É na janela que estar com o chroot aparece o seguinte mensager:

"Xlib: extension "RANDR" missing on display "localhost:1.0".
gnome-session[8937]: WARNING: Could not make bus activated clients aware of DISPLAY=localhost:1.0 environment variable: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
gnome-session[8937]: WARNING: Could not make bus activated clients aware of GNOME_DESKTOP_SESSION_ID=this-is-deprecated environment variable: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
gnome-session[8937]: WARNING: Could not make bus activated clients aware of SESSION_MANAGER=local/cts-sistprod03:@/tmp/.ICE-unix/8937,unix/cts-sistprod03:/tmp/.ICE-unix/8937 environment variable: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
shm_open() failed: Função não implementada
shm_open() failed: Função não implementada
shm_open() failed: Função não implementada
shm_open() failed: Função não implementada

root@cts-sistprod03:/# shm_open() failed: Função não implementada
gnome-session[8937]: Gtk-CRITICAL: gtk_main_quit: assertion `main_loops != NULL' failed
gnome-session[8937]: CRITICAL: dbus_g_proxy_new_for_name: assertion `connection != NULL' failed
shm_open() failed: Função não implementada
shm_open() failed: Função não implementada
shm_open() failed: Função não implementada
shm_open() failed: Função não implementada
gnome-session[8937]: Gtk-CRITICAL: gtk_main_quit: assertion `main_loops != NULL' failed
gnome-session[8937]: GLib-GObject-CRITICAL: g_object_unref: assertion `G_IS_OBJECT (object)' failed
gnome-session[8937]: CRITICAL: error getting session bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
gnome-session[8937]: WARNING: Unable to register presence with session bus
gnome-session[8937]: CRITICAL: dbus_g_proxy_new_for_name: assertion `connection != NULL' failed
gnome-session[8937]: devkit-power-gobject-WARNING: Couldn't connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: Arquivo ou diretório não encontrado
Erro do GConf: Falha ao contatar o servidor de configuração; algumas das causas possíveis são: necessidade de habilitar rede TCP/IP no ORBit ou existência de arquivos de bloqueio deixados para trás no NFS devido a algum um erro do sistema. Para mais informações consulte: http://projects.gnome.org/gconf/. (Detalhes - 1: Falha ao obter uma conexão à sessão: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.)
Erro do GConf: Falha ao contatar o servidor de configuração; algumas das causas possíveis são: necessidade de habilitar rede TCP/IP no ORBit ou existência de arquivos de bloqueio deixados para trás no NFS devido a algum um erro do sistema. Para mais informações consulte: http://projects.gnome.org/gconf/. (Detalhes - 1: Falha ao obter uma conexão à sessão: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.)
gnome-session[8937]: WARNING: Error retrieving configuration key '/desktop/gnome/session/idle_delay': Falha ao contatar o servidor de configuração; algumas das causas possíveis são: necessidade de habilitar rede TCP/IP no ORBit ou existência de arquivos de bloqueio deixados para trás no NFS devido a algum um erro do sistema. Para mais informações consulte: http://projects.gnome.org/gconf/. (Detalhes - 1: Falha ao obter uma conexão à sessão: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.)
gnome-session[8937]: CRITICAL: error getting session bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken."


favor se alguem souber como resolver isso me passe por favor me ajude. eu fiz todo o procedimento mais mesmo assim nao funcionou.

[19] Comentário enviado por iane em 20/12/2011 - 11:51h

Bom dia, o seu artigo está excelente. Parabéns.

Estou com o seguinte problema:

# mksquashfs /mnt/hdb1 /mnt/projeto/casper/filesystem.squashfs
Parallel mksquashfs: Using 2 processors
Creating little endian 3.1 filesystem on /mnt/projeto/casper/filesystem.squashfs, block size 131072.
[==== ] 12733/163023 7%sqlzma_un: ZLIB data error
FATAL ERROR:get_fragment:1258: res -3


Já verifiquei meu espaço em disco, é mais que suficiente.
Você poderia me ajudar?

Obrigada.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts