- Главная
- Форум
- Микроконтроллеры и Системы на Модуле (SOM)
- Микроконтроллеры Nuvoton на ядре ARM9
- NUC98R
- Контроллер Nuvoton NUC98R. Компиляция ядра Linux.
- Форум
- Микроконтроллеры и Системы на Модуле (SOM)
- Микроконтроллеры Nuvoton на ядре ARM9
- NUC98R
- Контроллер Nuvoton NUC98R. Компиляция ядра Linux.
Контроллер Nuvoton NUC98R. Компиляция ядра Linux.
4 года 8 мес. назад - 3 года 4 мес. назад #6366
от AEfimov
AEfimov создал тему: Контроллер Nuvoton NUC98R. Компиляция ядра Linux.
Компиляция ядра.
Ядро Linux обладает возможностью конфигурации его функций и модулей. Пользователь может гибко настроить функционал ядра и периферию исходя из своих конкретных задач.
Конфигурация ядра производится непосредственно перед его компиляцией при помощи команды “make menuconfig” выполняемой в корневой директории дистрибутива ядра (/nuc980bsp/linux-4.4.x) :
Далее опишем способ конфигурации ядра с использованием NAND-flash, файловой системой YAFFS2.
Итак, запускаем Terminal и вводим следующие команды:
Далее запускаем конфигуратор ядра:
Теперь мы имеем возможность конфигурации ядра под графической диалоговой оболочкой.
Для использования NAND-flash отключим стандартную RAM файл систему:
Параметры запуска ядра:
*вводим без кавычек нажав ENTER на соответствующей строке
Далее необходимо включить функцию MTD NAND flash:
* Функция “Command line partition table parsing” должна быть включена если мы хотим форматировать NAND-Flash при помощи командной строки ядра.
По умолчанию при первой загрузке системы память разбивается на три раздела:
Первый блок содержит U-Boot, во втором находится ядро, третий предназначен для подключения файловой системы (в данном случае YAFFS2)
Если есть необходимость изменить параметры форматирования по умолчанию, можно сделать это путем правки соответствующей строчки в config-файле "uboot/include/nuc980_evb.h или в исходнике ядра drivers/mtd/nand/nuc980_nand.c".
В нашем случае мы будем форматировать NAND при помощи переменных u-boot, которые зададим файлом env.txt.
Это файл который прошивается в отдельную область памяти и служит для хранения переменных загружаемых перед запуском ядра.
Данный способ представляется более гибким чем остальные, так как позволяет менять параметры форматирования (как и многие другие), не прибегая к повторной реконфигурации ядра или загрузчика, меняя лишь содержимое его самого.
Конфигурация файловой системы:
Теперь можно приступить непосредственно к компиляции ядра, для этого выполняем команду:
# make uImage
После успешной компиляции мы увидим следующее сообщение:
Файл образа 980UImage появится в корневой директории дистрибутива ядра.
Ядро Linux обладает возможностью конфигурации его функций и модулей. Пользователь может гибко настроить функционал ядра и периферию исходя из своих конкретных задач.
Конфигурация ядра производится непосредственно перед его компиляцией при помощи команды “make menuconfig” выполняемой в корневой директории дистрибутива ядра (/nuc980bsp/linux-4.4.x) :
Далее опишем способ конфигурации ядра с использованием NAND-flash, файловой системой YAFFS2.
Итак, запускаем Terminal и вводим следующие команды:
#cd /nuc980bsp/linux-4.4.x
#su (инициируем сессию root`a)
#export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/arm_linux_4.8/usr/bin:/nuc980bsp/uboot/tools
#make distclean
#make nuc980_defconfig
Далее запускаем конфигуратор ядра:
#make menuconfig
Теперь мы имеем возможность конфигурации ядра под графической диалоговой оболочкой.
Для использования NAND-flash отключим стандартную RAM файл систему:
General setup --->
[ ] Initial RAM filesystem and RAM disk (initramfs/initrd) support
Параметры запуска ядра:
Boot options ---> (noinitrd root=/dev/mtdblock2 rootfstype=yaffs2 rootflags=inband-tags console=ttyS0,115200n8 rdinit=/sbin/init mem=64M) Default kernel command string*
*вводим без кавычек нажав ENTER на соответствующей строке
Далее необходимо включить функцию MTD NAND flash:
Generic Driver Options --->
<*> Nuvoton NUC980 FMI function selection
Select FMI device to support (Support MTD NAND Flash) --->
-*- Memory Technology Device (MTD) support --->
<*> Command line partition table parsing *
<*> Caching block device access to MTD devices -*- NAND Device Support --->
-*- Nuvoton NUC980 MTD NAND
По умолчанию при первой загрузке системы память разбивается на три раздела:
/dev/mtdblock0, /dev/mtdblock1, /dev/mtdblock2
Первый блок содержит U-Boot, во втором находится ядро, третий предназначен для подключения файловой системы (в данном случае YAFFS2)
Если есть необходимость изменить параметры форматирования по умолчанию, можно сделать это путем правки соответствующей строчки в config-файле "uboot/include/nuc980_evb.h или в исходнике ядра drivers/mtd/nand/nuc980_nand.c".
В нашем случае мы будем форматировать NAND при помощи переменных u-boot, которые зададим файлом env.txt.
Это файл который прошивается в отдельную область памяти и служит для хранения переменных загружаемых перед запуском ядра.
Данный способ представляется более гибким чем остальные, так как позволяет менять параметры форматирования (как и многие другие), не прибегая к повторной реконфигурации ядра или загрузчика, меняя лишь содержимое его самого.
Конфигурация файловой системы:
File systems --->
[*] Miscellaneous filesystems --->
<*> yaffs2 file system support
<*> Autoselect yaffs2 format
<*> Enable yaffs2 xattr support
Теперь можно приступить непосредственно к компиляции ядра, для этого выполняем команду:
# make uImage
После успешной компиляции мы увидим следующее сообщение:
Файл образа 980UImage появится в корневой директории дистрибутива ядра.
Последнее редактирование: 3 года 4 мес. назад пользователем AEfimov.
- Форум
- Микроконтроллеры и Системы на Модуле (SOM)
- Микроконтроллеры Nuvoton на ядре ARM9
- NUC98R
- Контроллер Nuvoton NUC98R. Компиляция ядра Linux.
Время создания страницы: 0.035 секунд