U-boot зао «завод електрообладнання»

Поставте mkimage з пакета uboot-mkimage вашого дистрибутива GNU / Linux

Або скопіюйте програму mkimage отриману при складанні U-Boot в одну з директорій зазначених у змінній оточення PATH (див. Echo $ PATH) або змініть її значення (наприклад, export PATH + =: / path / to / mkimage_dir).

Після цього ви можете для збірки ядра і створення з зібраного ядра образу 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 потрібно:

Скопіювати образ з хоста в оперативну пам'ять цільової плати

По мережному інтерфейсі через протоколи TFTP або NFS

За послідовного порту

Перевірити цілісність скопійованого образу в оперативній пам'яті

Вимкнути захист Flash від запису

Стерти область Flash для образу

Скопіювати образ з оперативної пам'яті в стерту область 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 не виконується.

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

Приклад файлу конфігурації для ного ня-Про:

Приклад читання зміною ethaddr.

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

Відображення інформації про Flash - команда flinfo.

Ідентифікатор Flash задається змінною mtdids. наприклад, значенням nor0 = flash.

Розділи задаються змінної mtdparts. наприклад, три розділи 512 kB, 4 MB і місце, що залишилося: mtdparts = flash: 512k (u-boot) ro, 4m (kernel) ro, - (fs).

Команда mtdparts виводить список поточних розділів, наприклад:

Команда ls виводить вміст ФС JFFS2 для розділу зазначеного командою chpart (в змінної partition), наприклад, nor0,2.

Командою protect off виконується зняття програмної або апаратної захисту від запису або стирання Flash. Наприклад, захист з розділу nor0,2 можна зняти командою:

Командою erase видалить вмісту Flash. Наприклад, перед записом КФС розміщеної на розділі nor0,2 потрібно стерти вміст цього розділу повністю командою:

Див. Також команди fsinfo. fsload.

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

Екран очищається командою cls. при цьому відображається логотип замість заставки, але палітра залишається без зміни.

Перенаправлення виводу консолі на екран:
setenv stdout lcd

Схожі статті