龙人Xscale开发板之IXP425开发板和DM-270开发平台

龙人嵌入式开发中心专业提供嵌入式系统开发和嵌入式ARM解决方案服务同时提供ARM9开发板、Xscale开发平台及ARM仿真器http://www.szarm.com
深圳龙人嵌入式研发中心在为公司提供嵌入式ARM解决方案和OEM/ODM研发服务的同时提供ARM开发板(ARM9开发板和Xscale开发板)、ARM9核心板、ARM9学习板、ARM工控板及ARM仿真器ARM开发工具等嵌入式产品。网址:http://www.szarm.com 联 系 电 话:+86-0755-83346939 83662100 余小姐 销 售 Email:beijingshenzhen@126.com 联 系 地 址: 深圳市福田区福虹路世界贸易广场B座13F 邮 编:518033
日历
<2008年5月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567
标签
搜索
订阅
存档
最新评论
为ARM嵌入式系统Linux制作根文件系统-ARM嵌入式开发学习[原创]
 

为ARM 嵌入式系统 Linux制作根文件系统 -ARM嵌入式开发学习

文章整理: 龙人嵌入式事业部 (armodmlr)

ARM  嵌入式系统 Linux 根文件系的组成:目录、Shell、库、脚本

(1)目录 

   根文件系统要包含的目录:/dev /lib /etc、/proc

   /dev:设备文件系统的挂接点 

   /lib:用于存放动态链接库

   /etc:用来存放初始化脚本和其他配置文件的

   /proc:用来挂载存放系统信息虚拟文件系统

(2)Shell 

   Shell 就是 Busybox,从网上下载来 busybox-1.9.1.tar.gz

   解压缩以后找到 Makefile 里面的 ARCH 和 CROSS_COMPILE,改成:

   ARCH   ?= arm

   CROSS_COMPILE ?= /usr/local/arm/3.3.2/bin/arm-linux-

本文关键词: 嵌入式系统  嵌入式开发 ARM学习  ARM嵌入式   Linux

   当然 CROSS_COMPILE 由你自己的编译器位置决定,然后:

   # make menuconfig

   # make

   # make install

   默认是安装在 Busybox 下的 _install 目录里,然后我们就可以在 Busybox 

   生成的 Shell 基础上建根文件系统了, 以命令示之,如下:

   # mkdir /home/jianbw/rootfs

   # cd /home/jianbw/busybox/_install

   # cp -r ./ /home/jianbw/rootfs

   # cd /home/jianbw/rootfs

   # mkdir dev

   # mkdir etc

   # mkdir lib

   # mkdir proc

   # mkdir sys

   # mkdir tmp

   以 root 身份执行(可通过 su 切换):

   # cd dev

   # mknod -m 660 console c 5 1

   # mknod -m 660 null c 1 3

(3)库 

   可拷贝开发板自带的文件系统的库,如果开发板的文件系统是映像,只需把映像挂载

   在某个目录下访问即可。假设映像为 demo.cramfs,以命令示之,如下:

   # mkdir /home/jianbw/demo

   # mount -o loop demo.cramfs /home/jianbw/demo

   # cd /home/jianbw/demo/lib

   # cp -r ./ /home/jianbw/rootfs/lib

(4)脚本 

   要使 Shell 正常工作, 还要设置初始化脚本。

   首先是 /etc/inittab:

   # Startup the system

   null::sysinit:/bin/mount -o remount,rw /

   null::sysinit:/bin/mount -t proc proc /proc

   null::sysinit:/bin/mount -a

   null::sysinit:/bin/hostname -F /etc/hostname# Now run any rc scripts

   ::sysinit:/etc/init.d/rcS                   # Now invoke shell

   ::askfirst:/bin/ash                         # Logging junk

   null::sysinit:/bin/touch /var/log/messages

   null::respawn:/sbin/syslogd -n -m 0

   null::respawn:/sbin/klogd -n                # Stuff to do for the 3-finger salute

   ::ctrlaltdel:/sbin/reboot                        # Stuff to do before rebooting

   null::shutdown:/usr/bin/killall klogd

   null::shutdown:/usr/bin/killall syslogd

   null::shutdown:/bin/umount -a -r

   null::shutdown:/sbin/swapoff -a

   其次设置文件系统的挂载表 /etc/fstab:

   # <file system> <mount pt> <type> <options>                       <dump> <pass>

   /dev/root          /                  ext2      rw,noauto                           0      1

   proc                 /proc           proc     defaults                               0      0

   devpts              /dev/pts       devpts  defaults,gid=5,mode=620      0      0

   tmpfs                /tmp            tmpfs    defaults                             0      0

   sysfs                 /sys             sysfs     defaults                             0      0

   

   再设置 /etc/init.d/rcS:

   # Start udev

   /bin/mount -t tmpfs tmpfs /dev

   /sbin/udevd --daemon

   /sbin/udevstart  # Configure net interface

   /sbin/ifconfig lo 127.0.0.1 up

   /sbin/route add -net 127.0.0.0 netmask 255.0.0.0 lo

   /sbin/ifconfig eth0 192.168.2.25 netmask 255.255.255.0

   /sbin/route add default gw 192.168.2.1

(5)生成根文件系统映像

   # mkcramfs rootfs rootfs.cramfs

龙人计算机嵌入式研发中心 是国内最早进入 嵌入式技术 研发和应用推广的技术型企业之一 成立以来 专注于嵌入式底层应用技术的研究和开发 的同时为广大客户提供 嵌入式系统开发 技术、嵌入式解决方案和嵌入式产品(嵌入式开发板、ARM开发板、ARM9开发板、ARM开发工具、ARM仿真器和ARM工控板、ARM实验仪等)。


ARM9开发板 发布于 2008年5月9日 18:20 | 有 0 篇评论 189次点击


发表评论
(必填)  
必填  
可选
必填  
提交