Building kernel
You may need to build your kernel (for example, to enable the required modules). To build a kernel for the Wiren Board, you need to use a special repository that contains a kernel adapted for the Wiren Board.
0. Сборку ядра следует проводить на вашем настольном компьютере под управлением Linux (не на Wiren Board - теоретически это возможно, но потребует несколько гигабайт свободного места, и займёт много времени).
Убедитесь, что у вас установлен git (http://en.wikipedia.org/wiki/Git_%28software%29). Если нет, установите его:
sudo apt-get install git
Установите произвольные имя пользователя и почту:
git config --global user.name "Imya Familiya" git config --global user.email "vash@adres.ru"
1. Скачайте набор скриптов, который упрощает сборку:
git clone git://github.com/contactless/build_kernel.git cd build_kernel
2. Склонируйте и инициализируйте репозиторий Linux.
Репозиторий можно склонировать с использованием https (если у вас нет аккаунта на github.com):
git clone https://github.com/contactless/linux KERNEL
или ssh, если у вас есть аккаунт:
git clone git@github.com:contactless/linux.git KERNEL
3. Инициализируйте внешние модули:
cd KERNEL
git submodule init
git submodule update
4. Установите конфиг для сборки под Wiren Board
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- mxs_wirenboard_defconfig
Сборка
Сборка ядра с упаковкой в tar.gz архивы:
./build.sh
Сборка в пакет Debian
./build_deb.sh
Установка на Wiren Board
export kernel_version=3.19.0-imxv5-x0.1
(строку версии стоит взять из вывода сборочных скриптов из предыдущего пункта)
Скрипты:
- tools/copy_kernel_latest_deb.sh - копирует и устанавливает последний deb-пакет с ядром. Аргумент: папка с rootfs (или примонтированный eMMC/microSD накопитель Wiren Board)
- tools/scp_kernel_latest_deb.sh - - копирует и устанавливает последний deb-пакет с ядром. Аргумент: root@hostname, где hostname - это IP-адрес Wiren Board
Работа с конфигом ядра
Редактирование конфига ядра
cd KERNEL
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- menuconfig
или
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- xconfig
Список изменений относительно стандартного конфига
./config_diff.sh
Применение изменений в стандартный конфиг
Этот пункт нужен, чтобы изменить стандартный конфиг Wiren Board, например чтобы отправить патч или pull request.
cd KERNEL
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- savedefconfig
cp defconfig ./arch/arm/configs/mxs_wirenboard_defconfig