Пользовательский слой Yocto запускает Tune2fs на do_rootfs после mkfs.ext4

Я использую Yocto на Ubuntu 18.04 с ветвью Warrior в Meta-Tegra, чтобы попытаться интегрировать проект RAUC с открытым исходным кодом для обновлений прошивки Linux.

Я узнал, что U-Boot имеет проблемы с записью в разделы EXT4 (для обновления U-Boot Env), если файловая система EXT4, в которую он записывает, имеет атрибут metadata_csum. Linux не может смонтировать корневую файловую систему, если этот атрибут включен и U-Boot вообще записывает в нее.

Вот несколько сообщений об этом:

Я доказал, что это так, смонтировав полученный образ SDCARD из Yocto в Ubuntu и выполнив следующую команду для отключения metadata_csum:

sudo tune2fs -O ^metadata_csum /dev/sdb1
tune2fs 1.44.1 (24-Mar-2018)
Disabling checksums could take some time.
Proceed anyway (or wait 5 seconds to proceed) ? (y,N) y

После запуска этой команды U-Boot может читать/записывать по желанию из пространства U-Boot, а Linux может монтировать корневую файловую систему.

Я пытаюсь понять, как отключить контрольные суммы с помощью Tune2fs в Ubuntu во время создания образа с помощью Yocto. Где/как я могу добавить это, чтобы в образе были отключены контрольные суммы во время создания образа из Yocto? Спасибо.


person PhilBot    schedule 29.07.2019    source источник
comment
Сайт patchwork.ozlabs.org/patch/818337 был объединен с U-Boot в 2017 году. Есть ли еще выпуск с текущим U-Boot? Если это так, отправьте сообщение об ошибке в список разработчиков U-Boot.   -  person Xypron    schedule 30.07.2019


Ответы (1)


Я бегло просмотрел метатегру и думаю, что она использует образ корневой файловой системы ext4, созданный с помощью image_class.bcclass. Вы можете добавить параметры в mkfs.ext4 через EXTRA_IMAGECMD. Должна быть возможность просто создать файловую систему с отключенным metadata_csum вместо того, чтобы отключать ее позже.

Пытаться

EXTRA_IMAGECMD_append = " -O ^metadata_csum"

в вашем local.conf

person MofX    schedule 30.07.2019