====== SODIMM процессорный модуль GEM45 ======
===== Компиляция ядра Linux 2.6.30 =====
1) Скачиваем исходное ядро Linux 2.6.30\\
[[http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.30.tar.bz2|linux-2.6.30.tar.bz2]]
2) Скачиваем исправления AT91\\
[[http://maxim.org.za/AT91RM9200/2.6/2.6.30-at91.patch.gz|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'