Instalar Arch Linux no Asus T100TA: não dá boot em UEFI de 32 bits

Olá, pessoal!

Estou querendo experimentar o Arch Linux com KDE em meu tablet/netbook Asus T100TA. Esse computadorzinho possui um processador Atom Z3775, 2GB de RAM e 32GB de armazenamento eMMC.

Eis o que o torna diferente: embora o processador suporte sistemas de 64 bits, a UEFI é de 32 bits. Sistemas como o Debian x86_64 conseguem bootar sem problemas, já que a .iso inclui compatibilidade com UEFI IA32.

Vi alguns usuários do Arch comentando que agora a .iso inclui suporte a UEFI IA32 e permite instalação nesse tipo de computador. Contudo, não consigo passar da tela inicial do GRUB. Ao selecionar "Arch Linux install medium (x86_64, UEFI), o sistema não dá boot e retorna o erro 2147483651:“you need to load the kernel first”.

O Secure Boot está desabilitado nas opções da BIOS. Já tentei gerar o pendrive de boot usando o Ventoy, o Balena Etcher e o Popsicle, e todos retornam o mesmo resultado. Baixei a .iso oficial no site do Arch hoje. Tentei também com dois pendrives diferentes.

A wiki do Arch informa o seguinte:

See Unified Extensible Firmware Interface#UEFI firmware bitness, if using GRUB set --target=i386-efi.

For users using archinstall, be sure to choose GRUB as your boot loader. By default, archinstall will install GRUB 64-bit UEFI binaries. To fix this, after archinstall has completed all tasks, chroot into your new system and issue the two commands listed above.

Note: Systems with IA32 UEFI require using a boot loader that supports mixed mode booting. For example, GRUB when installed with the i386-efi target.

Embora eu já tenha instalado e usado o Arch no passado, estou confuso de como proceder nesse caso. Alguém já passou por algo semelhante?

Tentei apertar “e” na tela do GRUB para editar as opções e coloquei o parâmetro --target=i386-efi na linha que inicia com “linux”. Tentei dar boot com Ctrl + X. Não obtive resultado, mas não sei se fiz o procedimento correto… Não tenho experiência com isso.

Estou achando estranho porque, de fato, ao analisar os arquivos da .iso, há a preparação para dar boot em UEFI de 32 bits.

Desde já, obrigado.

Você pode tentar iniciar uma LiveCD de outra iso que boote e instalar o arch pelo rootfs/bootstrap tarball + chroot, já tentou isso?


Tutorial do void, dá para adaptar pro arch.
https://docs.voidlinux.org/installation/guides/chroot.html

https://wiki.archlinux.org/title/Install_Arch_Linux_from_existing_Linux

2 curtidas

De boa, vc vai bater cabeça umas horas, Arch tirou o suporte a 32-bits tem algum tempo…

Porém…

https://archlinux32.org/

Vai com tudo!

A comunidade do Arch, da qual me orgulho, tem saída pra tudo :grinning:

Estupidamente simples!

1 curtida

Obrigado pela dica. Eu não havia pensado nisso. Vou dar uma olhada. :slight_smile:

Atualmente o Debian 12 GNOME (64 bits) está instalado.

Obrigado pela sugestão. Contudo, estou interessado em usar um sistema de 64 bits. Atualmente, sistemas de 32 bits já limitam muito a disponibilidade de pacotes. :wink:

Distros como Debian e Fedora conseguem dar boot normalmente nesse computador. O Arch também deveria porque, pelo que andei lendo, o suporte a UEFI de 32 bits foi adicionado. Inclusive dei uma olhada na .iso e ela realmente tem os arquivos de 32 bits. Não compreendo porque não passa da tela do GRUB…

O Atom Z3775 é um processador quad core de 64 bits. A questão é fazer o pendrive de boot passar pela UEFI de 32 bits e iniciar o instalador de 64 bits. A partir daí, tudo ocorre normalmente.

Queria instalar o Arch. Contudo, se não conseguir, mantenho o Debian, embora trocando de GNOME para KDE.

Há alguma outra mensagem de erro em cima de “you need to load the kernel first”? Geralmente é porque o HD ou a partição com o kernel não foi localizada corretamente.

Chegou a rodar grub-mkconfig -o /boot/grub/grub.cfg novamente depois da instalação?


EDIT: vi que você não passou da tela do instalador, nesse caso, posso indicar esse procedimento aqui:

A ideia é parecida, só que localizando o kernel da partição do LiveUSB em vez do kernel no disco.

1 curtida

Na realidade eu não consigo sequer iniciar o instalador. Eu criei o pendrive de boot, alterei a ordem de boot na BIOS e ele abre na tela do GRUB. Aí, ao tentar carregar o “Arch Linux install medium”, ele falha.

A única mensagem que aparece é essa do kernel. E aí ele retorna para o menu de seleção. Testei o pendrive de boot em outro computador (laptop Asus S46CB com Core i7 3537U) e funcionou normalmente.

EDIT: obrigado pelo link. Irei dar uma olhada. :slight_smile:

O arquivo no Arch para o linux se chama vmlinuz-linux, e o para o comando initrd, initramfs-linux.img .

1 curtida

Bom dia, pessoal! Obrigado pela ajuda.

Primeiramente, em um dos links enviados pelo @Capezotte, vi que havia um comentário sobre esse problema ser causado por um cartão SD inserido no slot durante a formatação. De fato eu também tinha um, mas o removi e a situação continuou a mesma.

Eis que resolvi tentar algo que eu fazia antigamente para instalar sistemas como o Ubuntu (Debian e Fedora dão boot sem precisar disso): criar um pendrive de boot com o Rufus, usando uma máquina com Windows, e copiar um arquivo bootia32.efi para a pasta /EFI/BOOT.

De fato o pendrive bootável do Arch já tinha esse arquivo. Ou seja, parece que ele deveria ter dado boot sem esse problema (pode ser que exista um bug). Realizei a substituição do arquivo por outro que eu tinha (acredito que, na época, tinha extraído do Debian).

Eis que… Começou a dar boot normalmente. Contudo, apresentou falha após rodar os hooks:

Mounting 'UUID=' to '/run/archiso/bootmnt'
blkid: -t needs NAME=value pair
Try 'blkid --help' for more information.
Waiting 30 seconds for device /dev/disk/by-uuid/...
ERROR: 'UUID=' device did not show up after 30 seconds...
    Falling back to interactive prompt
    You can try to fix the problem manually, log out when you are finished
sh: can't access tty; job control turned off
[rootfs ~]#

Pesquisando, vi que esse problema parece ser causado pelo Rufus. Segundo a própria Wiki do Arch, a solução é gravar a imagem em modo DD, e não ISO (USB flash installation medium - ArchWiki):

Note: If the USB drive does not boot properly using the default ISO Image mode, DD Image mode should be used instead. To switch this mode on, select GPT from the Partition scheme drop-down menu. After clicking START you will get the mode selection dialog, select DD Image mode.

A questão é: se eu usar o modo DD, não posso copiar o arquivo bootia32.efi que faz o sistema bootar, pois o pendrive fica em modo somente leitura.

Se conseguisse passar por isso, o restante da instalação provavelmente iria ocorrer como de costume.

1 curtida

Ok, mas esse seria o primeiro passo para vc dar boot e verificar se consegue primeiro resolver a questão do boot, depois que isso for resolvido você pode instalar o Arch. Vou fazer um tutorial pra você.

1 curtida

Aqui eu tenho uma trilha para vc usar o Archiso e gerar a sua própria iso.

Desse modo vou fazer uma versão colocar o Uefi com o grub 32 bits

Vejo que isso poderá ser útil para muita gente. Vou tentar fazer hoje a noite.

1 curtida

Bom dia, pessoal! Muito obrigado a todos pela ajuda.

No final das contas, acabei optando por deixar o Debian Stable (64 bits)… Nele é só criar o disco de boot e pronto. Mas estudei bastante até aprender a fazer uma instalação realmente limpa e eficiente. Até que a máquina está funcionando bem para uso básico, mesmo com o GNOME. :slight_smile:

Esse é um computador que eu uso pouco, de qualquer forma. Eventulamente irei publicar um tópico relatando a experiência e como eu fiz para extrair o máximo de desempenho com o Debian.

1 curtida