quarta-feira, 20 de janeiro de 2016

Desembarcando no Arch (O Retorno)

Minha alforria do GRUB

Bootloader no-nonsense: systemd-boot

Não tenho nada contra o escopo do GRUB de ser um bootloader tipo pia da cozinha, que suporta tudo de todas as maneiras possíveis. Repugnante é o formato usado em seus arquivos de configuração.

Como bom nômade, migrei para o Arch depois de longa estada no openSUSE. Só que desta vez decidi não usar o GRUB de jeito nenhum. Configurei meu notebook para iniciar em UEFI e passadas algumas horas, com relativa facilidade, tinha um Arch funcional e enxuto com o GNOME. No lugar do inchado bootloader, pus o systemd-boot, antigo Gummiboot. Achei a página que trata dele na wiki desnecessariamente complicada.

Meu particionamento é o mais KISS possível (sugiro o cfdisk):

Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

Device       Start       End   Sectors   Size Type
/dev/sda1     2048   1050623   1048576   512M EFI System
/dev/sda2  1050624 976773134 975722511 465.3G Linux filesystem

Montagem dos volumes durante a instalação. A partição ESP (EFI System Partition) deve ser montada em /boot (/mnt/boot enquanto instalamos):

# wipefs -af /dev/sda1
# wipefs -af /dev/sda2
# mkfs.vfat -F32 /dev/sda1
# mkfs.xfs /dev/sda2
# mount /dev/sda2 /mnt
# mkdir /mnt/boot
# mount /dev/sda1 /mnt/boot

Depois de instalar os pacotes e configurar o sistema (pacstrap, genfstab, arch-chroot):

# bootctl install

Criar os arquivos:

/boot/loader/loader.conf

default arch
timeout 5
editor  0

/boot/loader/entries/arch.conf

title    Arch Linux
linux    /vmlinuz-linux
initrd   /initramfs-linux.img
options  root=PARTUUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx rw quiet systemd.show_status=1

A sequência de x é o UUID da partição (GPT) raiz (/dev/sda2 na minha instalação), obtido com:

# blkid -s PARTUUID -o value /dev/sda2

Dá para usar UUID do sistema de arquivos também (-s UUID), pois o mount suporta ambos. Usando PARTUUID, como é recomendado na wiki, torna o sistema mais robusto, pois, se o UUID mudar, continuará funcionando.

Dica: o genfstab gera uma entrada para a partição ESP no /etc/fstab. Recomendo removê-la, pois o systemd-gpt-auto-generator, quando o systemd-boot é usado, cria automaticamente boot.automount, que desmonta o volume depois de 120 segundos de inatividade. Não é obrigatório, porém é uma configuração mais segura. A partição ESP é delicada. Lembremos que o sistema de arquivos dali (FAT) não é journaled. Caso fique corrompido, nada de boot. Através do automount, estará na maior parte do tempo desmontado e a salvo de qualquer azar. ☺

Jan 19 21:22:48 thinkpad systemd[1]: boot.automount: Got automount request for /boot, triggered by 3783 (bash)
Jan 19 21:22:48 thinkpad systemd[1]: Mounting EFI System Partition Automount...
Jan 19 21:22:48 thinkpad systemd[1]: Mounted EFI System Partition Automount.
...
Jan 19 21:26:49 thinkpad systemd[1]: Unmounting EFI System Partition Automount...
Jan 19 21:26:49 thinkpad systemd[1]: Unmounted EFI System Partition Automount.

Tchau, GRUB. Passar bem.

# bootctl 
System:
     Firmware: UEFI 2.31 (Lenovo 0.9568)
  Secure Boot: disabled
   Setup Mode: user

Loader:
      Product: systemd-boot 228
    Partition: /dev/disk/by-partuuid/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
         File: `-/EFI/systemd/systemd-bootx64.efi

Boot Loader Binaries:
          ESP: /dev/disk/by-partuuid/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
         File: `-/EFI/systemd/systemd-bootx64.efi (systemd-boot 228)
         File: `-/EFI/Boot/BOOTX64.EFI (systemd-boot 228)

Boot Loader Entries in EFI Variables:
        Title: Linux Boot Manager
           ID: 0x0004
       Status: active, boot-order
    Partition: /dev/disk/by-partuuid/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
         File: `-/EFI/systemd/systemd-bootx64.efi

Arch Way Of Life

Das vezes anteriores que tentei usar o Arch sempre acabava encontrando algum problema insolúvel, ruinoso. Cabe dizer que havia usado o KDE nessas tentativas.

Desta vez, por outro lado, foi tranquilo. Algum tempo gasta-se pesquisando quais pacotes são necessários e realizando pouca configuração manual aqui e acolá, mas nada que tenha abalado minha fé pelo caminho. O GNOME a esta altura, na versão 3.18, está bem polido e integrado.

O Arch Way Of Life é mais racional. Ao invés de ficar depenando o bloatware de instalações do Fedora ou openSUSE, melhor construir uma instalação do Arch, pacote por pacote.

Tenho em mãos uma distribuição comunitária, moderna, sem ranço, cujo foco é excelência técnica.

Firefox GTK+ 3

O Firefox 43 do Arch é compilado com GTK+ 3. Inconscientemente estava esperando fogos de artifício, luzes piscantes, bebida liberada. Nada disso. A interface é praticamente a mesma do velho toolkit GTK+ 2. Foram vestindo aos poucos uma roupa nova, mesmo corte e medida, porém feita com tecido melhor, por baixo da velha. Até o ponto em que tornou-se possível arrancar a velha e ficar com a nova.

Outra novidade da versão 43 é o abandono do GStreamer para tocar multimídia — já completamente removido do código. Agora, carrega diretamente, quando presente no sistema, a libavcodec do FFmpeg/Libav. Está funcionando bem. Não existe por enquanto, contudo, decodificação por hardware (MOZBZ#563206).

Cabelo curto FTW, Suzanne!
libvpx decodifica VP9

No openSUSE, o Firefox é compilado com -Os, enquanto, no Arch, com -O2. Pelo fato do Arch sempre usar versão recente do GCC, o binário tende a ser mais otimizado.

Ah, Flash nem pensar. Não poluirei minha instalação com essa porcaria.

Nenhum comentário:

Postar um comentário