Legacy BIOS, UEFI e Secureboot Ready Ubuntu Live Image Personalização
- 4276
- 923
- Howard Fritsch
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
- Menu EFI Bootloader:
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
- « Configurando a autorização de privilégios sudo do estilo Ubuntu no Debian Linux
- Instalação de Cran R-3.2.1 no Debian Linux 8 Jessie »