[devel-sbc] Драйвер файловых систем ext2, ext3, ext4 для EFI на aarch64

Дмитрий Терехин jqt4 at basealt.ru
Fri Jan 17 17:26:29 MSK 2020


Здравствуйте!

Для систем архитектуры aarch64 с поддержкой EFI в репозитории Сизиф доступен драйвер
для чтения файловых систем  ext2, ext3, ext4 из EFI.
Это позволяет загружать ядро Linux, собранное с включенным CONFIG_EFI_STUB и установленное
на раздел с ext2/ext3/ext4 непосредственно из EFI, не копируя его на раздел с FAT 
и не используя сторонний загрузчик, например GRUB.
Пакет называется efidrvext234 (efidrvext234-1.3.0.7.g6e00-alt1.aarch64.rpm)
Файл с драйвером ext2_aa64.efi

При использовании данного пакета нужно учитывать следующее:
Предполагается, что в работающей системе FAT раздел смонтирован в каталог /boot/efi
На FAT разделе драйвер ставится в каталог efi/drivers.

Пример использования драйвера на системе с процессором BE-M1000 [1]:
В корне FAT раздела создан файл startup.nsh следующего содержания:
load fs0:\efi\drivers\ext2_aa64.efi
map -r
FS2:\boot\vmlinuz root=UUID=1c7eb191-e132-4c56-969a-607b4763e6ef ro console=ttyS0,115200 video=HDMI-A-1:1280x720 at 60 fbcon=map:0 initrd=/boot/initrd.img dtb=/boot/dtb/bm-bfkm.dtb
Данный файл содержит команды EFI Shell
В 1-й строке выполняестся загрузка драйвера с FAT раздела.
Во 2-й строке производится ремаппинг устройств. Устройства с поддерживаемыми файловыми системами будут распознаны и 
выдан их список.
В 3-й строке ядро Linux запускается как EFI-приложение (для этого и нужен CONFIG_EFI_STUB) и ему передаются параметры командной строки.
Замечу, что /boot/vmlinuz, /boot/initrd.img и /boot/dtb/ это симлинки, а символ "\" требуется синтаксисом EFI Shell.

Также был собран пакет efidrvfs (efidrvfs-1.3.0.7.g6e00-alt1.aarch64.rpm), содержащий драйверы для других файловых систем:
affs_aa64.efi 
bfs_aa64.efi
btrfs_aa64.efi
exfat_aa64.efi
f2fs_aa64.efi 
hfs_aa64.efi
hfsplus_aa64.efi
iso9660_aa64.efi
jfs_aa64.efi
nilfs2_aa64.efi
ntfs_aa64.efi 
reiserfs_aa64.efi
sfs_aa64.efi
udf_aa64.efi
ufs2_aa64.efi 
xfs_aa64.efi
zfs_aa64.efi
Эти драйверы я не тестировал.

С уважением
Дмитрий Терёхин

[1] https://www.baikalelectronics.ru/products/238/



More information about the devel-sbc mailing list