- U-Boot
- Образ
- Создание образа
- Корневая файловая система
- Запись образа во Flash
- Создание из образа оригинального файла
- Переменные
- Загрузка
- Задержка
- Параметры ядра
- Идентификатор ядра
- Сохранение переменных
- Проверка контрольной суммы
- Доступ к переменным из Linux
- MAC-адрес
- Flash
- Заставка
- Русские Блоги
- Конфигурация U-Boot, общие команды и загрузка ramfs Linux
- Обзор
- Файл конфигурации
- Общие команды и практики
- Установить переменные среды
- Команда памяти
- Подсистема USB / MMC
- Используйте tftp для загрузки и запуска Linux ramfs
- Интеллектуальная рекомендация
- Используйте Maven для создания собственного архетипа скелета проекта (4)
- Станция интерпретации больших данных B пользуется популярностью среди гигантов района «призрачные животные» Цай Сюкуня.
- Вопрос A: Алгоритм 7-15: алгоритм кратчайшего пути Дейкстры
- Учебный дневник — перелистывание страниц
- Нулевое основание для отдыха-клиента
- Вам также может понравиться
- Подробно объясните, как новички используют sqlmap для выполнения инъекционных атак на базы данных mysql.
- Vue заметки сортируют, пусть вам начать с Vue.js:. 04_3 Сетевое приложение: AXIOS плюс Вью
- Шаблон алгоритма конной повозки
- 35 Line Code, чтобы получить метод исследования событий (ON)
- Образ докера: 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 .
Проверка КС кода самого 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, процесс запуска не может быть прерван.
Это конфигурация, относящаяся к сети, которая поддерживает функции загрузки 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 .
Источник