Путаница в загрузочном файле uEnv.txt со встроенным Linux - PullRequest
0 голосов
/ 16 ноября 2018

Я перезагружаю внутренний emmc на моей плате BeagleBone Green с изображением Debian, хранящимся на вставной SD-карте.

Полученные инструкции меняют файл /boot/uEnv.txt вИзображение SD-карты, которое необходимо прошить и удалить комментарий в последней строке: cmdline = init = / opt / scripts / tools / eMMC / init-eMMC-flasher-v3.sh

Thisработает и мигает внутренней памятью как положено.Что я не понимаю, так это когда я проверяю файл /boot/uEnv.txt, когда изображение мигает, тогда строка снова закомментируется.Что вызывает это?

Кроме того, я подумал, что файл /boot/uEnv.txt является частью загрузчика, а не образом ядра.У меня здесь настоящая путаница.

Другое дело, извините, если это более одного вопроса.Если я хочу изменить файл uEnv.txt на образе SD-карты, а затем отправить измененное изображение кому-либо еще, как это сделать?

1 Ответ

0 голосов
/ 29 ноября 2018

Файл /boot/uEnv.txt изменяется с помощью сценария прошивки eMMC, который выполняется при загрузке платы с файлом uEnv.txt, содержащим строку cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh: параметр cmdline в этом файле указывает ядро командная строка, которую U-Boot передает ядру Linux при загрузке.

Итак, с этой строкой в ​​uEnv.txt вы в основном говорите U-Boot, чтобы он велел ядру запустить «нестандартное» приложение вместо программы инициализации по умолчанию (которая будет загружать систему «нормально»). Это приложение, работающее под Linux, может получить доступ ко всей SD-карте и памяти eMMC, включая раздел, содержащий файл uEnv.txt, и может изменять содержимое файла по своему усмотрению.

Что касается вашего последнего вопроса, вы можете создать файл с изображением вашей модифицированной SD-карты из оболочки Linux, используя инструмент dd, например:

dd if=/dev/mmcblk0 of=mySDcard.img

В приведенной выше команде замените /dev/mmcblk0 файлом блочного устройства, созданным в системе, когда вы вставляете SD-карту (чьи разделы НЕ должны быть смонтированы, чтобы это работало правильно); файл изображения будет создан как mySDcard.img.

...