Содержание
SODIMM процессорный модуль GEM45
Компиляция ядра Linux 2.6.30
1) Скачиваем исходное ядро Linux 2.6.30
linux-2.6.30.tar.bz2
2) Скачиваем исправления AT91
2.6.30-at91.patch.gz
3) Скачиваем экспериментальные исправления AT91
ftp://www.at91.com/pub/linux/2.6.30-at91/2.6.30-at91-exp.4.tar.gz
4) Распаковываем ядро:
tar xvjf linux-2.6.30.tar.bz2
5) Заходим в папку linux-2.6.30 и применяем общие исправления AT91
cd linux-2.6.30 zcat ../2.6.30-at91.patch.gz | patch -p1
6) Распаковываем экспериментальные исправления AT91
tar xzf ../2.6.30-at91-exp.4.tar.gz
7) Применяем экспериментальные исправления AT91 к ядру
for p in 2.6.30-at91-exp.4/*; do patch -p1 < $p ; done
8) Скачиваем файл конфигурации для ядра
wget ftp://www.at91.com/pub/linux/2.6.30-at91/at91sam9g45ekes_defconfig cp at91sam9g45ekes_defconfig .config make ARCH=arm oldconfig
9) Если есть необходимость, то можно изменить конфигурацию
make ARCH=arm menuconfig
10) Компилируем ядро
make ARCH=arm CROSS_COMPILE=/opt/arm-2008q1/bin/arm-none-linux-gnueabi-
11) Создаем uImage для использования в u-boot
<путь к>mkimage -A arm -O linux -T kernel -C none -a 0x70008000 -e 0x70008000 -n 'Linux-2.6.30' -d arch/arm/boot/zImage arch/arm/boot/uImage
Полученный образ ядра необходимо записать в NAND флеш по адресу 0x200000
Запуск Angstrom Linux
Задаем переменную окружения 'bootargs':
setenv bootargs 'mem=128M console=ttyS0,115200 mtdparts=atmel_nand:4M(bootstrap/uboot/kernel)ro,60M(rootfs),-(data) root=/dev/mtdblock1 rw rootfstype=jffs2'
Пресобранный образ ядра Linux
Linux 2.6.30 | http://mentorel.ru/downloads/gem45/uImage |
---|
Файловая система
ftp://www.at91.com/pub/oe/linux4sam_2.0/images/Angstrom-x11-at91sam9-image-glibc-ipk-2009.X-stable-at91sam9g45ekes.rootfs.jffs2 Файловую систему необходимо записать в NAND флеш по адресу 0x400000 с помощью утилиты SAM-BA
Загрузка Angstrom Linux на g45-base
В u-boot необходимо задать следующее значение переменной окружения «bootargs»:
u-boot> setenv bootargs 'mem=128M console=ttyS0,115200 mtdparts=atmel_nand:4M(bootstrap/uboot/kernel)ro,60M(rootfs),-(data) root=/dev/mtdblock1 rw rootfstype=jffs2'