一个、制造u-boot.bin文件:

   tar xjf u-boot-1.1.6.tar.bz2

   cd u-boot-1.1.6

   patch -p1 < ../u-boot-1.1.6_jz2440.patch

   make 100ask24x0_config

make

二、制作适用于4.3寸屏幕的uImage文件:

   tar xjf linux-2.6.22.6.tar.bz2

   cd linux-2.6.22.6

   patch -p1 < ../linux-2.6.22.6_jz2440.patch

   mv ../4.2LCD_mach-smdk2440.c arch/arm/mach-s3c2440/mach-smdk2440.c

   cp config_ok .config

make uImage

三、构建根文件系统

1、移植Busybox

   tar xjf busybox-1.7.0.tar.bz2

   cd busybox-1.7.0

   make menuconfig(配置)

   vi Makefiel(改动Makefile ARCH ?= arm CROSS_COMPILE ?= arm-linux-)

   make(编译)

   make CONFIG_PREFIX=dir_path install(安装)

2、使用glibc库

   mkdir -p /work/nfs_root/rootfs/lib

   cd /work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib

   cp *.so* /work/nfs_root/rootfs/lib -d

3、构建etc文件夹

   

a、etc/inittab文件内容例如以下:

   # /etc/inittab

   console::askfirst:-/bin/sh

   ::sysinit:/etc/init.d/rcS

   tty1::askfirst:-/bin/sh

   ::ctrlaltdel:/sbin/reboot

b、etc/init.d/rcS文件内容例如以下:

   #!/bin/sh

   mount -a

   mkdir /dev/pts

   mount -t devpts devpts  /dev/pts

   echo /sbin/mdev  >  /proc/sys/kernel/hotplug

   mdev -s

c、etc/fstab文件内容例如以下:

   #device        mount-point    type   options   dump  fsck order

   proc           /proc          proc   defaults   0     0

   tmpfs          /tmp           tmpfs  defaults   0     0

   sysfs          /sys           sysfs  defaults   0     0

   tmpfs          /dev           tmpfs  defaults   0     0





4、构建dev文件夹

   sudo mknod console c 5 1

   sudo mknod null c 1 3

   sudo mknod ttySAC0 c 204 64

   sudo mknod mtdblock0 b 31 0

   sudo mknod mtdblock1 b 31 1

   sudo mknod mtdblock2 b 31 2





5、构建其它文件夹

   mkdir proc mnt tmp sys root





四、制作yaffs文件系统映像文件

    cd /work/nfs_root

    mkyaffsimage rootfs rootfs.yaffs

五、制作jffs2文件映像文件

    cd /work/nfs_root

    mkfs.jffs2 -n s 2048 -e 128KiB -d rootfs -o rootfs.jffs2





六、通过设置u-boot的bootargs參数,选择根文件系统启动方式:

    1、使其可以通过nfs启动

    set bootargs noinitrd root=/dev/nfs nfsroot=59.73.166.32:/work/nfs_root/first_fs ip=59.73.166.31:59.73.166.32:59.73.166.1:255.255.255.0::eth0:off console=ttySAC0 init=/linuxrc

stdin=serial

    saveenv

    2、从块设备启动

    set bootargs noinitrd root=/dev/mtdblock3 rootfstype=jffs2 init=/linuxrc console=ttySAC0

    saveenv

版权声明:本文博客原创文章,博客,未经同意,不得转载。

最新文章

  1. Keepalived+LVS+nginx双机热备
  2. Android Studio导入github下载的project和module
  3. Reconstruct Itinerary
  4. 数据结构--用Objective-C简单实现的数据结构:栈
  5. 【Python数据分析】从Web收集数据小实例
  6. vs2010 调试快捷键
  7. 解决VS2010控制台程序运行结束不显示请按任意键继续
  8. 基于XMPP的即时通信系统的建立(四)— 组件介绍
  9. C#小常识集锦(一)--《更锋利的CSharp代码》读书笔记
  10. Cookie和Session(session过程和设置进程外session)
  11. Android 相对布局常用属性
  12. python 生成器理解
  13. 比callback更简洁的链式执行promise
  14. Andorid时间控件和日期控件
  15. SVG制作简单的图形
  16. TP手册学习第三天
  17. .Net Core应用框架Util介绍(二)
  18. Linux服务器 XAMPP后添加PHP和MYSQL环境变量
  19. PS绘制扁平化风格相机镜头UI图标
  20. Web API中的Help Page

热门文章

  1. angular管道相关知识
  2. 【Lucene4.8教程之二】索引 2014-06-16 11:30 3845人阅读 评论(0) 收藏
  3. 定位导致物化视图无法快速刷新的原因 分类: H2_ORACLE 2013-08-08 23:04 335人阅读 评论(0) 收藏
  4. Android 节日短信送祝福(功能篇:1-数据库操作类与自定义ContentProvider)
  5. Android Gradle Plugin指南(三)——依赖关系、android库和多项目配置
  6. transform、accumulate —— C++ 下的 MapReduce
  7. iOS中html5的交互:WebViewJavascriptBridge
  8. Expression Blend 的点滴(4)--创建类似iPhone屏幕锁控件(上)
  9. solr 7.x 配置ikanalyzer
  10. C++基础之字符数组和字符串