Por duas semanas, venho tentando executar o meu Raspberry Pi (modelo B) como root de um RAID 5 do btrfs sem sucesso.
O RAID é executado em três discos de 1 TB /dev/sda
, /dev/sdb
e /dev/sdc
. Os três discos foram apagados com wipefs -a /dev/sdX
, então eu copiei a partição raiz no cartão SD do Pi para um disco; %código%. Eu verifiquei o disco com dd if=/dev/mmcblk0p5 of=/dev/sdb
e redimensionei para caber o 1TB com fsck.ext4 -f /dev/sdb
.
Em seguida, convertei o sistema de arquivos ext4 no disco para btrfs com o rótulo resize2fs /dev/sdb
usando RAID
. Por fim, montei o disco usando btrfs-convert -l RAID /dev/sdb
e adicionei os outros dois discos com mount /dev/sdb /mnt
e btrfs device add /dev/sdb
e os converti para o RAID 5 usando btrfs device add /dev/sdc
. btrfs balance start -dconvert=raid5 -mconvert=raid5 /mnt
mostra os três discos, todos funcionando.
Até aqui tudo funciona bem; Eu posso ver todos os arquivos e pastas em btrfs filesystem show
.
Eu instalei /mnt
e adicionei mkinitcpio
e btrfs
a raid456
. Eu não incluí o MODULES
nos ganchos devido ao bug no mkinitcpio (Veja: link ). Então corri btrfs
para criar um arquivo initrd em mkinitcpio -g /boot/initrd
.
No arquivo /boot
, tentei o seguinte para carregar config.txt
:
initramfs initrd 0x00a00000
initramfs initrd 0x00800000
initramfs initrd 0x00f00000
Em initrd
, tentei:
root=/dev/sda rw rootwait rootfstype=btrfs initrd=0x00a00000
root=/dev/sda rw rootwait rootfstype=btrfs initrd=0x00800000
root=/dev/sda rw rootwait rootfstype=btrfs initrd=0x00f00000
Durante a inicialização, recebo:
BTRFS: device label RAID devid 1 transid 2640 /dev/root
BTRFS: info (device sda): disk space caching is enabled
BTRFS: failed to read the system array on sda
BTRFS: open_ctree failed
então o kernel entra em pânico.
Minhas perguntas são:
Como posso apontar para o meu btrfs RAID 5 com o comando "root=" no cmdline.txt
Como posso garantir que cmdline.txt
esteja carregado (tentei vários endereços e nem tenho certeza se ele foi carregado).
... ou simplesmente: como faço para que isso funcione?