Remasterizando o Ubuntu

Neste artigo irei demonstrar com remasterizar uma distribuição derivada do Debian, o Ubuntu, bem como mostrar a facilidade deste processo de customização.

[ Hits: 51.326 ]

Por: FHCS (P1R4T3) em 13/07/2010


Pré-requisitos



Nesta fase vamos ver como preparar um ambiente para customização de uma versão personalizada do Ubuntu. Vamos utilizar um processo manual, pois temos maior flexibilidade do processo do que se utilizarmos ferramentas como Remastersys ou Reconstructor, mas nada impedem de utilizá-las caso seja de vossa vontade.

Pré-requisitos:
  • Um PC ou notebook;
  • 1 GB ou superior de RAM;
  • HD 40 GB ou superior;
  • Ubuntu 9.04 instalado dependendo da arquitetura da sua máquina (32 ou 64 bits);
  • Acesso a internet de alta velocidade.

Após ter instalado o sistema em sua máquina, vamos instalar alguns pacotes necessários para darmos início ao processo de customização do Ubuntu. Para isso será necessário baixar e instalar os seguintes pacotes:
  • squashfs-tools;
  • genisoimage;
  • build-essential;
  • libusplash-dev;
  • libbogl-dev.

Abra o terminal e digite o comando:

sudo apt-get install squashfs-tools genisoimage build-essential libusplash-dev libbogl-dev

Terminado a instalação dos pacotes necessários, vamos agora carregar o módulo "squashfs", basta digitar o comando:

sudo modprobe squashfs

P.S.: Este módulo deve ser sempre carregado quando estivemos customizando o sistema, sempre que o sistema for reiniciado verifique se o módulo foi carregado executando o seguinte comando:

lsmod | grep squashfs

Caso o módulo esteja carregado, será apresentado o resultado semelhante a:

squashfs xxxxx x

Antes de iniciarmos a customização do sistema, devemos baixar uma imagem .iso do Ubuntu e criar um diretório e alguns subdiretórios no "/home/usuario", para isto vamos fazer o seguinte.

Obs.: "/home/usuario" deve ser substituído pelo nome de usuário que você usar para entrar no sistema, ou seja, se seu nome de usuário for "fulano" você deve criar o diretório em "/home/fulano".

Abra um terminal e digite o comando:

mkdir Distro

Agora entre no diretório criado.

cd Distro

Vamos criar os subdiretórios.

mkdir mnt extract-cd squashfs edit

Para baixar a imagem .iso clique visite: http://releases.ubuntu.com/9.04/

Terminado o download, devemos copiar a imagem para o diretório Distro:

cp "/home/usuario/localondesalvouaimagem"/ubuntu-9.04-desktop-i386.iso "/home/usuario/Distro

Montamos a imagem no subdiretório mnt com o comando:

sudo mount -o loop ubuntu-9.04-desktop-i386.iso mnt

Extraímos o conteúdo da imagem .iso:

rsync --exclude=/casper/filesystem.squashfs -a mnt/ extract-cd

Montar o filesystem squashfs:

sudo mount -t squashfs -o loop mnt/casper/filesystem.squashfs squashfs

Extrair o conteúdo do subdiretório squashfs para o edit:

sudo cp -a squashfs/* edit/

Esta etapa demora algum tempo para ser completada...

zzzzzzzzzzzzzzzzz

Pronto! Completada esta etapa, vamos transformar um diretório no diretório-raiz através do comando (chroot). Utilizaremos o subdiretório "edit" para ser nosso diretório-raiz.

Abra um terminal e execute:

sudo mount -t none -o bind /tmp /home/usuario/Distro/edit/tmp
xhost +

Vá para o diretório de trabalho:

cd Distro

Dê permissão de acesso à rede ao chroot:

sudo cp /etc/resolv.conf edit/etc/
sudo cp /etc/hosts edit/etc/

Montar os dispositivos necessários e executar o chroot:

sudo mount --bind /dev/ edit/dev
$ sudo chroot edit
# mount -t proc none /proc
# mount -t sysfs none /sys


Criar as variáveis:

# export HOME=/root
# export LC_ALL=C

Obs.: Se quisermos executar programas gráficos dentro do chroot, devemos executar um comando antes de executar o chroot e declarar uma variável dentro do chroot. Abaixo segue o comando.

# export DISPLAY=:0.0

NÃO FECHE A JANELA DO TERMINAL, pois será utilizada nos procedimentos seguintes.

    Próxima página

Páginas do artigo
   1. Pré-requisitos
   2. Configuração do sistema
   3. Finalizando
   4. Gerando e gravando a imagem (ISO)
Outros artigos deste autor

Instalação do Debian Lenny 5

Leitura recomendada

Instalando e configurando openVPN no Debian Lenny

Integrando Bind com Active Directory (AD)

Oracle VirtualBox - Levando a VM no Pendrive

PuTTY - Release 0.66 - Parte I

Instalando Nginx e PHP no Ubuntu

  
Comentários
[1] Comentário enviado por removido em 13/07/2010 - 10:24h

Muito interessante. Eu usava o Remastersys. Vou tentar esses procedimentos.

[2] Comentário enviado por removido em 13/07/2010 - 10:45h

Com o Karmic o remastersys funcionava muito bem. Com o Lucid tive problemas sérios no sistema e em '/home'. Não sabem o trabalho que deu para recuperá-lo. Conselho, não recomendo o remastesys nesta atual versão para o Lucid, não ainda.

Com relação ao seu artigo, precisa-se baixar o Ubuntu para executar essa remasterização ou posso fazer tal procedimento copiando o LiveCD? Tenho uma boa conexão, posso baixar uma distro com o tamanho do Ubun e similares em 40 minutos ou menos, mas se puder ser feito com o LiveCd seria interessante também. O que acha?

Comentando seu ótimo artigo: é uma forma segura e controlável executar uma remasterização pela linha de comando, onde até então, só sabia executar tal procedimento por modo gráfico.
Vou executar os procedimentos e retorno com o resultado assim que possível.

Por enquanto, só tenho elogios a lhe oferecer por enriquecer mais ainda a documentação dessa distribuição que é sucesso em todo o mundo e um ímã para novos usuários.

Parabéns!!!

[3] Comentário enviado por murderb13 em 13/07/2010 - 10:49h

Veio show de BOola esse artiGo...
Qndo tiver um tempinHO vou me arriscar a criar uma Remaster...vlw e parabéns

[4] Comentário enviado por L!N5X em 13/07/2010 - 11:00h

>>>Para IzaiasCF<<<

Não testei tal procedimentos com o LiveCD, mas pode fazer este teste e postar o resultado para nós.
Eu fiz essa remasterização usando uma VM e tive alguns problemas que não sei explicar o porquê, então resolvir instalar fisicamente e conseguir realizar os procedimentos.

Essa remasterização pode ser feita em qualquer versão do ubuntu, desde que cumpra os requisitos mínimos.

Obrigado a todos.

[5] Comentário enviado por erasmo em 13/07/2010 - 11:14h

Meu caro,

até o procedimento:
sudo cp -a squashfs/* edit/

foi sem problema, quando eu usei o procedimento:

$ sudo mount -t none -o bind /tmp /home/usuario/Distro/edit/tmp
$ xhost +

tive a seguinte mensagem:

access control disabled, clients can connect from any host

como vc não comentou, gostaria de saber se esta certo?

obrigado

[6] Comentário enviado por L!N5X em 13/07/2010 - 11:23h

>>>Para Erasmo<<<

Esta é uma mensagem informativa de que abrimos completamente nosso servidor, fazendo com que o mesmo aceite conexões de qualquer host:

$ xhost +
access control disabled, clients can connect from any host


Imediatamente o xhost nos alerta para o fato que o controle de acesso está desabilitado, e que clientes de qualquer host podem se conectar ao noso servidor X.

Está tudo OK!

continue...

[7] Comentário enviado por vinyanalista em 13/07/2010 - 23:17h

Amigo P1R4T3, parabéns, excelente artigo. Favoritei.

Não parei pra testar os comandos, mas já fiz pesquisas a respeito da criação de LiveCDs (inclusive publiquei aqui no VOL alguns artigos a respeito disso) e sei que o caminho é esse mesmo que você trilhou. Um dos artigos que eu escrevi era sobre como fazer um LiveCD a partir de um sistema instalado no HD, posteriormente eu pesquisaria como criar um LiveCD a partir de outro LiveCD, mas você já adiantou isso pra mim.

Quando eu tiver mais tempo irei seguir seu passo-a-passo para os CDs do Ubuntu e do Kubuntu 10.04 que eu tenho aqui e informo os resultados.

Um abraço, até a próxima.

[8] Comentário enviado por L!N5X em 13/07/2010 - 23:31h

RUMO AO LPI1!!!!

Aconselho a todos que não tenha medo de tentar, errar, duvidar etc. Pois só assim, conseguiremos "trilhar" o melhor caminho para solucionar problemas corriqueiros que insiste em nos perseguir e é tão "difícil" nos livrar deles.

[]'s

[9] Comentário enviado por Lisandro em 14/07/2010 - 10:50h

Legal, bem detalhado!

[10] Comentário enviado por peregrino em 14/07/2010 - 13:57h

Boa tarde,

Muito bom tutorial parabêns, então P1R4T3 gostaria de fazer o remaster do boot do sistema tambem você poderia falar sobre essas partes

Funcionamento do “Debian Installer” (d-i), como usar o sistema de pré-configuração (preseed)

obrigado

[11] Comentário enviado por L!N5X em 14/07/2010 - 19:20h

>>>Peregrino<<<

Na net existem muitas documentações falado sobre o assunto (pressed), onde vc poderá de duas formas:

1º Com o sistema já instalado
2º Com a remasterização

Fica agora com o que sua imaginação e conhecimento pode alcançar.

O intuito do tuto foi apenas dar uma base de como funciona a "alma" do sistema, comandos até então desconhecidos por muitos e com ele vc poderá até criar sua própria distro.

Obs: Aconselho pesquisar em fóruns gringos pois possui uma vasta documentação até mesmo o fórum do debian tem artigo relacionado ao assunto. Pesquise também o uso de cheatcodes.

Fica ai a dica e não tenha medo de tentar!!!

Live the spirit free!

[12] Comentário enviado por L!N5X em 17/07/2010 - 09:33h

Conseguirão criar suas versões personalizadas?

[13] Comentário enviado por removido em 20/06/2011 - 10:03h

Seu artigo está primoroso! Qualquer coisa menos que isso, é injustiça.

Mas estou com uma pequena dúvida: devo carregar o squashfs antes de configurar o chroot ou depois?

Outra coisinha, vi este livro na internet:

http://www.lcm.com.br/versao_nova/index.php?Escolha=20&Livro=L00832

Estou pensando em comprá-lo, vc já leu esse livro? Se sim, me recomendaria?

Só mais uma coisa (prometo que é a última): Se eu carregar o chroot, fazer algumas customizações, posso desligar a minha máquina?
E se eu desligar, devo começar tudo de novo?


Abraço

[14] Comentário enviado por mg-viva em 20/09/2011 - 15:32h

Segui os passos indicados no tutorial:
http://www.vivaolinux.com.br/artigo/Remasterizando-o-Ubuntu

Quando executo o comando abaixo, tentando montar uma imagem iso no sub diretório mnt:
sudo mount -o loop ubuntu-9.04-desktop-i386.iso mnt

Recebo a seguinte mensagem de erro:
mount: não foi possível localizar ubuntu-11.04-desktop-i386.iso em /etc/fstab ou /etc/mtab
Por acaso não está faltando algo como "-t <tipo do filesystem>"?
Ou já existe uma versão mais atualizada (o tutorial é de 2.010 e já estamos em set/11...

Por favor, gostaria de uma orientação, desde já grato
Mario Gomes (mg-viva)

[15] Comentário enviado por mg-viva em 20/09/2011 - 15:42h

Aliás, na realidade eu estava seguindo os passos do livro que adquiri ontem "COMO CRIAR SUA PRÓPRIA VERSÃO CUSTOMIZADA DO UBUNTU LINUX", de "Roberto Carlos C. Seixas" (Editora Ciência Moderna) e encontrei o problema lá. Fui no Google (sempre ele) para uma possivel solução e achei este site (VivaOlinux)...
Parece que o tutorial e o livro são quase que idênticos!

Também quando digito o comando:
sudo apt-get install squashfs-tools genisoimage build-essential libusplash-dev libbogl-dev
aparece uma condição de erro para o arquivo "libusplash-dev", algo do tipo "não encontrado" mas resolvi o problema descartando-o. pois não não vou usar o tal "splash".

Mario Gomes


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts