U-Boot agora oferece suporte ao sistema de arquivos SquashFS

Graças à contribuição de João Marcos Costa, da empresa Bootlin, o Bootloader U-Boot agora oferece suporte ao sistema de arquivos SquashFS.

SquashFS é um dos mais populares sistemas de arquivos compactados somente leitura para o sistema operacional Linux. É amplamente utilizado em sistemas embarcados para compactar sistemas de arquivos inteiros, inodes e diretórios.

Em 2009, o suporte para SquashFS foi incorporado ao kernel principal como parte do Linux 2.6.9. Mas até agora, o Universal Bootloader (U-Boot) de código aberto não suportava SquashFS, levando a uma incapacidade de carregar imagens do kernel ou Device Tree Blobs de um sistema de arquivos SquashFS no U-Boot.

Agora, o suporte SquashFS foi finalmente adicionado ao U-Boot graças à contribuição de João Marcos Costa, estagiário da empresa Bootlin.

U-Boot agora oferece suporte ao sistema de arquivos SquashFS

U-Boot agora oferece suporte ao sistema de arquivos SquashFS

O suporte para SquashFS agora está disponível no U-Boot upstream, que você pode encontrar em fs/squashfs/ no código-fonte do U-Boot.
U-Boot agora oferece suporte ao sistema de arquivos SquashFS

Mais especificamente, a contribuição inclui um novo driver de sistema de arquivos SquashFS, comandos, suporte para descompressão zlib no driver e scripts para testar seus comandos.

Para usar o sistema de arquivos SquashFS, você também precisa primeiro habilitar seu suporte, que em troca adiciona o driver SquashFS e fornece comandos U-Boot SquashFS.

O comando inclui sqfsls para listar arquivos de um sistema de arquivos raiz Linux típico.
=> sqfsls mmc 0:1
bin/
boot/
dev/
etc/
lib/
lib32
linuxrc
media/
mnt/
opt/
proc/
root/
run/
sbin/
sys/
tmp/
usr/
var/

2 file(s), 16 dir(s)

E sqfsload para carregar imagens do kernel do Linux e blobs da árvore de dispositivos dos arquivos.
=> sqfsload mmc 0:1 $kernel_addr_r /boot/zImage
6160384 bytes read in 433 ms (13.6 MiB/s)
=> sqfsload mmc 0:1 0x81000000 /boot/am335x-boneblack.dtb
40817 bytes read in 11 ms (3.5 MiB/s)
=> setenv bootargs console=ttyO0,115200n8
=> bootz $kernel_addr_r - 0x81000000
## Flattened Device Tree blob at 81000000
Booting using the fdt blob at 0x81000000
Loading Device Tree to 8fff3000, end 8fffff70 ... OK

Starting kernel ...

[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.19.79 (joaomcosta@joaomcosta-Latitude-E7470) (gcc version 7.3.1 20180425 [linaro-7.3-2018.05 revision d29120a424ecfbc167ef90065c0eeb7f91977701] (Linaro GCC 7.3-2018.05)) #1 SMP Fri May 29 18:26:39 CEST 2020
[ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d

Como o código do driver SquashFS é novo, você também pode encontrar alguns bugs ou limitações, que você pode relatar para resolver o mais rápido possível.

Além das contribuições do SquashFS, João também enviou o código para adicionar suporte para a descompressão LZO e ZSTD.

O que está sendo falado no blog

Categorias Arch, bodhi, CentOS, Debian, Deepin, Elementary, Fedora, Gentoo, Kali, Kylin, LFS, Linux, Linux Mint, Mageia, Mandriva, Manjaro, Não categorizado, Notícias, Open Source, OpenMandriva, openSUSE, pclinuxos, Pop!_OS, RedHat, Sabayon, Scientific, slackware, Software livre, Solus, SUSE, Trisquel, Tutorial, Ubuntu, Zorin Tags , , , , , , , ,
Sair da versão mobile