Pergunta
Eu tenho um ambiente chroot funcional (inittab, fstab, init.d / rcS configurado), um kernel e o grub2 instalado. O que mais preciso para que meu sistema funcione?
Antecedentes / específicos
Para fins educacionais, eu me propus a montar um pequeno ambiente Linux no qual eu possa inicializar e ter um shell em execução.
Usando o Virtualbox, anexei uma máquina virtual a dois discos rígidos (com apenas uma partição cada). O primeiro tem o Debian instalado, e no segundo eu construí um pequeno ambiente chroot com o Busybox, usando este artigo . Eu também configurei inittab
, fstab
, init.d/rcS
, e a maioria das outras coisas relacionadas ao sistema de arquivos conforme indicado no artigo, embora eu não tenha feito nada na segunda página relacionada a genfromfs
e syslinux
porque eu percebi que não estava fazendo um disquete inicializável.
Para descobrir como fazer o boot do meu sistema chroot, eu encontrei este post , e eu corri% código%. No final, ele disse que foi concluído sem erros.
Em seguida, criei uma nova máquina virtual, dessa vez com o segundo disco rígido como seu único disco rígido, e iniciei-a. Isso me deu um prompt grub, então eu pesquisei um pouco mais , e eu digitei , e eu digitei p>
set root=(hd0,msdos1)
linux /vmlinuz
boot
Eu tinha que initrd / initramfs é opcional , então decidi ignorá-lo por enquanto. Eu construí o kernel do Linux usando grub-install --root-directory=/mnt /dev/sdb
e make defconfig
e copiei sobre o bzImage sob o diretório x86 após a compilação.
No entanto, logo recebo uma tela:
[ 0.74.. ] md: autorun ...
[ 0.74.. ] md: ... autorun DONE.
[ 0.74.. ] Root-NFS: no NFS server address
[ 0.74.. ] VFS: Unable to mount root fs via NFS, trying floppy.
[ 0.74.. ] VFS: Cannot open root device "(null)" or unknown-block(2,0)
[ 0.74.. ] Please append a correct "root=" boot option; here are the avaialbe partitions:
[ 0.74.. ] 0800 ... sda driver: sd
[ 0.74.. ] 0801 ... sda1 ...
[ 0.74.. ] 0b00 .. sr0 driver: sr ..
[ 0.74.. ] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
[ 0.74.. ] Pid: 1, comm: swapper/0 Not tainted 3.2.6 #1
[ 0.75.. ] Call Trae:
[ 0.75.. ] [<c16..>] panic+0x57/0x157
[ 0.75.. ] [<c18..>] mount_block_root+0x125/0x1a7
[ 0.75.. ] [<c10..>] ? sys_mknod+0x27/0x30
.. a few more lines of call trace ...
Deixei alguns números e as últimas linhas para fora porque eu tinha que digitá-las manualmente, então se você precisar delas, me avise e eu as postarei.