Problemas com o superblock do ext2


logo após mandar o email sobre como des-deletar arquivos, uma amigo chegou com um caso intrigante de uma partição ext3
de 300Gb que não montava… sintomas :

Ao tentar montar o erro:


The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193

E no dmesg a desanimadora mensagem :

EXT3-fs: unsupported inode size: 0

Ao tentar passar o fsck.ext3 manualmente mais um balde de água fria
:

Floating point exception

Esses problemas podem ser um clássico problema de superbloco corrompido… O superbloco pode
ser visto à groço modo como um mapa do sistema, mas felizmente tá vários backups dele pelo sistema,
e é essa estratégia pra recuperar a partição 🙂

O comando é :


fsck.ext3 -C -y -b /dev/


O “-C” é para aparecer a barrinha enchendo, o y é para responder Sim para todas as perguntas, o “-b ” é para passar o endereço do superbloco alternativo, que muda dependendo do tamanho da partição, olha ai os endereços:

Bloco-mínimo da partição endereço

1k 8193
2k 16384
4k 32768

É só substituir que funciona, no caso da partição de 300Gb o comando foi :


fsck.ext3 -C -y -b 32768 /dev/

Ubuntu dapper em powerbook G4

Bom, faz um tempo que venho estudando o ubuntu dapper… e a versão liveCD para PPC simplesmente não funcionou no meu powerbook G4… o GNOME não sobe ! E ao forçar o gnome, o sistema de instalação simplesmente não funciona !!!!! Arrg ! Apesar disso, pbbutons , som, wireless e o vídeo funcionam maravilhosamente bem, assim como no fedora 4 … Mas essa versão para PPC realmente foi esquecida pelos developers, nem o tema do GNOME é o mesmo para as 3 arquiteturas da distro… Lamentável.

Então, estou escrevendo um guia de instalação manual do ubuntu Dapper em PPC via liveCD, no melhor estilo gentoo de se instalar uma distro :

O gnome não subiu no liveCD, não existe outra alternativa ao gnome nesse cd…. o que fazer ? Eu fui para o modo console, e lá o sistema já está logado como
usuário ubuntu. Crie o arquivo .xinitrc :


echo "exec xterm" > .xinitrc

Então suba uma nova instância do X:


xinit -- :1

Se tudo der certo você terá um terminal “xterm” no seu modo gráfico, agora reparticione seu HD com o mac-fdisk… se você não sabe como, vá para o Mac Os X , e faça usando o Disk Utility. Com o mac-fdisk crie uma partição de bootstrap e outra para o seu linux:


mac-fdisk /dev/hda

Crie a partição bootstrap com o comando “b”, quando ele pedir o “First Block” diga o número da partição de espaço livre seguido da letra “p”, exemplo “12p”. Agora crie uma partição linux , use o comando “c”, seguido da partição livre (exemplo: 13p) e finalmente o tamanho da partição, exemplo : 5G.

Formate sua partição linux, exemplo:


mkfs.ext3 /dev/hda2

Com sua partição linux criada e formatada, monte e compie os dados do root do liveCD, mas não copie o conteúdo dos diretórios: cdrom , proc e sys, ok ? E não esqueça de copiar os arquivos com o comando “cp -a”, sem isso o seu sistema do HD não vai funcionar apropriadamente.

Temos também que formatar a partição do openfirmware bootstrap device que criamos agora a pouco, para isso, use o comando :


mkofboot -o /dev/hda9 # No meu caso

Após isso, temos que configurar o bootloader, no caso dos portáteis apple , o yaboot, ele tem um script que gera a configuração automaticamente, o yabootconfig, mas no ubuntu ele não funcionou apresentando o erro: “yabootconfig: unionfs: no such file or directory”…. Ou seja , vamos criar a configuração na mão 🙂
Para nossa sorte a configuração do yaboot é muito parecida com a do lilo, um exemplo de configuração é:

/etc/yaboot.conf

##

Para menu dual-boot, adcione :

bsd=/dev/hdaX, macos=/dev/hdaY, macosx=/dev/hdaZ

Coloque aqui a partição bootstrap

boot=/dev/hda9

Se vc tem um G5 descomente essa linha !

#ofboot=hd:2

Apelido para seu hd do jeito que o OpenFirmware vê

device=/pci@f2000000/mac-io@17/ata-4@1f000/disk@0:

delay=5
defaultos=macosx
timeout=30
install=/usr/lib/yaboot/yaboot
magicboot=/usr/lib/yaboot/ofboot

image=/boot/vmlinuz-2.6.15-23-powerpc
label=Linux
initrd=/initrd.img.old
root=/dev/hda12
partition=12
read-only

macos=/dev/hda13
macosx=/dev/hda12
enablecdboot
enableofboot

Para instalar o bootloader no hd, o comando é : ybin -b /dev/hda9 -C yaboot.conf . Você não precisa fazer chroot no sistema que você está instalando para rodar o ybin, basta dizer para ele qual é a partição de boot e onde está o arquivo de configuração.

Por último temos, arrumar o /etc/fstab, adicionando o a linha correspondente ao nosso root.
Depois disso, meu sistema bootou ai tive que resolver outros problemas heheh, espero que você também consiga !