A questão mais próxima que pude encontrar é essa, no entanto, ainda é um pouco diferente do que eu estou precisando: GRUB falha ao instalar
Minha configuração específica e as etapas que segui para produzir isso
Eu estou tentando construir o projeto Linux From Scratch, usando a versão de livro 7.2. Eu segui todos os passos ao longo do caminho, e executei todos os testes que eu poderia fazer para ter certeza de que tudo estava funcionando corretamente após a construção. A maior mudança que tive que fazer foi o particionamento, eu tenho / dev / sda1 (como /), / dev / sda2 (como / home), / dev / sda3 (como swap), e / dev / sdb1 (como / source para compilação).
Estou executando a instalação em um disco rígido vazio dentro do VirtualBox usando um LiveCD como sistema operacional host. Então, eu tive alguns problemas até o final. Para compilar o kernel, não é muito específico para quais opções eu preciso selecionar, então eu selecionei as opções padrão com uma mudança, eu me certifiquei da opção em "Device Drivers --- > Generic Driver Options --- > Manter um sistema de arquivos devtmpfs para montar em / dev "foi verificado.
Depois de seguir o restante das instruções sobre a configuração do GRUB, após a reinicialização, o processo de inicialização congela com a seguinte saída visível:
ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata3.00: ATA-6: VBOX HARDDISK, 1.0, max UDMA/133
ata3.00: 33554432 sectors, multi 128: LBA48 NCQ (depth 31/32)
ata3.00: configured for UDMA/133
scsi 2:0:0:0: Direct-Access ATA VBOX HARDDISK 1.0 PQ: 0 ANSI: 5
scsi 4:0:0:0: CD-ROM VBOX CD-ROM 1.0 PQ: 0 ANSI: 5
List of all partitions:
No filesystem could mount root, tried:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
Pid: 1, comm: swapper/0 Not tainted 3.5.2 #1
Call Trace:
? panic
? mount_block_root
? xen_write_msr_safe
? mount_root
? prepare_namespace
? kernel_init
? start_kernel
? kernel_thread_helper
atkbd serio0: Spurious ACK on isa0060/serio0. Some program might be trying to access hardware directly.
Então, quando eu recebi isso pela primeira vez, eu pensei que talvez fosse algo a ver com o kernel, talvez eu não tenha selecionado o que eu tinha que selecionar, e depois de um pouco de googling, eu descobri que eu deveria fazer Certifique-se de que "SATA_SIL" esteja ativado. Eu também encontrei um site detalhando as opções do kernel que precisam ser ativadas para um kernel rodando no VirtualBox ( link ). Em seguida, restaurei minha máquina para o estado salvo logo antes de compilar o kernel e o recompilei com as opções especificadas nesse site, junto com SATA_SIL.
No entanto, após a longa compilação do kernel, eu fui junto com o livro e emiti o comando grub-install /dev/sda
. No entanto, desta vez, em vez de instalar, o GRUB retornou o seguinte erro:
Path to '/boot/grub' is not readable by GRUB on boot. Installation is impossible. Aborting.
Meu primeiro pensamento foi que ele tinha algo a ver com permissões de arquivo (porque "não é legível" realmente soa como permissões de arquivo). Então, só para ver, eu configurei a pasta / boot (recursivamente) para 777. Ainda sem sucesso. Depois disso, fiz algumas pesquisas no google, mas realmente não retornei resultados significativos.
Então, acompanhando isso, eu restaurei a máquina para a versão onde o GRUB estava funcionando, mas não inicializava, usava a mesma configuração e recompilava o kernel lá (o que, eu tive que adicionar um novo disco rígido, / dev / sdc, porque não havia espaço suficiente em / dev / sdb1 para compilar o kernel com as novas opções). Depois de passar pela longa compilação novamente, eu instalei o kernel, reiniciei e ... o mesmo erro de descarga de antes.
A questão principal
Então, agora estou no ponto em que acho que posso precisar de ajuda, se alguém tiver alguma idéia de como eu posso passar por este erro de inicialização e / ou pelo erro do caminho de instalação do GRUB, seria ótimo!
Informações adicionais
Todo o meu software é a versão exata do LFS versão 7.2, uma lista completa pode ser encontrada aqui: link
Aqui está uma lista completa da estrutura e configuração de todas as unidades no computador:
root: ~ # fdisk -l
Disk /dev/sda: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders, total 8388608 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xeeeb9d91
Device Boot Start End Blocks Id System
/dev/sda1 2048 6293503 3145728 83 Linux
/dev/sda2 6293504 6817791 262144 83 Linux
/dev/sda3 6817792 8388607 785408 83 Linux
Disk /dev/sdc: 17.2 GB, 17179869184 bytes
171 heads, 2 sectors/track, 98112 cylinders, total 33554432 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x4c41c1df
Device Boot Start End Blocks Id System
/dev/sdc1 2048 33554431 16776192 83 Linux
Disk /dev/sdb: 4294 MB, 4294967296 bytes
43 heads, 32 sectors/track, 6096 cylinders, total 8388608 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xd3de256f
Device Boot Start End Blocks Id System
/dev/sdb1 2048 8388607 4193280 83 Linux
E a unidade que deve iniciar como / após a reinicialização, aqui está o conteúdo de / dev / sda1:
drwxr-xr-x 24 root root 4096 Feb 17 20:46 .
drwxr-xr-x 3 root root 60 Feb 17 22:46 ..
drwxr-xr-x 2 root root 4096 Feb 17 13:11 bin
drwxr-xr-x 3 root root 4096 Feb 17 16:00 boot
drwxr-xr-x 2 root root 4096 Feb 17 20:46 build
drwxr-xr-x 2 root root 4096 Feb 16 20:06 dev
drwxr-xr-x 12 root root 4096 Feb 17 15:52 etc
drwxr-xr-x 2 root root 4096 Feb 16 13:11 home
drwxr-xr-x 7 root root 4096 Feb 17 22:11 lib
drwx------ 2 root root 16384 Feb 16 13:09 lost+found
drwxr-xr-x 4 root root 4096 Feb 16 20:24 media
drwxr-xr-x 2 root root 4096 Feb 16 20:24 mnt
drwxr-xr-x 2 root root 4096 Feb 16 20:24 opt
drwxr-xr-x 2 root root 4096 Feb 16 20:06 proc
drwxr-x--- 3 root root 4096 Feb 17 22:14 root
drwxr-xr-x 3 root root 4096 Feb 17 09:38 run
drwxr-xr-x 2 root root 4096 Feb 17 14:36 sbin
drwxr-xr-x 2 root root 4096 Feb 16 13:11 sources
drwxr-xr-x 2 root root 4096 Feb 16 20:24 srv
drwxr-xr-x 2 root root 4096 Feb 16 20:06 sys
drwxrwxrwt 3 root root 20480 Feb 17 22:12 tmp
drwxr-xr-x 13 root root 4096 Feb 16 18:51 tools
drwxr-xr-x 9 root root 4096 Feb 16 20:24 usr
drwxr-xr-x 11 root root 4096 Feb 16 23:26 var