Что такое uboot linux

Содержание
  1. U-Boot
  2. Образ
  3. Создание образа
  4. Корневая файловая система
  5. Запись образа во Flash
  6. Создание из образа оригинального файла
  7. Переменные
  8. Загрузка
  9. Задержка
  10. Параметры ядра
  11. Идентификатор ядра
  12. Сохранение переменных
  13. Проверка контрольной суммы
  14. Доступ к переменным из Linux
  15. MAC-адрес
  16. Flash
  17. Заставка
  18. Русские Блоги
  19. Конфигурация U-Boot, общие команды и загрузка ramfs Linux
  20. Обзор
  21. Файл конфигурации
  22. Общие команды и практики
  23. Установить переменные среды
  24. Команда памяти
  25. Подсистема USB / MMC
  26. Используйте tftp для загрузки и запуска Linux ramfs
  27. Интеллектуальная рекомендация
  28. Используйте Maven для создания собственного архетипа скелета проекта (4)
  29. Станция интерпретации больших данных B пользуется популярностью среди гигантов района «призрачные животные» Цай Сюкуня.
  30. Вопрос A: Алгоритм 7-15: алгоритм кратчайшего пути Дейкстры
  31. Учебный дневник — перелистывание страниц
  32. Нулевое основание для отдыха-клиента
  33. Вам также может понравиться
  34. Подробно объясните, как новички используют sqlmap для выполнения инъекционных атак на базы данных mysql.
  35. Vue заметки сортируют, пусть вам начать с Vue.js:. 04_3 Сетевое приложение: AXIOS плюс Вью
  36. Шаблон алгоритма конной повозки
  37. 35 Line Code, чтобы получить метод исследования событий (ON)
  38. Образ докера: gitlab

U-Boot

U-Boot — универсальный загрузчик, используемый для загрузки ОС Linux™ и других ОС .

Образ

U-Boot использует образы, создаваемые программой mkimage , сборка которой выполнятся при сборке U-Boot (см. /tools/mkimage ) и которую, вероятно, можно поставить из пакета uboot-mkimage вашего дистрибутива GNU/Linux.

mkimage добавляет 64 байта информации: название, контрольную сумму и пр.

Для отображения информации об образе:

Создание образа

После этого вы можете для сборки ядра и создания из собранного ядра образа U-Boot выполнять make uImage .

Также вы можете создать образ из командной строки, см. встроенную помощь mkimage -h .

Корневая файловая система

mkimage -n ‘Ramdisk name’ -C gzip -A arm -O linux -T ramdisk -d ramdisk.gz uramdisk.gz ,
где ‘Ramdisk name ‘ — название КФС, ramdisk.gz — название файла сжатого образа КФС , uramdisk.gz — название создаваемого образа U-Boot.

Запись образа во Flash

Для записи созданного образа ядра или КФС во Flash требуется:

Создание из образа оригинального файла

Для получения из образа U-Boot оригинального файла у файла образа нужно убрать начальные 64 байта, например:
dd if=uImage of=zImage bs=1 skip=64

Переменные

Список переменных и их значения отображаются командой printenv .

Для вывода значения отдельной переменной используйте команду printenv , где — название переменной.

Загрузка

При запуске U-Boot, после задержки , выполняет команды содержащиеся в переменной bootcmd .

Несколько команд могут быть разделены символом ‘;’.

Задержка

Задержка при загрузке задаётся переменной bootdelay .

Параметры ядра

Параметры передаваемые ядру ( cmdline ) задаются переменной bootargs .

Идентификатор ядра

Идентификатор ядра machid задаётся переменной machid , указывается шестнадцатеричное значение без префикса.

Сохранение переменных

Сохранение переменных во Flash выполняется командой saveenv . При её выполнении автоматически снимается и устанавливается защита от записи сектора Flash, в котором хранятся переменные.

Пример вывода команды:

Проверка контрольной суммы

При загрузке ядра и КФС U-Boot проверяет контрольную сумму (КС, CRC). Если подсчитанная КС не совпадает с КС подсчитанной при создании образа , выполняется перезагрузка.

Проверка КС может быть отключена установкой переменой verify значения no .

Читайте также:  How to run the windows service

Проверка КС кода самого U-Boot не выполняется.

Доступ к переменным из Linux

Прочесть переменные U-Boot из Linux можно программой fw_printenv , см. /tools/env . Конфигурация задается файлом /etc/fw_env.config .

Пример файла конфигурации для Тион, Тион-Про:

Пример чтения переменой ethaddr :

MAC-адрес

Для плат на базе процессора:

Flash

Отображение информации о Flash – команда flinfo .

Идентификатор Flash задаётся переменной mtdids , например, значением nor0=flash .

Команда mtdparts выводит список текущих разделов, например:

Команда ls выводит содержимое ФС JFFS2 для раздела указанного командой chpart (в переменной partition ), например, nor0,2 .

Командой protect off выполняется снятие программной или аппаратной защиты от записи или стирания Flash. Например, защиту с раздела nor0,2 можно снять командой:

См. также команды fsinfo , fsload .

Заставка

Для заставки используется изображение в формате bmp с индексированной палитрой из 256 цветов. Для преобразования изображения можно воспользоваться GIMP.

Адрес изображения указывается в переменой splashimage . Если по указанному адресу изображение не распознано, то отображается логотип.

Экран очищается командой cls , при этом отображается логотип вместо заставки, но палитра остаётся без изменения.

Перенаправление вывода консоли на экран:
setenv stdout lcd

При использовании (U-Boot 2010.09 из Git-репозитория ниже и U-Boot 1.3.3 начиная с svn598 патчей для плат на основе EP93xx) тип дисплея задаётся переменной panel :

Дисплей
VGA vga
3.5″ (320×240) 3.5
5.7″ (640×480) 5.7
8″ (640×480) 8
8″ (800×600) 8-800×600
8″ (800×600)
A080SN01
8-800x600n

Указанный дисплей используется после сброса (переменную panel следует сохранить ).

Для отображения фона и символов используется нулевой и 15-ый цвета палитры, соответственно.

Источник

Русские Блоги

Конфигурация U-Boot, общие команды и загрузка ramfs Linux

Обзор

Das U-Boot — это главный загрузчик с открытым исходным кодом, используемый для упаковки инструкций во встроенные устройства для загрузки ядра операционной системы устройства. Он часто используется для загрузки и загрузки ядер и файловых систем Linux на встроенных устройствах с архитектурой ARM.
U-Boot поддерживает запуск интерфейса командной строки через последовательный порт. Используя командную строку, пользователи могут загружать и загружать ядро, возможно, изменяя параметры по умолчанию. Также есть команды для чтения информации об устройстве, чтения и записи во флэш-память, загрузки файлов (ядра, загрузочного образа и т. Д.) Из последовательного порта или сети, управления деревом устройств и использования переменных среды (которые могут быть записаны в постоянное хранилище) для Управляйте поведением U-Boot, например командой загрузки по умолчанию и тайм-аутом перед автоматической загрузкой, а также данными оборудования, такими как MAC-адрес Ethernet.

Файл конфигурации

Важная информация о конфигурации U-Boot определена в файле:

Например, общий файл конфигурации по умолчанию для MX6:

В этом файле конфигурации (или при самостоятельном воссоздании нового файла конфигурации) вы можете настроить некоторые часто используемые функции следующим образом:

Команда запуска конфигурации должна загрузить uImage из толстого раздела mmc0 по адресу памяти 0x40007000, а затем запустить ядро ​​отсюда.

После настройки U-Boot есть 3 секунды, чтобы нажать Enter для входа в интерфейс командной строки.Если он настроен на 0, процесс запуска не может быть прерван.

Читайте также:  Настройка server для развертывания windows

Это конфигурация, относящаяся к сети, которая поддерживает функции загрузки Ethernet MII, ping, dhcp и tftp.

Настройте выход последовательного порта по умолчанию как ttySAC2.

по CONFIG_EXTRA_ENV_SETTINGS Параметры для установки среды U-Boot. Среда U-Boot — это блок памяти, который хранится в постоянном хранилище и копируется в ОЗУ при запуске U-Boot. Он используется для хранения переменных среды, которые можно использовать для настройки системы. Среда защищена контрольной суммой CRC32. В дополнение к ipaddr и serverip, настроенным выше, есть следующие часто используемые переменные среды

переменная Описание
bootargs Содержимое этой переменной передается ядру Linux в качестве параметров загрузки (также называемых «командной строкой»).
bootcmd Эта переменная определяет командную строку, которая автоматически выполняется, когда начальный обратный отсчет не прерывается. Эта команда выполняется только тогда, когда bootdelay определяет переменные!
bootdelay После сброса U-Boot будет ждать это количество секунд перед выполнением содержимого переменной bootcmd. В этот период печатается обратный отсчет, и обратный отсчет можно прервать, нажав любую кнопку.
ethaddr Ethernet MAC-адрес первого / единственного интерфейса Ethernet
ipaddr IP-адрес; требуется команда tftp
loadaddr Адрес загрузки по умолчанию таких команд, как tftp или load
serverip IP-адрес TFTP-сервера; требуется команда tftp.

Общие команды и практики

Вот некоторые наиболее часто используемые команды после ввода командной строки:

команда Описание
help Распечатать онлайн-справку
bootm Запустить зеркалирование приложений из памяти
bootz Запустить Linux zImage из памяти
ext4load Загрузить двоичные файлы из раздела Ext4
ext4ls Список файлов в каталоге
fatinfo Распечатать информацию о файловой системе
fatls Список файлов в каталоге
fatload Загрузить двоичный файл из файловой системы dos
md Отображение памяти
mm Модификация памяти (автоинкремент)
mtest Простой тест RAM
mw Запись в память
mmc Подсистема MMC
ping Отправить ICMP ECHO_REQUEST на хост
printenv Печатать переменные среды
reset Сбросить CPU
setenv Установить переменные среды
saveenv Сохранить переменные среды в постоянное хранилище
usb подсистема usb
tftpboot Используйте протокол TFTP для загрузки образа по сети

Установить переменные среды

использовать setenv Чтобы установить переменные среды, связанные с tftp, а затем используйте printenv Распечатайте эти переменные

использовать saveenv (Если есть эта команда) для сохранения этих переменных

Команда памяти

использовать md с mw Чтобы отобразить и изменить данные памяти, md с mw Формат команды аналогичен

[.b, .w, .l] соответствовать [Байт 8 бит, слово 16 бит, двойное слово 32 бита]
Затем установите для памяти 0x82000000-0x82000100 нулевое значение (часть журнала отображения опущена)

Подсистема USB / MMC

Сначала с usb start Дайте U-образному диску нормально работать, а затем используйте fatload С первого раздела U диска с номером устройства 0 u-boot.bin Копировать в память 0x82000000 Место, а потом по памяти 0x82000000 Должность u-boot.bin Скопируйте в область размещения u-boot eMMC (здесь сектор 0x2-0x400)

Если на USB / MMC-диске уже есть раздел FAT / EXT4, вы можете его использовать fatls/ext4ls Чтобы просмотреть информацию о файлах в разделе

Вот список всей информации о файлах из первого раздела FAT U-диска с номером устройства 0.

Теперь попробуйте загрузить и запустить ramfs Linux с диска U

Сначала пройдите сюда fatload Загрузите образ ядра, DTB и образ ramfs с диска U в память, затем настройте параметры загрузки ядра Linux и, наконец, запустите ramfs Linux из памяти.

Используйте tftp для загрузки и запуска Linux ramfs

Первое использование ping Команда для обеспечения связи с tftp сервером

Загрузите и запустите Linux ramfs с tftp-сервера

Сначала пройдите сюда tftpboot Загрузите образ ядра, DTB и образ ramfs в память, затем настройте параметры загрузки ядра Linux и, наконец, запустите ramfs Linux из памяти.

Интеллектуальная рекомендация

Используйте Maven для создания собственного архетипа скелета проекта (4)

Один, базовое введение в Maven Во-вторых, скачайте и настройте Maven Три, настроить домашнее зеркало на Али В-четвертых, создайте содержимое скелета архетипа В-пятых, создайте проект через архетип 6. .

Станция интерпретации больших данных B пользуется популярностью среди гигантов района «призрачные животные» Цай Сюкуня.

Автор | Сюй Линь Ответственный редактор | Ху Вэйвэй Предисловие Недавно Цай Сюкунь отправил письмо юриста на станцию ​​B. Содержание письма юриста показало, что «на станции B имеется большое кол.

Вопрос A: Алгоритм 7-15: алгоритм кратчайшего пути Дейкстры

Название Описание Во взвешенном ориентированном графе G для исходной точки v задача о кратчайшем пути от v до оставшихся вершин в G называется задачей кратчайшего пути с одной исходной точкой. Среди ш.

Учебный дневник — перелистывание страниц

Используйте плагин Layui.

Нулевое основание для отдыха-клиента

Предисловие: статья, обобщенная, когда я только что связался с тестом API, в дополнение к остальному клиенту этот инструмент сам, некоторые из мелких пониманий API, я надеюсь помочь тому же белую белу.

Вам также может понравиться

Подробно объясните, как новички используют sqlmap для выполнения инъекционных атак на базы данных mysql.

Шаг 1. Откройте для себя инъекцию Со мной все было нормально, когда я был свободен, я случайно нажал на чужой блог и обнаружил, что ссылка заканчивается на id, поэтому я проверил его вручную. Результа.

Vue заметки сортируют, пусть вам начать с Vue.js:. 04_3 Сетевое приложение: AXIOS плюс Вью

В предыдущем разделе мы ввели основное использование AXIOS, по сравнению с нативным Ajax, который при условии, что способ является более простым и, а сетевые данные теперь в состоянии получить его ров.

Шаблон алгоритма конной повозки

Блог гангстеров Тележки, запряженные лошадьми, используются для решения проблемы самой длинной подстроки палиндрома. Основное внимание уделяется подстрокам, а не подпоследовательностям. Если вы хотите.

35 Line Code, чтобы получить метод исследования событий (ON)

Об авторе: Чжу Сяою,Личный публичный номер: языковой класс большой кошки Эта проблема научит вас этой большой классе Cat.Как написать наиболее эффективное метод исследования событий с 35 Line R Code C.

Образ докера: gitlab

GitLab Docker images Both GitLab CE and EE are in Docker Hub: GitLab CE Docker image GitLab EE Docker image The GitLab Docker images are monolithic images of GitLab running all the necessary services .

Источник

Читайте также:  Nat in linux kernel
Оцените статью