Como criar um ISO do Fedora modificado

2

Meu objetivo é criar uma imagem personalizada do fedora 20 netinst iso. Eu fiz isso com o Linux científico várias vezes para adicionar um arquivo de kickstart personalizado à imagem. Mas o fedora parece trabalhar de forma diferente para suportar o efi. Quais comandos são necessários para criar uma imagem fedora inicializável a partir do conteúdo modificado do arquivo iso oficial?

    
por TheHelix 10.01.2014 / 10:28

1 resposta

4

Você deu uma olhada na documentação do Fedora: Como criar um ISO de instalação do Fedora para teste

Esta página mostra como construir uma imagem ISO do Fedora que você pode usar para testes. Os exemplos fazem referência ao repositório do Fedora Rawhide, mas as mesmas instruções aplicam-se a qualquer versão do Fedora. O tutorial requer que você abra um shell de root. Para acessar um shell de root, abra um terminal e execute o comando su - e forneça a senha de root.

Configuração

Para criar imagens ISO do Fedora, você deve usar uma versão do Fedora que corresponda ao lançamento das imagens ISO desejadas. Por exemplo, para criar imagens do Fedora Rawhide, você precisa estar executando o Fedora Rawhide. Os exemplos neste documento usam Package-x-generic-16.pngmock para simular o ambiente de destino e criar imagens ISO. Se você já tem um sistema disponível executando o release de destino, o uso de simulação não é necessário.

Primeiro, instale os pacotes necessários

yum install mock

Ajuste a configuração de simulação para permitir montagens de ligação necessárias para dar suporte à geração de imagens de composição. Adicione as seguintes linhas à configuração de simulação apropriada. Por exemplo, para o Fedora Rawhide, atualize /etc/mock/fedora-rawhide-x86_64.cfg para incluir o seguinte:

config_opts['plugin_conf']['bind_mount_enable'] = True
config_opts['plugin_conf']['bind_mount_opts']['dirs'].append(('/dev','/dev/'))
config_opts['plugin_conf']['bind_mount_opts']['dirs'].append(('/dev/pts','/dev/pts/'))
config_opts['plugin_conf']['bind_mount_opts']['dirs'].append(('/dev/shm','/dev/shm/'))

Initialize the mock chroot

mock -r fedora-rawhide-$(uname -i) --init

Note.png

Behind the scenes... Mock does a lot of work behind the scenes. If you want to see what commands it's running in the chroot, add the --verbose option.

Prepare o chroot fictício para executar pungi instalando pacotes no chroot

mock -r fedora-rawhide-$(uname -i) --install spin-kickstarts pungi ${EDITOR:-vi}

Crie um espelho local (opcional)

Esta seção é opcional. Você pode usar um espelho Fedora oficial próximo em uma conexão de banda larga. No entanto, você pode achar útil espelhar o Rawhide localmente se você participar regularmente dos testes. Observe que o pacote Package-x-generic-16.pngmirrormanager pode ser útil em algumas situações. Consulte a página detalhada do MirrorManager para mais informações.

Se você não tiver o Rawhide disponível em um link local rápido, convém espelhá-lo localmente usando o rsync. Encontre um espelho próximo no link

mkdir -p /var/www/fedora/linux/development/x86_64/os
cd /var/www/fedora/linux/development/x86_64/os
rsync -Pavy --delete-after <MIRROR_NEAR_YOU>::/pub/fedora/linux/development/rawhide/$(uname -i)/os/ .

No chroot simulado, edite o arquivo de configuração do kickstart usado pelo pungi.

mock -r fedora-rawhide-$(uname -i) --shell ${EDITOR:-vi} /usr/share/spin-kickstarts/fedora-install-fedora.ks

Remova (ou comente) a linha repo --name = fedora existente e adicione uma nova entrada para o espelho local. Usando o exemplo acima, você acabaria com ...

repo --name=fedora --baseurl=file:///var/www/fedora/linux/development/$basearch/os

Quando terminar, salve suas alterações e saia do chroot pressionando Ctrl-D ou digitando logout

Crie um boot.iso

Esta seção assume que você instalou o pacote Package-x-generic-16.pngmock e preparou o chroot simulado como sugerido em #Setup. Se você ainda não concluiu essas etapas, faça isso agora. Esta seção fornece instruções sobre como criar somente imagens PXEboot e boot.iso. Para criar uma imagem instalável -DVD.iso, consulte #Build_a_DVD_ISO.

Ativar um shell dentro do chroot simulado

mock -r fedora-rawhide-$(uname -i) --shell

Em seguida, crie um DVD (isso pode demorar um pouco)

pungi --nosource --nodebuginfo -G -C -B \
  --flavor Fedora --name Fedora --ver rawhide \
  -c /usr/share/spin-kickstarts/fedora-install-fedora.ks

Se o comando anterior foi concluído sem erros, agora você tem imagens do PXEboot e um boot.iso disponível no seu chroot. Saia do shell simulado e copie a imagem ISO do chroot.

mock -r fedora-rawhide-$(uname -i) --copyout /rawhide/Fedora/$(uname -i)/os/images/boot.iso /tmp/

Construa um DVD.iso

Esta seção assume que você instalou o pacote Package-x-generic-16.pngmock e preparou o chroot simulado como sugerido em #Setup. Se você ainda não concluiu essas etapas, faça isso agora.

Activate a shell inside the mock chroot

mock -r fedora-rawhide-$(uname -i) --shell

Next, create a DVD (this may take a while)

pungi --nosource --nodebuginfo \
  --flavor Fedora --name Fedora --ver rawhide \
  -c /usr/share/spin-kickstarts/fedora-install-fedora.ks

Se você já seguiu os passos no # Build_a_boot.iso, você pode economizar tempo instruindo pungi a apenas construir a imagem -DVD.iso. Ao executar o comando pungi acima, adicione o parâmetro -I para construir apenas os arquivos ISO e pule as etapas executadas anteriormente.

Se o comando anterior foi concluído sem erros, agora você tem uma imagem ISO de DVD no seu chroot. Antes de prosseguir, valide as imagens ISO usando o comando sha256sum

cd /rawhide/Fedora/$(uname -i)/iso
sha256sum -c Fedora-rawhide-$(uname -i)-CHECKSUM 

Saia do mock shell e copie a imagem ISO do chroot e divirta-se ...

mock -r fedora-rawhide-$(uname -i) --copyout /rawhide/Fedora/$(uname -i)/iso/Fedora-rawhide-$(uname -i)-DVD.iso /tmp/
    
por 13.01.2014 / 12:21