Como criar um sistema inicializável com raiz squashfs

Como criar um sistema inicializável com raiz squashfs

Meu objetivo é poder usar um sistema de arquivos raiz personalizado carregado com o software que desejo. Até agora, criei um sistema de arquivos compactado usando debootstrap e chroot para instalar o software que desejo no sistema.

O problema que estou enfrentando agora... sempre que inicializo o sistema, minhas contas de usuário que foram configuradas no chroot não funcionam. Na primeira inicialização tudo dá certo, na segunda inicialização não consigo fazer login.

Alguém sabe um motivo ou um lugar para começar a procurar?

Responder1

Para obter um sistema funcional com um sistema de arquivos squashfs:

sudo apt-get install live-boot live-boot-initramfs-tools extlinux
sudo update-initramfs -u

Crie um arquivo squashfs a partir de um sistema de arquivos ubuntu inicializado ou em execução com os pacotes que você deseja disponíveis. https://help.ubuntu.com/community/LiveCDCustomizationFromScratchfornece boas instruções para criar um sistema debootstrapped para construir. Formate a unidade de destino com ext2/3/4 e habilite o sinalizador inicializável. Crie o layout da pasta na unidade de destino e instale o extlinux:

mkdir -p ${TARGET}/boot/extlinux ${TARGET}/live
extlinux -i ${TARGET}/boot/extlinux
dd if=/usr/lib/syslinux/mbr.bin of=/dev/sdX #X is the drive letter
cp /boot/vmlinuz-$(uname -r) ${TARGET}/boot/vmlinuz
cp /boot/initrd.img-$(uname -r) ${TARGET}/boot/initrd
cp filesystem.squashfs ${TARGET}/live

Crie ${TARGET}/boot/extlinux/extlinux.conf com o seguinte conteúdo:

DEFAULT Live
LABEL Live
  KERNEL /boot/vmlinuz
  APPEND initrd=/boot/initrd boot=live toram=filesystem.squashfs
TIMEOUT 10
PROMPT 0

Agora você deve conseguir inicializar a partir da unidade de destino em seu sistema comprimido.

Responder2

Esta questão foi resolvida pelo OP:

Bem, eu fiz funcionar. Usei live-boot & live-boot-initramfs-tools para gerar um initrd e extlinux para o bootloader. Funciona como um encanto.

informação relacionada