Intereting Posts
`crontab -e` иногда терпит неудачу с" Создание временного файла crontab не удалось " Какая версия NFS используется моим сервером NFS? Как продлить срок действия гейпа с истекшим сроком годности Перенос файлов с помощью PuTTy в Windows Могу ли я отключить все страницы руководства? Как остановить поиск из нисходящих в найденные каталоги? Индекс увеличения в файле Стандартное расположение для хранения исходных файлов программного обеспечения Есть ли Linux-ОС, которая может быть полностью загружена в оперативную память? Программа 3D-рисования для создания человеческих фигур (например, Windows Poser) О Libre Office Writer медленно заходит в Debian Удалить форматирование терминала из файла Как сохранить совпадения UID / GID-сопоставлений при архивировании гостевого LXC? Функция для упрощения grep с часто используемым журналом GRUB2: как запомнить последний выбор grub

Uboot передает аргументы в ядро!

Как uboot передать аргумент командной строки в ядро? Я сделал некоторые bootargs и узнал, что он использует переменную среды bootargs . Там было упомянуто, что setenv bootargs key=value . Поскольку я использую bash и не имею setenv я сделал это, используя export bootargs="value" . Но это ни на что не влияет. Я проверил в /proc/cmdline аргументы остаются неизменными. Любая идея, что я делаю неправильно?

Есть два способа передать аргументы ядру: 1. Скомпилировать их внутри. 2. Использовать загрузчик

Поэтому сначала проверьте, не скомпилированы ваши аргументы в ядро. Вторая команда setenv, которую вы нашли в команде bash, но команде загрузчика. Это зависит от того, как изготовлено определенное устройство, но обычно есть раздел в некотором внутреннем хранилище (флэш-память вашего устройства, а не на хосте), где загрузчик считывает параметры или файл в файловой системе, а u-boot принимает конфигурацию оттуда.

Другой способ – подключить ваше устройство по кабелю и использовать способ, специфичный для устройства, для получения приглашения загрузчика и интерактивного изменения ваших настроек.

Это не совсем тривиально, если вы не знакомы с вашей конкретной схемой загрузки устройства. Назовите ваше устройство, это может помочь ответить на ваш вопрос.

Вы можете использовать файл uEnv.txt в загрузочном разделе, чтобы указать аргументы для загрузки. Это пример для устройств Xilinx zynq-7000 из уровня мета-zybo yocto:

 kernel_image=uImage devicetree_image=zybo-zynq7.dtb bootargs=console=ttyPS0,115200 root=/dev/mmcblk0p2 rw rootwait earlyprintk uenvcmd=echo Copying Linux from SD to RAM... && fatload mmc 0 0x3000000 ${kernel_image} && fatload mmc 0 0x2A00000 ${devicetree_image} && bootm 0x3000000 - 0x2A00000 

Он определяет дерево устройств для использования (вам не нужно это делать, если его вызывается device_tree.dtb ), за которым следует набор аргументов для ядра.

Дополнительную информацию об использовании uEnv.txt можно найти здесь