构建基本的嵌入式Linux根文件系统
构建基本的嵌入式Linux根文件系统
构建基本的嵌入式Linux根文件系统
(1)创建根文件系统的基本目录结构。
我把这个过程做成了shell脚本(文件名为mkroot) ,很方便!
#! /bin/sh
echo "creatint rootfs dir......"
mkdir rootfs
cd rootfs
echo "making dir : bin dev etc lib proc sbin sys usr"
mkdir bin dev etc lib proc sbin sys usr #必备的8个目录
mkdir usr/bin usr/lib usr/sbin lib/modules
# Don't use mknod ,unless you run this Script as root !
# mknod -m 600 dev/console c 5 1
# mknod -m 666 dev/null c 1 3
echo "making dir : mnt tmp var"
mkdir mnt tmp var
chmod 1777 tmp
mkdir mnt/etc mnt/jffs2 mnt/yaffs mnt/data mnt/temp
mkdir var/lib var/lock var/log var/run var/tmp
chmod 1777 var/tmp
echo "making dir : home root boot"
mkdir home root boot
echo "done"
在你想要建立根文件系统的地方,运行:
[tekkamanninja@Tekkaman-Ninja nfs]$ ./mkroot
creatint rootfs dir......
making dir : bin dev etc lib proc sbin sys usr
making dir : mnt tmp var
making dir : home root boot
done
[tekkamanninja@Tekkaman-Ninja nfs]$ cd rootfs/dev/
[tekkamanninja@Tekkaman-Ninja dev]$ su
口令:
[root@Tekkaman-Ninja dev]# mknod -m 600 console c 5 1;mknod -m 666 null c 1 3;exit
exit
[tekkamanninja@Tekkaman-Ninja dev]$
(2)配置、编译和安装Busybox-1.9.1-----我没用本文章的busybox配置,参见同文件夹下的文档,我的是静态的,如果以后要改成动态的,可参见本文章
[tekkamanninja@Tekkaman-Ninja source]$ tar -xjvf busybox-1.9.1.tar.bz2
修改Makefile文件:
[tekkamanninja@Tekkaman-Ninja busybox-1.9.1]$ pwd
/home/tekkamanninja/working/source/busybox-1.9.1
[tekkamanninja@Tekkaman-Ninja bu
相关文档:
Internet------(eth1)router1(eth2)------(eth1)router2(eth0)------(eth0)router3(eth1)------(eth0)pc
上面就是我的网络拓扑结构,其中路由器1是用来连接外部网络的一台linux机器,图中所有路由器都是普通的pc机,这些pc都安装了ubuntu桌面系统,除了最右边的pc,其余的pc都装了3张网卡(其中一张备用)。
由于Debian系 ......
1). /etc/sysconfig/network
主要用于设置主机名称(Host Name)以及能否启动Network。变动此文件后需重启Linux才能生效。
2). /etc/sysconfig/network-scrips/ifcfg-eth0
设置网卡参数,如GATEWAY,TYPE,DEVICE,NETMASK,IPADDR,USERCTL等...
3). /etc/resolv.conf
如果要设置DNS功能进行主机名称和IP的对应。那么resol ......
ICW2 用于设置芯片送出的中断号的高5位。什么意思呢,就是说从中断控制器发出的中断信号的高5位就是在ICW2里设置的。
在linux 0.11里系统把主片的ICW2设置为0x20,就表示中断请求IR0~IR7中断号的范围是0x20~0x27(8259A芯片产生的IRQ号必须是连续的,所以也只需要设置起始号就ok了!) ......
在执行make menuconfig 命令进行内核配置时,输出下面的出错信息:
yyh:~/clfs/sources/linux-2.6.17.13$ make ARCH=i386 CROSS_COMPILE=${CLFS_TARGET}- menuconfig
HOSTCC scripts/basic/fixdep
HOSTCC scripts/basic/split-include
HOSTCC scripts/basic/docproc
HOSTCC scripts/kconfig/conf.o
HOSTCC scri ......