linux根文件系统设置属性
在配置busybox,在是否选择要静态链接库时,在静态下,busybox中的工具不需要动态链接库,能够直接运行。而用户自己编写的程序如果需要动态链接库,还是依然需要有。
(/可以下载busybox工具)
如果是动态链接库,则busybox和用户自己编写的程序都需要动态链接库。
这里,因为我们以后需要使用自己编写的程序,故选择使用动态链接库。
busybox 要支持mdev、Tab补全功能、insmod模块安装命令、ifconfig命令等。
Busybox Settings
Busybox Library Tuning
Tab completion
然后就是编译、安装。安装的时候一定要跟上路径,不然很有可能破坏电脑的文件系统。
修改Makefile
CROSS_COMPILE ?= arm-linux-
make
make CONFIG_PREFIX=/work/nfs_root/first_fs install
bootargs = noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0
构建最小文件系统。
首先创建最基本的设备文件。(/dev/console和/dev/null)。
在pc上查看当前电脑的设备号。
zws@z-pc:/home/jz2440/fsroot$ ls /dev/console -l
crw------- 1 root root 5, 1 10月 22 12:45 /dev/console
zws@z-pc:/home/jz2440/fsroot$ ls /dev/null -l
crw-rw-rw- 1 root root 1, 3 10月 22 12:45 /dev/null
然后在相应的文件夹中创建对应的设备文件。
mkdir dev
cd dev/
sudo mknod console c 5 1
sudo mknod null c 1 3
构造inittab
mkdir etc
cd etc/
touch inittab
console::askfirst:-/bin/sh
构建C库
mkdir lib
cp 。。。。/arm-linux/lib/*.so* ./ -D
完成最小根文件系统的构建。
使用 mkyaffs2image 制作文件系统。
将文件系统通过tftp下载到开发板板,并写入到nand Flash
tftpboot 30000000 fsroot.yaffs2
nand erase root
nand write.yaffs 0x30000000 root $(filesize)
最小文件系统完成。
支持PS命令。
mkdir sys
mkdir proc
mdkir etc/init.d
tocuh etc/init.d/rcS
一般的是ext3吧现在
补充一下一楼的回答,现在使用比较多的还有yaffs2文件系统,长用于嵌入式系统
linux文件系统格式挺复杂多样的,如ext、ext2、ext3、ext4、jsf、 、xfs、ReiserFS等。
一般情况下,linux根分区文件系统多数用ext3、ext4,安装时你可以选择。
可以确定的有两个问题:
1.你的网关设置有错误
网关是一个确定的IP,不应该是255.255.255.255.
可以不设置网关。
但这个错误不会造成引导失败
2.你的内核编译有问题
你可以在编译内核前,首先清理一下环境:
比如:make
clean
或者
distclean,
这个和具体的开发包相关,各家都一些小差别,看说明文档。
内核编译:
menuconfig配置相应的平台,然后保存退出直接make命令就可以编译了。
文件系统制作:
一般都用busybox开源软件来做,下载,解压,然后make
menuconfig配置你想要的属性,然后保存退出,make就可以了,然后make
install就会在目录下看到__install的目录就是你要的根文件系统目录了。