Chinaunix首页 | 论坛 | 博客
  • 博客访问: 483432
  • 博文数量: 59
  • 博客积分: 345
  • 博客等级: 二等列兵
  • 技术积分: 1380
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-18 22:44
个人简介

to be myself

文章分类

全部博文(59)

文章存档

2017年(5)

2013年(47)

2012年(3)

2011年(4)

分类: 嵌入式

2013-03-03 11:57:37

━━━━━━━━━━━━━━━━━━━━━━━━

linux:linux-2.6.32.2-mini2440-20100921
busybox:busybox-1.13.3-mini2440
交叉工具链:arm-linux-gcc-4.4.3
━━━━━━━━━━━━━━━━━━━━━━━━

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
内核配置和编译
1.make distclean清理中间文件
2.选择参考配置文件,一般位于arch//configs/目录下, 复制到根目录为.config。
    cp config-mini2440 .config
3.配置内核makemenuconfig ARCH=arm CROSS_COMPILE=arm-linux-
4.编译内核makeuImage ARCH=arm CROSS_COMPILE=arm-linux-(要拷贝编译u-boot后产生的mkimage工具到/usr/bin下)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
构建nfsroot
1.创建根文件系统主目录和必须的子目录
2.创建设备文件
3.安装etc
4.编译内核模块makemodules ARCH=arm CROSS_COMPILE=arm-linux-
5.安装内核模块到根文件系统makemodules_install ARCH=arm INSTALL_MOD_PATH=../rootfs
6.配置busybox:makemenuconfig
    选择静态链接
    交叉工具使用arm-linux-
    Dont'tuse /usr
    配置安装目录
7.编译busybox:makeARCH=arm CROSS_COMPILE=arm-linux-
8.安装busybox:makeinstall
9.修改/etc/exports配置文件,重启nfs
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
nfs起根文件系统(uImage= kernel, 根文件系统在开发机上)
1.选择参考配置文件,一般位于arch//configs/目录下, 复制到根目录为.config。
    cp config-mini2440 .config
2.修改CONFIG_CMDLINE
    CONFIG_CMDLINE="root=/dev/nfs rwnfsroot=192.168.0.2:/home/David/mini2440/rootfs ip=192.168.0.3 console=ttySAC0mem=64M"
3.配置内核makemenuconfig ARCH=arm CROSS_COMPILE=arm-linux-
    使支持NFSRoot file
4.编译内核makeuImage ARCH=arm CROSS_COMPILE=arm-linux-(要拷贝编译u-boot后产生的mkimage工具到/usr/bin下)
5.拷贝uImage到tftp共享根目录
6.u-boot通过tftp下载到0x31000000
7.bootm 0x31000000启动内核
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
制作ramdisk文件系统
    1.删除上面制作的/rootfs根文件系统lib/modules/2.6.29.4-FriendlyARM/*内核模块
    2.用genext2fs制作ramdisk
        ./genext2fs -b 8192 -d ./rootfsramdisk
        gzip -9 -f ramdisk
    3.将上面产生的uImage_ram和ramdisk.gz都拷贝到tftp共享目录
    4.u-boot通过tftp下载uImage-ram到0x31000000
    5.u-boot通过tftp下载ramdisk.gz到0x32000000
    6.bootm 0x31000000启动内核
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ramdisk起根文件系统(uImage_ram = kernel + fs(装入固定划分的内存))
1.选择参考配置文件,一般位于arch//configs/目录下, 复制到根目录为.config。
    cp config-mini2440-ramdisk .config
2.配置CMDLINE
    CONFIG_CMDLINE="initrd=0x32000000,0x200000root=/dev/ram rw console=ttySAC0 mem=64M"
3.配置内核makemenuconfig ARCH=arm CROSS_COMPILE=arm-linux-
    General setup->(*)Initial RAMfilesystem and RAM disk(initramfs/initrd)support
    Device Drivers->Blockdevices->(*)RAM block device support
    默认ram大小4096改为8192
    File system->(*)Second extended fssupport
4.编译内核makeuImage ARCH=arm CROSS_COMPILE=arm-linux-(要拷贝编译u-boot后产生的mkimage工具到/usr/bin下)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
initramfs起根文件系统(uImage_initramfs = kernel + fs(自动配置更多的内存))
1.建立init软连接到busybox
    ln -s ./bin/busybox init
2.选择参考配置文件,一般位于arch//configs/目录下, 复制到根目录为.config。
    cp config-mini2440 .config
3.修改CONFIG_CMDLINE
    CONFIG_CMDLINE="console=ttySAC0mem=64M"
4.配置内核makemenuconfig ARCH=arm CROSS_COMPILE=arm-linux-
    General setup->(*)Initial RAMfilesystem and RAM disk(initramfs/initrd)support  
    (../../rootfs)Initramfs source file(s)
5.编译内核makeuImage ARCH=arm CROSS_COMPILE=arm-linux-(要拷贝编译u-boot后产生的mkimage工具到/usr/bin下)
6.拷贝uImage_initramfs到tftp共享根目录
7.u-boot通过tftp下载到0x31000000
8.bootm 0x31000000启动内核
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 

2011-07-20 19:54 发表于百度空间,今搬至CU。

 

阅读(1874) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~