Single-board computer software development discussions
 help / color / mirror / Atom feed
* [devel-sbc] Драйвер файловых систем ext2, ext3, ext4 для EFI на aarch64
@ 2020-01-17 14:26 Дмитрий Терехин
  0 siblings, 0 replies; only message in thread
From: Дмитрий Терехин @ 2020-01-17 14:26 UTC (permalink / raw)
  To: Single-board computer software development discussions

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

Для систем архитектуры 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@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/



^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-01-17 14:26 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-17 14:26 [devel-sbc] Драйвер файловых систем ext2, ext3, ext4 для EFI на aarch64 Дмитрий Терехин

Single-board computer software development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel-sbc/0 devel-sbc/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel-sbc devel-sbc/ http://lore.altlinux.org/devel-sbc \
		devel-sbc@lists.altlinux.org devel-sbc@lists.altlinux.ru devel-sbc@lists.altlinux.com
	public-inbox-index devel-sbc

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel-sbc


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git