Esta resposta fala sobre os manifestos ISO - um exemplo está aqui. .
É possível criar um ISO a partir de um arquivo de manifesto ou o arquivo de manifesto é apenas
dpkg --get-selections
colocado em um arquivo de texto?
Relacionados, sorta:
Esta resposta fala sobre os manifestos ISO - um exemplo está aqui. .
É possível criar um ISO a partir de um arquivo de manifesto ou o arquivo de manifesto é apenas
dpkg --get-selections
colocado em um arquivo de texto?
Relacionados, sorta:
Respostas:
O filesystem.manifest é gerado com o comando:
dpkg-query -W --showformat='${Package} ${Version}\n' > casper/filesystem.manifest
A sintaxe é assim package_name version
, Exemplo:
xserver-xorg-video-nouveau 1:0.0.16+git20110411+8378443-1
O formato de dpkg --get-selections
é um pouco diferente,package_name install
Exemplo
xserver-xorg-video-nouveau install
Então você pode usar o arquivo, provavelmente em mais de uma maneira,
apt-get install -y $(awk '{print $1}' filesystem.manifest)
Para ser honesto, depois de fazer algumas iso personalizadas ao longo dos anos, há uma curva de aprendizado sobre como ela funciona. Depois de entender algumas coisas, não é muito difícil, apenas o conhecimento necessário é moderadamente grande e não há uma fonte de informação única e atualizada.
Você usa 2 diretórios de construção
~/custom - build directory for the iso
~/rootfs - build directory for the root file system.
customizado - esse diretório contém todos os arquivos que entrarão no iso final. Ele contém o sistema de arquivos raiz, um kernel, um initramfs e o isolinux.
rootfs - este diretório contém o sistema de arquivos do Live CD e você o compacta (usando mksquashfs) e o inclui no CD. Você constrói isso com o debootstrap (live D do zero) ou extrai o sistema de arquivos do ubuntu-desktop.iso (personalize um live CD). Veja os links wiki do ubuntu abaixo para obter detalhes.
1) Entenda o mksquashfs - você usa o mksquashfs para compactar o sistema de arquivos raiz paracasper/filesystem.squashfs
sudo mksquashfs /home/bodhi/rootfs custom/casper/filesystem.squashfs
2) Entenda o isolinux - isso torna o iso inicializável, assim como o menu do CD (inicialização). Veja o Arch Linux Wiki syslinux .
Você pode usar o grub2 como alternativa ao isolinux, mas precisará entender como o grub2 funciona;). A maioria dos CD ao vivo ainda está usando o isolinux.
3) Como fazer um initramfs. O initramfs é um segundo sistema de arquivos, usado para inicializar. Freqüentemente, quando você está tendo um problema (a imagem de inicialização personalizada não está funcionando, os módulos do kernel não estão sendo carregados) e não consegue entender por que olhar para o sistema de arquivos raiz, a resposta é muito provável no initramfs.
#extract to a working_directory , I use ~/initrd
cd ~/initrd
lzma -dc -S .lz ../initrd.lz | cpio -imvd --no-absolute-filenames
# Make your edits / adjustments
# Package
cd ~/initrd
find . | cpio --quiet --dereference -o -H newc | lzma -7 > ../custom.initrd.lz
Você então move seu novo initrd.lz para o diretório de compilação personalizado, custom/casper/initrd.lz
4) casper. O Casper e os scripts do casper estão localizados em 3 locais e os 3 podem desempenhar um papel. Eles são todos scripts bash e, em algum momento, você quase certamente desejará examiná-los.
Um hospedeiro - /usr/share/initramfs-tools/scripts/casper
B. sistema de arquivos raiz - customizado / usr / share / initramfs-tools / scripts / casper
C. no initramfs - Veja o diretório / scripts.
Veja Ubuntu man casper
5) Você faz personalizações para a interface do usuário / aplicativos em /usr/share
, /usr/share/gnome*
por exemplo, os locais exatos variam de acordo com a liberação, /usr/share/gnome-background-properties/ubuntu-wallpapers.xml
é um clássico e bastante padrão entre as versões.
6) Se você não pode fazer personalizações /usr/share/
, use /etc/skel
, aqui /etc/skel/.bashrc
está um clássico, esse arquivo é copiado para ~ / .bashrc. Você pode colocar vários arquivos confg lá, no firefox ou no gnome ou não, mas / usr / share é melhor se possível (varia de acordo com a configuração).
7) mkisofs - você usa o mkisofs para converter seu diretório de construção em um iso
cd ~/custom
sudo mkisofs -D -r -V "$IMAGE_NAME" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../ubuntu-12.04-custom.iso .
8) persistência. Você pode usar persistência com muitos CD ao vivo, incluindo o CD do ubuntu-desktop e um CD personalizado, isso é implementado pelo casper.
A. O root - casper montará uma partição ou arquivo rotulado casper-rw
como uma sobreposição de vaca em /. Se você instalar um pacote ou modificar um arquivo de configuração, as alterações persistirão durante uma reinicialização.
Use isso com moderação. Se você atualizar todos os pacotes, será necessário muito espaço. Também acho que esse método às vezes é de buggy.
B. Soleira do casper - montar uma partição ou arquivo rotulado home-rw
como aas como uma sobreposição de vaca em / home.
Eu prefiro isso, pois meus favoritos e dados privados do firefox serão preservados entre as botas e acho mais confiável.
Casa persistente (mude para casper-rw para um persistente /)
# this is a 1 Gb file, increase or decrease the count to make it larger or smaller
dd if=/dev/zero of=home-rw bs=1M count=1000
# make a file system
mkfs.ext4 home-rw
mke2fs 1.41.14 (22-Dec-2010)
home-rw is not a block special device.
Proceed anyway? (y,n) y <-- ANSWER 'y' here
#tune the file system to remove reserved blocks and label it 'home-rw'
tune2fs -m 0 -L home-rw home-rw
Coloque home-rw
em / (no diretório raiz de uma partição) ou em uma unidade flash (não em um subdiretório).
Quando você inicializa o CD ao vivo, pressiona a F6tecla, eles Escadicionam a opção persistent
aos parâmetros de inicialização, na frente do '-'
quiet splash persistent --
Os scripts de inicialização do casper encontrarão uma montagem automaticamente.
Veja Persistência do wiki do Ubuntu - A página wiki do ubuntu discutiu apenas o casper-rw, mas o home-rw é mencionado nos scripts do casper e funciona da mesma maneira, apenas o nome foi alterado.
Veja Esta publicação nos fóruns do Ubuntu para obter uma captura de tela (embora com opções diferentes).
C. Você pode ativar a persistência com várias ferramentas gráficas, unetbootin, por exemplo. As ferramentas gráficas (tanto quanto eu sei) usam casper-rw
.
OK, agora que você entender tudo isso, essas duas páginas começarão a fazer mais sentido
CD ao vivo do wiki wiki do Ubuntu
Você precisará pesquisar no google. Você encontrará fragmentos de conselhos por toda a internet.
Exemplo: Como alterar a tela inicial do Live CD
Agora que você entende tudo isso, use os scripts do Debian Live . Não deixe o nome enganar você, esses scripts funcionam muito bem em qualquer sistema .deb, incluindo o Mint e o Ubuntu.
Para instalar
sudo apt-get install live-build
Existe uma interface gráfica
sudo apt-get install live-magic
Entenda que o gui da magia ao vivo pode falhar, assim como a remastersys e outros guis falham. Nesse caso, você volta aos scripts de construção ao vivo (a live-magic gera um diretório de construção).
Demora um pouco para aprender os scripts de construção ao vivo e o layout / estrutura do diretório
Veja o Debian Live Manuel Aye, é longo, apenas trabalhe um iso de cada vez.
A vantagem dos scripts de construção ao vivo, depois de entender os componentes de um CD ao vivo, os scripts automatizam mais de 90% da construção, e fazer uma alteração é uma edição simples de um arquivo de configuração (geralmente) ou, às vezes, a criação de um initramfs.
Se isso foi muito longo para você, respire fundo, relaxe e trabalhe com as informações uma parte de cada vez. Eu prometo que isso começará a fazer algum sentido e você descobrirá que o tempo vale a pena.
Se você começar com outro conjunto de ferramentas, volte a esse conjunto de ferramentas e, depois de algumas iso, apreciará este conjunto de instruções;)
Minha versão 12.04 personalizada, suporta o gma500, apenas 2d (sem 3d) pronto para uso (estará disponibilizando o iso publicamente para a multidão do gma 500 nos próximos dias).