Legacy BIOS, UEFI e Secureboot Ready Ubuntu Live Image Personalização

Legacy BIOS, UEFI e Secureboot Ready Ubuntu Live Image Personalização

Este artigo fornecerá uma informação principal sobre como criar uma imagem isohibrida personalizada ao vivo do Ubuntu Live para você começar com seu próprio spin-off de distro-distramento do Ubuntu. A imagem de saída será a imagem ao vivo do Ubuntu AMD64, capaz de inicializar nos três modos de inicialização: BIOS Legacy, UEFI e Secureboot.

O artigo não entrará em muitos detalhes sobre como executar a personalização do sistema Squashfs real. No entanto, em vez disso, ele se concentrará em todas as etapas relacionadas à descompactação da ISO oficial do Ubuntu e juntando todas as peças para produzir imagens isohibradas inicializáveis ​​que suportam os modos Legacy BIOS, UEFI e Secureboot.

Pré -requisitos

Como sempre, começamos por pré -requisitos e instalação opcional de pacotes:

$ sudo apt-get install dumpet xorriso squashfs-tools gddrescue 

Download da imagem ISO do Ubuntu

A primeira parte da criação de sua própria distribuição Linux personalizada baseada no Ubuntu Linux é baixar a imagem oficial do Ubuntu ISO. Crie um novo diretório Custom-Ubuntu Para manter todos os arquivos exigidos por este projeto. A EFI e seu recurso Secureboot não são suportados na arquitetura i386, então faça o download de qualquer versão AMD64 da imagem ISO do Ubuntu e armazenar -a dentro Custom-Ubuntu diretório:

$ mkdir custom-ubuntu $ CD Custom-Ubuntu/$ wget http: // url/to/ubuntu/imagem.ISO 

Extraia o conteúdo ISO

Nesta fase, precisamos montar e extrair todo o conteúdo da imagem oficial do Ubuntu ISO. Para isso, usamos Xorriso comando. O abaixo Xorriso O comando extrairá todos os arquivos da imagem ISO original para Custom-iso diretório. Por exemplo.:

$ xorriso.04-DESKTOP-AMD64.iso -extract / personaliza -iso 

Processo de personalização

Nesta fase, execute uma personalização dentro Custom-iso diretório. Como mencionado anteriormente, este é o processo de como você personaliza sua imagem depende de você. Abaixo, você pode encontrar algumas dicas para começar:

    • Menu EFI Bootloader: Custom-Iso/Boot/Grub/Grub.cfg
    • Menu de inicialização legado não-EFI: Custom-iso/isolinux/txt.cfg
    • Squashfs FileSystem: Custom-Iso/Casper/FileSystem.Squashfs

Para personalizar o sistema de arquivos Squashfs primeiro descompacte o sistema de arquivos.Squashfs:

$ sudo unsquashfs custom-iso/Casper/FileSystem.Os squashfs são paralelos a inodes (Bloqueios de 192876) para escrever [=======================/] 192876/192876 100% criado 138452 Criados 18797 Os diretórios criaram 41566 Symlinks criados 81 dispositivos criados 0 FIFOS 

Digite squashfs usando chroot comando, faça alterações e saia:

$ sudo chroot squashfs -root / # montar nenhum -t proc / proc; montar nenhum -t sysfs /sys; montar nenhum -t devpts /dev /pts 

Neste ponto, você está dentro do ambiente do seu novo sistema. Faça alterações como a instalação do pacote e a saída do pacote:

# saída de saída $ sudo umount -f squashfs-root/proc squashfs-root/sys squashfs-root/dev/pts 

Compacte novos squashfs:

$ sudo mksquashfs squashfs-root/custom-so/Casper/FileSystem.Squashfs 

Criando uma imagem iso-híbrida de inicialização

Obtenha MBR ISOHYBRID isohdpfx.BIN Da imagem ISO original do Ubuntu usando dd comando:

$ sudo dd if = ubuntu-16.04-DESKTOP-AMD64.ISO BS = 512 contagem = 1 de = Custom-Iso/Isolinux/Isohdpfx.BIN 

Construir uma nova imagem ISO isohibrida de dentro Custom-iso diretório usando Xorriso comando. Note o ".”No final do Xorriso comando:

$ CD Custom -iso/ $ sudo xorriso -e mkisofs -isohybrid -mbr isolinux/ isohdpfx.bin \ -c isolinux/bota.CAT -B ISOLinux/Isolinux.bin -no-eMul-boot -boot-Size 4 \ -boot-info-table -eltorito-alt-boot -e boto/grub/efi.img -no-eMul-boot \ -isohybrid-GPT-Basdat -o… /Custom-Ubuntu.ISO . Xorriso 1.3.2: Manipulador de sistema de arquivos Rockridge, Projeto Libburnia. Drive Current: -Outdev 'stdio:… /Custom -Ubuntu.ISO 'Media Corrente: Arquivo STDIO, Status da mídia substituível: está em branco Resumo da mídia: 0 sessões, 0 blocos de dados, 0 dados, 1444g grátis adicionado à ISO Imagem: Diretório'/'='/Home/Lubos/Custom-Ubuntu/Custom -isso 'Xorriso: Atualização: 549 arquivos adicionados em 1 segundos Xorriso: Atualização: 549 Arquivos adicionados em 1 segundos Xorriso: Nota: Copiar para a área do sistema: 512 bytes do arquivo'/home/lubos/personalidade-ubuntu/custom-iso/ isolinux/isohdpfx.Bin 'Libisofs: Nota: Geometria MBR ajustada automaticamente para 1017/89/32 Libisofs: Nota: Tamanho da imagem alinhada ao tamanho do cilindro por 367 Blocks Xorriso: Atualização: 100.00% Feito ISO Imagem produzida: 724104 setores escritos para médio: 724104 Setores em LBA 0 escrevendo para 'stdio:… /Custom-Ubuntu.ISO 'concluído com sucesso. 

O comando acima resultará em novo … /Ubuntu personalizado.ISO imagem isohibrida.

Obtendo informações de imagem

Se tudo correu bem nosso Custom-Ubuntu O diretório agora deve conter uma nova imagem isohibrida Custom-Ubuntu.ISO:

$ LS Custom-ISO Custom-Ubuntu.ISO orig-iso squashfs-root ubuntu-16.04-DESKTOP-AMD64.ISO 

Tabela de partição:

$ sudo fdisk -lu personaliza -ubuntu.ISO Disk Custom-Ubuntu.ISO: 1.4 GIB, 1482964992 Bytes, 2896416 Unidades de setores: setores de 1 * 512 = 512 Bytes Tamanho do setor (lógico/físico): 512 bytes/512 bytes I/S Tamanho (mínimo/ideal): 512 bytes/512 bytesLablabsLab (512 (512 Bytes/512 bytesLablLB (Mínimo/Optimal): 512 (512 Bytes/512 bytesLab Identificador de disco: 0x751e87f5 Boot de inicialização dos setores final de tamanho de tamanho de idézio.ISO1 * 0 2896415 2896416 1.4G 0 Ubviote personalizado vazio.ISO2 540 5083 4544 2.2M EF EFI (FAT-12/16/32) 

Informações sobre cabeçalho e catálogo:

$ sudo dumpepet -i personalizado -ubuntu.Entrada de validação ISO: Indicador de cabeçalho: 0x01 (entrada de validação) PlatformId: 0x00 (80x86) ID: "" Soma de verificação: 0x55aa Bytes de chave: 0x55aa Catalog de inicialização Padrão: entrada: entrada é inicialização de mídia de inicialização Tipo: nenhum segmento de carga de mídia de emulação: 0x0 (0x0 (0x0 (0x0 0000: 7c00) Tipo de sistema: 0 (0x00) Carregar setores: 4 (0x0004) Carregar LBA: 701876 (0x000AB5B4) Entrada do cabeçalho da seção: Indicador de cabeçalho: 0x91 (entrada da seção final da seção) : "" Catálogo de inicialização Seção Entrada: Entrada é inicializável Mídia de inicialização Tipo de emulação: sem emulação Endereço de carga de mídia: 0 (0x0000) Tipo de sistema: 0 (0x00) Setores de carga: 4544 (0x11c0) Load LBA: 135 (0x00000087) 

Cabeçalho de validação de Eltorito:

$ isoinfo -d -i Custom -Ubuntu.O CD-ROM ISO está no ISO 9660 Format System ID: Volume ID: ISOIMAGE VOLUME Set ID: Publisher ID: Data Preparador ID: Xorriso-1.3.2 2013.08.07.110001, Libisoburn-1.3.2, libisofs-1.3.2, Libburn-1.3.2 ID do aplicativo: ID do arquivo de direitos autorais: Resumo ID do arquivo: Bibliográfico ID do arquivo: Tamanho do conjunto de volumes IS: 1 conjunto de volumes Número da sequência IS: 1 Tamanho do bloco lógico IS: 2048 Tamanho do volume IS: 724104 El Torito VD Versão 1 No setor 117 Nenhuma Joliet Presente Rock Ridge Assinaturas Versão 1 Encontrou o cabeçalho da validação Eltorito: HID 1 Arch 0 (x86) ID "Key 55 AA Eltorito Defaultboot Cabeçalho: BootId 88 (Bootable) 0 NSECT 4 BOTOFF AB5B4 701876 

Catálogo de inicialização e caminhos de imagem relevantes:

# xorriso -Indev Custom -Ubuntu.iso -toc -pvd_info xorriso 1.3.2: Manipulador de sistema de arquivos Rockridge, Projeto Libburnia. XORRISO: NOTA: Carregando a árvore de imagem ISO de LBA 0 XORRISO: ATUALIZAÇÃO: 549 nós lidos em 1 segundos Xorriso: Nota: Informações de inicialização El-Torito detectadas que atualmente estão definidas para ser descartada Drive Current: -Indev 'Custom-Ubuntu.ISO 'Mídia atual: arquivo stdio, status de mídia substituível: está escrito, é anexo registro de inicialização: el torito, isolinux isohibrid mbr apontando para inicializar imagens resumo de mídia: 1 sessão, 724104 blocos de dados, 1414m dados, 1442g de volume livre id:' isoimage 'Drive Current: -Indev' Custom -Ubuntu.ISO 'Tipo de unidade: fornecedor' yoyodyne 'produto' warp drive 'revision' fx01 'mídia atual: arquivo stdio, status de mídia substituível: está escrito, é anexo blocos de mídia: 724104 Legável, 755967444 Indicável, 756691572 Registro de botas geral: El Torito, Isolinux isohibrid mbr apontando para inicializar o catálogo de inicialização de imagem: '/isolinux/boot.Imagem de bota de gato: '/isolinux/isolinux.bin ', boot_info_table = na imagem de inicialização:'/boot/grub/efi.IMG ', plataform_id = 0xef Toc Layout: IDX, SbSector, tamanho, ID do volume ISO Sessão: 1, 0, 724104S, Isoimage Media Resumo: 1 Sessão, 724104 Blocos de dados, 1414m Dados, 1442G Free Media NWA: 724128S DIVERTURA: - - Indev 'Ubuntu Custom.ISO 'PVD Endereço: 16S Volume ID: ISOIMAGE Volume Set ID: Publisher ID: Preparador ID: Xorriso-1.3.2 2013.08.07.110001, Libisoburn-1.3.2, libisofs-1.3.2, Libburn-1.3.2 ID do aplicativo: ID do sistema: CopyrightFile: Resumo Arquivo: Biblio Arquivo: Criação Tempo: 2016020823095700 Modif. Tempo: 2016020823095700 Expir. Tempo: 0000000000000000 EFF. Tempo: 0000000000000000 

Inicialização de uma nova imagem personalizada do Ubuntu

Observe que a nova imagem personalizada do Ubuntu produzida deve inicializar nos três modos, ou seja, BIOS Legacy, UEFI, assim como a UEFI com a opção Secureboot habilitada. No entanto, isso não é garantido e os problemas podem ocorrer devido aos bugs de firmware de hardware etc.

Para inicializar sua nova imagem personalizada do Ubuntu, queime o resultado ISO em disco de CD ou use ddrescue comando para cloná -lo para o seu stick USB:

$ sudo ddrescue personaliza-ubuntu.ISO /dev /sdx -force -d 

Seu stick USB agora contém sistema ao vivo do Ubuntu personalizado. Tudo deve estar pronto para inicializar do seu stick USB.

Tutoriais do Linux relacionados:

  • Como montar a imagem ISO no Linux
  • Ubuntu 20.04 Download
  • Coisas para instalar no Ubuntu 20.04
  • Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
  • Crie Manjaro Linux inicializável USB
  • Ubuntu 20.04 Guia
  • Como fazer um USB inicializável a partir de um ISO no Linux
  • Como abrir arquivos ISO no Ubuntu Linux
  • Coisas para instalar no Ubuntu 22.04
  • Crie ubuntu inicializável 22.04 disco de inicialização USB