一个、制造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

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

嵌入式Linux开发环境的搭建的更多相关文章

  1. 用Windows+VirtualBox搭建嵌入式Linux开发环境

    Windows+VirtualBox的嵌入式Linux开发环境的搭建 最近一直在学习Linux的设备驱动编写,一直是在物理机上安装的Ubuntu进行的,但是在Ubuntu12.04的系统中,已经不能用 ...

  2. 嵌入式Qt开发环境的搭建详解

    一.嵌入式Qt开发环境的搭建前奏 1.下载arm-linux-gcc-4.4.3-20100728.tar.gz 2.下载qt-everywhere-opensource-src-4.8.5.tar. ...

  3. 嵌入式linux开发环境构建

    2.1硬件环境构建 2.1.1主机与目标板结合的交叉开发模式 在主机上编辑.编译软件,然后再目标办上运行.验证程序. 对于S3C2440.S3C2410开发板,进行嵌入式Linux开发时一般可以分为以 ...

  4. Linux开发环境的搭建和使用——Linux本必备软件SSH

    SSH 至 Secure Shell 缩写.由 IETF 网络工作组(Network Working Group)开发:SSH 以建立应用层和传输层安全协议中的基础上. SSH 是眼下较可靠,专为远程 ...

  5. 00.嵌入式Linux开发环境搭建

     3.虚拟机上网配置 虚拟机如果要从网上获取资源,就要能够访问外网.虚拟机有三种上网方式:桥接上网,NAT上网,单主机模式[没用过].本节从原理和操作2个方面讲了NAT方式和桥接方式这2种不同的虚拟机 ...

  6. 嵌入式Linux开发环境搭建,问题ping、nfs的解决

    一. 嵌入式软件层次 1) Bootloader->引导加载程序 整个嵌入式系统的加载启动任务完全交给Bootloader完成,它的主要任务是将内核映象从硬盘读到RAM中,然后跳转到内核入口启动 ...

  7. Linux开发环境的搭建和使用——Linux 常用的命令使用

    概要 视或电影中看到过类似的场景,黑客面对一个黑色的屏幕,上面飘着密密麻麻的字符,梆梆一顿敲,就完毕了窃取资料的任务. Linux 刚出世时没有什么图形界面.全部的操作全靠命令完毕.就如同电视里的黑客 ...

  8. Setting up a EDK II build environment on Windows and Linux:搭建Windows和Linux开发环境[2.2]

    Setting up a EDK II build environment on Windows and Linux:搭建Windows和Linux开发环境[2.2] 2015-07   北京海淀区  ...

  9. 嵌入式Linux开发——内容介绍与开发环境的搭建

    嵌入式Linux开发步骤 设计自己的硬件系统 编写Bootloader 裁剪自己的Linux内核 开发移植设备驱动 构建根文件系统 开发应用程序 嵌入式Linux学习要点 熟练使用开发工具和相关指令集 ...

随机推荐

  1. Intellij IDEA中使用Debug

    Intellij IDEA中使用Debug Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化.通常我们也可以启用 ...

  2. USB 3.0规范中译本 附录

    本文为CoryXie原创译文,转载及有任何问题请联系cory.xie#gmail.com. 附录A 符号编码   表A-1显示了对于数据字符字节到符号的编码. 表 A-2显示了对于特殊符号的编码. R ...

  3. HBase总结(十一)hbase Java API 介绍及使用演示样例

    几个相关类与HBase数据模型之间的相应关系 java类 HBase数据模型 HBaseAdmin 数据库(DataBase) HBaseConfiguration HTable 表(Table) H ...

  4. windows下的定时任务设置详解

    windows下的定时任务设置详解 一.总结 一句话总结: 1.php.exe是什么? 就是php中自带的一个exe,不是我们写的,这个exe是可以执行其他的PHP的 二.windows下的定时任务设 ...

  5. php的标准输入与输出是什么?

    php的标准输入与输出是什么? 一.总结 php的标准输入与输出(STDIN是一个文件句柄,等同于fopen("php://stdin", 'r')) 1.STDIN是一个文件句柄 ...

  6. 1069. The Black Hole of Numbers (20)【模拟】——PAT (Advanced Level) Practise

    题目信息 1069. The Black Hole of Numbers (20) 时间限制100 ms 内存限制65536 kB 代码长度限制16000 B For any 4-digit inte ...

  7. 【iOS】怎样推断文本文件的字符编码格式

    整体思路: 遍历全部的字符编码.能正确读取输出转换的就是文本文件的编码格式. 代码例如以下: // // main.m // 检測文本字符编码格式的小技巧 // // Created by 杜子兮 ( ...

  8. AutoHotKey 的使用 —— 使用键盘调节 windows 声音

    AutoHotKey 下载地址 AutoHotkey Downloads 首先进行 AutoHotKey 的安装 编写如下 .ahk 文件(F10:打开关闭声音,F11:增加声音,F12:减少声音,当 ...

  9. 神经网络的 Delta 学习规则(learning rule)

    1. δ 学习规则 1986 年,由认知心理学家 McClelland 和 Rumellhart 在神经网络训练中引入了 Δ 学习规则,该规则亦可称为连续感知器学习规则(与离散感知器学习规则相并行). ...

  10. iOS的安全性和越狱

    提到越狱,很多人第一反应大概是免费的游戏和 app. 作为软件从业人员,深知中国的大环境的特殊性.内有用户想吃免费午餐的不良付费习惯,外有行业内大头诸如某讯对创新的绞杀.大家对越狱是为了免费.盗版软件 ...