at91rm9200上移植linux-2.6.16kernel
第一次做移植,还算比较顺利,在第5步的时候出了点问题,还好google了下就解决了
1.下载linux-2.6.16kernel点此下载2.下载at91patch里面包括一些对arm9200的patch请点击这里3.把2个文件解压到同一目录下
# tar zxvf linux-2.6.16.tar.gz
# gunzip 2.6.16-at91.patch.gz
进入linux-2.6.16修改Makefile中
ARCH := arm
CROSS_COMPILE := arm-linux-gcc
4.打补丁
在linux-2.6.16目录下
# patch -p1 < ../2.6.16-at91.patch
5.修正machine name由于u-boot和kernel需要用相同的machine name, 修改
linux-2.6.16/arch/arm/mach-at91rm9200/board-dk.c中
MACHINE_START(AT91RM9200DK, "Atmel AT91RM9200-DK")
为
MACHINE_START(AT91RM9200, "Atmel AT91RM9200-DK")
6.编译内核
# make at91rm9200dk_defconfig
# make
# arm-linux-objcopy -O binary -R.note -R.comment -S vmlinux linux.bin
# gzip -9 linux.bin
# mkimage -A arm -O linux -T kernel -C gzip -a 0x20008000 -e 0x20008000 \
-n "Linux-2.6.16-yytek" -d linux.bin.gz uImage
将uImage烧入,成功启动