Контроллер Nuvoton NUC98R. Компиляция ядра Linux.

1 год 3 нед. назад - 10 мес. 2 нед. назад #6366 от AEfimov
Компиляция ядра.

Ядро Linux обладает возможностью конфигурации его функций и модулей. Пользователь может гибко настроить функционал ядра и периферию исходя из своих конкретных задач.
Конфигурация ядра производится непосредственно перед его компиляцией при помощи команды “make menuconfig” выполняемой в корневой директории дистрибутива ядра (linux-4.4.y) :

Далее опишем способ конфигурации ядра с использованием NAND-flash, файловой системой YAFFS2.

Итак, заходим в директорию дистрибутива ядра Linux и запускаем в ней Terminal.
Далее необходимо “обнулить” конфигурационные файлы и загрузить стандартный конфигурационный файл для NUC980:

# make distclean
# make nuc980_defconfig

Далее запускаем конфигуратор ядра:

# make menuconfig

Теперь мы имеем возможность конфигурации ядра под графической диалоговой оболочкой (см. рис. 1).



(рис. 1)

Для использования NAND-flash отключим стандартную RAM файл систему:

General setup --->
[ ] Initial RAM filesystem and RAM disk (initramfs/initrd) support
Далее необходимо включить функцию 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 
* Функция “Command line partition table parsing” должна быть включена если мы хотим форматировать NAND-Flash при помощи U-boot.

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

/dev/mtdblock0, /dev/mtdblock1, /dev/mtdblock2

Первый блок содержит U-Boot, во втором находится ядро, третий предназначен для подключения файловой системы (в данном случае YAFFS2)
Если есть необходимость изменить параметры форматирования можно сделать это путем правки соответствующей строчки в config-файле "uboot/include/nuc980_evb.h или исходнике ядра drivers/mtd/nand/nuc980_nand.c".

Конфигурация файловой системы:
File systems --->
[*] Miscellaneous filesystems --->	 								
          <*>    yaffs2 file system support		 						
          <*>    Autoselect yaffs2 format	  	 				
          <*>   Enable yaffs2 xattr support


Теперь можно приступить непосредственно к компиляции ядра, для этого выполняем команду:
# make uImage

После успешной компиляции мы увидим следующее сообщение:


Файл образа 980UImage появится в корневой директории дистрибутива ядра.
Вложения:

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.057 секунд
Работает на Kunena форум