====== 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'