文件系统制作

/////////////跟文件系统/////////
跟文件bin地下大多数文件都是连接在busybox
linux 可执行文件类型elf32
section 每个都有描述
bss没有初始化的全局变量和为0的全局变量 内核刚开始被初始化为0   加在的是候先读头   文件会很大所以采用连接方式来节省空间
解压busyboxmake menuconfig

  Build Options  --->
  Cross Compiler prefix 配置交叉编译工具的前缀arm-linux-
  Installation Options 安装的位置
  (./_install) BusyBox installation prefix 默认不该小心系统被覆盖
     编译完了make install安装

www.kernel.org

/////////////////////////////学习架构/////////////////////
知道什么架构 现学习核心 外部可以挂在什么
////////////////////////////////文件系统制作////////////
1 解压tar xvf busybox.tar.gz
2 make menuconfig
3  选择Busybox Settings  --->
4  选择Build Options  --->
5 选择 ()  Cross Compiler prefix 配置交叉编译工具的前缀为arm-linux-
6 选择Installation Options  --->
7 选择  (./_install) BusyBox installation prefix 配置生成的文件系统所在的位置默认不要改变
8 make
9 make install 之后将会在当前目录生成_install文件夹里边就是一些连接到busbox的文件
10 将原来的nfsroot重命名做备份
11 mkdir nfsroot
12  chmod 777 nfsroot
13 将生成的文件系统拷贝到nfsroot重启开发板
14 根据错误提示和主机里的文件信息创建相应的文件
15 在nfsroot下建立 dev文件夹 执行
16  mknod console c 5 1 mknod是创建一个节点 c表示字符设备 5是主设备号 1是此设备号
17     内核将会停在init not found是因为没有苦文件(lib)进行编译 需要arm架构下的库文件所以去交叉编译的地方拷贝libc下的lib到nfsroot
18   提示dev/tty没有找到的错误是添加就行
19  提示cannot run '/etc/init.d/rcS'时新建第一行为#/bin/sh 其他为系统启动后所要执行的命令
19  在rcS中写入   #/bin/sh  mount -t proc none /proc  monut -t sysfs none /sys
20 在根目录件文件夹proc sys
/////////////////////////

你可能感兴趣的:(文件系统制作)