SliTaz SliTaz Forum

You are not logged in.

#1 2020-11-12 22:02:50

comodo
Member
Registered: 2020-11-12
Posts: 1

esp.img taille maximale

Bonjour

j'utilise tazlito pour reconstruire une image ISO personnalisée de Slitaz

Je m'appuie sur l'image slitaz-rolling-core64.iso du 2020-Nov-08

Le problème se présente en UEFI qui au boot du système charge le fichier esp.img (efi.img dans les versions plus anciennes de Slitaz)

Le fichier esp.img embarque rootfs.gz comme j'ai rajouté beaucoup de données mon fichier rootfs.gz dépasse les 500 Mo.

La création avec tazlito gen-initiso se passe bien.

Mais en pratique le fichier esp.img n'est pas valide car il utilise une FAT16 bits et des secteurs de 2048 octets, donc la taille maxi de esp.img ne peut pas excéder les 128Mo, ce qui n'est pas compatible avec mes 500Mo.

Quelle solution pour contourner le problème en UEFI (en BIOS pas de soucis) serait-il possible de faire évoluer le format de esp.img vers de la FAT32 ?

Merci

Offline

#2 2020-11-18 09:25:35

bellard
Administrator
Registered: 2011-03-28
Posts: 657

Re: esp.img taille maximale

J'ai voulu reproduire le problème avec un esp.img de plus de 128M :

# du -h /mnt/cdrom/efi/esp.img /mnt/cdrom/efi/boot/rootfs.gz

154M    /mnt/cdrom/efi/esp.img

150M    /mnt/cdrom/efi/boot/rootfs.gz

Le fichier esp.img est au format fat32 :

# file /mnt/cdrom/efi/esp.img

/mnt/cdrom/efi/esp.img: DOS/MBR boot sector, code offset 0x58+2, OEM-ID "SliTaz", sectors/cluster 4, reserved sectors 8, Media descriptor 0xf8, sectors/track 32, heads 64, hidden sectors 420, sectors 314316 (volumes > 32 MB), FAT (32 bit), sectors/FAT 612, serial number 0x0, label: "SLITAZ BOOT"

Le problème vient de la spécification el torito (démarrage depuis un cdrom) qui ne reserve que 2 octets pour le nombre de secteurs de l'image soit 128Mo max (65535 * 2Ko), ce qui semblait suffisant en 1995.

http://hg.slitaz.org/tazlito/rev/668f2e7befb0

https://pdos.csail.mit.edu/6.828/2014/readings/boot-cdrom.pdf

En UEFI l'image ne démarrera pas sur CD-ROM mais le fera avec une clé USB ou une carte SD (qui utilisent la partition système EFI)

On pourrait contourner le problème en chargeant rootfs.gz avec le noyau linux :

1) on 'cache' rootfs.gz à tazlito en le renommant en extra.gz

2) on recupère un rootfs.gz de la saveur base (ou rootfs5.gz de la 5in1)

3) on modifie le /init rootfs.gz pour charger l'extra.gz

4) un tazlito gen-iso devrait finir le boulot.

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.019 seconds, 7 queries executed - Memory usage: 1.53 MiB (Peak: 1.77 MiB) ]