基于nandflash的自启动内核

 

1.制作使initramfs作为根文件系统的内核
2.将制作好的内核烧写至nandflash中
3.配置UBoot环境变量,使之可以自启动后内核

具体实验步骤如下:(参考天嵌培训实验4.3.6 自启动内核)

1.创建实验目录

2.将 busyboxo1.13.3.tar.gz和 etc.tar.gz 拷贝至实验目录
3.制作根文件系统

  ⒊1创 建根文件系统的目录

   创 建 根 文 件 系 统 目 录 /nfsroo/rootfs2
   #cd/nfsroot
   #mkdir rootfso2
   #mkdir bin dev etc lib proc sbin sys usrrnnttmp var

   #mkdir lib/sbin ……

   3.2创 建设备文件

   cd dev/
   #mknod -m 666 Console c 5 1
   #mknod -m 666  null c 1 3

   3.3安装etc

4. 配置busybox

6.编译、安装busybox
7.查看根文件系统
  #ls /nfsroot/rootfs2

8.修改根文件系统#cd/nfsroot/rootfs2

  ln -s bin/busybox init

9.制作使用initramfs作为根文件系统的内核

10.清理内核中间文件,配 置文件

  10.1 选择参考配置

  10.2 配 置内核
11.编译内核
#make uImage ARCH=arm
CROSS_COMPlLE=arm-linux-
编译完成后生成的内核映像ulmage位 于arch/arm/boot目录下

12.在PC机和mini2440开 发板之间连接好电源、串口、网线
13.打开超级终端并正确配置端口
14. 开发板上电∶ 在烧写ulmage到 nandflash之 前先测试内核是否可在 u-boot中运行,通过下载内核

tftp 31000000 uImage-initram2

15.启动内核
#bootm 31000000

 

              下面介绍如何从nandflash中启动制作好的内核

 

    通过测试可知,内核可以在内存中运行,因此下一步就要完成内核烧写到nandflash中然后设置uboot的环境变量,实现linux的自启动。

    1、首先启动uboot,从nfs服务器下载uImage-initram2镜像到内存中。

      #tftp 31000000 uImage-initram2  //内存的起始地址为0x31000000

    2、擦除nandflash中的分区,为写入系统镜像做准备(nandflash不擦除不能写入)。

      #nand erase 200000  600000 //擦除0x200000到0x600000中的内容

    3、将内存0x31000000中的内容写入nandflash中。

      #nand write 31000000 200000 600000

    4、设置uboot环境变量,使系统可以自启动。

      #set bootcmd='nand read 31000000 200000 600000;bootm 31000000'

      #saveenv

    5、将拨码开关拨到nandflash,打开开关。系统自动运行。

                      2011.5.23

你可能感兴趣的:(c,linux,测试,服务器,null,终端)