Chinaunix首页 | 论坛 | 博客
  • 博客访问: 861413
  • 博文数量: 133
  • 博客积分: 7117
  • 博客等级: 少将
  • 技术积分: 1846
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-16 21:30
文章分类

全部博文(133)

文章存档

2012年(1)

2011年(4)

2010年(2)

2009年(57)

2008年(69)

分类: LINUX

2008-09-24 15:09:13

移植2.6.25内核到at91rm9200

1、下载、安装
从 上下载Linux2.6.25版的kernel,解压到 /usr/src/arm/linux-2.6.25
  从 上下载针对rm9200的补丁,文件名:2.6.25-at91.patch.gz,复制到  /usr/src/arm/linux-2.6.25,然后在命令行界面中执行 zcat 2.6.25-at91.patch.gz |patch -p1
 从下载YAFFS2补丁 yaffs2.tar.gz 解压缩后到文件目录下运行 sh patch-ker.sh ../linux-2.6.25 把YAFF2加到内核中去;
下载GCC编译器,文件名:arm-linux-gcc-3.4.1.tar.bz2,解压到 /usr/local/arm/3.4.1

2、修改
打开内核原代码根目录下的Makefile,找到如下两行:
ARCH ?=$(SUBARCH)
CROSS_COMPILE ?=
修改为:
ARCH ?=arm
CROSS_COMPILE ?= arm-linux-

3、编译内核
执行如下命令:
make at91rm9200dk_defconfig
make xconfig
make
以上是基本的移植步骤,所有移植过程的第一步,以下是我自已移植过程:
1),在make menuconfig 时改
boot_option
ZBOOT_BASE_ADDRESS   0X21000000
ZBOOT_ROM_BSS      0X21100000
否则不能动行
其它的可以按 at91rm9200dk 的配置编译

2),添加devfs文件系统
vi fs/Kconfig
    找到menu "Pseudo filesystems"
  添加如下语句:
config DEVFS_FS
    bool "/dev file system support (OBSOLETE)"
    default y
  config DEVFS_MOUNT
    bool "Automatically mount at boot"
    default y
    depends on DEVFS_FS
保存退出后编译下载后就可以在 开发板上的 /proc 目录下的filesystems里看到了
[root@AT91RM9200DK /proc]$cat filesystems
nodev  sysfs
nodev  rootfs
nodev  bdev
nodev  proc
nodev  sockfs
nodev  pipefs
nodev  futexfs
nodev  tmpfs
nodev  inotifyfs
nodev  eventpollfs
nodev  devpts
        ext2
        cramfs
nodev  ramfs
nodev  devfs
nodev  jffs2

3),修改NAND的分驱表
在arch/mach-at91rm9200/board-dk中
改dk-nand-patition[]{
}
下的代码为自已想要的分驱方式

4),修改NOR的分驱表
在driver/mtd/maps/physmap.c中
添加一个自已的分驱表后将其引用到physmap_set_patition()中

5),添加9200的串口驱动
这个更简单
改arch/mach-at91rm9200/board-dk.c
.nr_tty = 5,
.tty_map = {4,3,2,1,0}
就把2个串口改为5个了,其对应驱动在相关目录下都有详尽的代码!
阅读(1624) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~