定制最简linux和根文件系统(平台龙芯1B开发板)(2)

2019-09-01 13:58

3. 制作根文件系统

3.1. 配置

3.1.1. 拷贝源码,并解压

[root@localhost test]# cp ../LS1B/busybox-1.19.2-default.tar.gz ./ l[root@localhost test]# ls

1b-linux-3.0-d8b47bb 1b-linux-3.0-d8b47bb.tar.gz busybox-1.19.2-default.tar.gz [root@localhost test]# tar -zxf busybox-1.19.2-default.tar.gz [root@localhost test]# ls

1b-linux-3.0-d8b47bb busybox-1.19.2-default 1b-linux-3.0-d8b47bb.tar.gz busybox-1.19.2-default.tar.gz [root@localhost test]# cd busybox-1.19.2-default

6

[root@localhost busybox-1.19.2-default]#

和linux内核一样,通过执行make menuconfig来配置,输入后回车如下图所示

3.1.2. 配置选项简述

Busybox Settings --->

Build Options --->

[*] Build BusyBox as a static binary (no shared libs)

(/opt/GCC/gcc-3.4.6-2f/bin/mipsel-linux-) Cross Compiler prefix (交叉编译器的绝对路径前缀,根据自己情况修改) Busybox Library Tuning --->

[*] vi-style line editing commands [*] Fancy shell prompts

Init Utilities --->

[*] init

[*] Support reading an inittab file

[*] Run commands with leading dash with controlling tty [*] Support running init from within an initrd (not initramfs) Miscellaneous Utilities --->

[ ] ionice [ ] ubiattach [ ] ubidetach [ ] ubimkvol [ ] ubirmvol [ ] ubirsvol [ ] ubiupdatevol

7

3.2. 编译

执行make

[root@localhost busybox-1.19.2-default]# make 执行完后,如下

然后执行make install

[root@localhost busybox-1.19.2-default]# make install

8

已经把需要的东西放到当前目录的_install下

然后在这基础上制作根文件系统

3.3. 构建根文件系统 3.3.1. 建立系统根目录

[root@localhost nfsramdisk]# mkdir LS1B [root@localhost nfsramdisk]# cd LS1B [root@localhost LS1B]# ls

[root@localhost LS1B]# mkdir dev home proc tmp var etc lib mnt sys usr etc/rc.d root var/log [root@localhost LS1B]# ls

dev etc home lib mnt proc root sys tmp usr var [root@localhost LS1B]#

3.3.2. 建立设备文件

建立console和串口设备文件

[root@localhost LS1B]# mknod -m 600 dev/console c 5 1 [root@localhost LS1B]# mknod -m 600 dev/ttyS2 c 4 66 [root@localhost LS1B]#

9

3.3.3. 建立系统配置文件

注意:以下的配置文件不是在开发主机的根目录下创建的。

3.3.3.1. 添加etc/inittab文件

[root@localhost LS1B]# vim etc/inittab

::sysinit:/etc/rc.d/rc.sysinit // 指定系统启动后首先执行的文件 #Example of how to put a getty on a serial line(rot a terminal)

ttyS2::respawn:~/bin/sh #no login(启动后进入shell) #::respawn:/sbin/getty -L ttyS2 115200 vt100 #use login #tty::respawn:~/bin/sh

#Stuff to do when restarting the init process ::restart:/sbin/init

#Stuff to do before rebooting

::ctrlaltdel:/sbin/reboot // 捕捉ctrl+alt+del键,重启文件系统 ::shutdown:/bin/umount -a -r // 当关机时卸载所有文件系统 ::shutdown:/sbin/swapoff -a ~ ~

\新] 14L, 553C 已写入 [root@localhost LS1B]#

3.3.3.2. 新建etc/rc.d/rc.sysinit文件

[root@localhost LS1B]# vim etc/rc.d/rc.sysinit

#!/bin/sh

#Set binary path

export PATH=/bin:/sbin:/usr/bin:/usr/sbin

#Config dev environment

mount -t tmpfs -o size=64k,mode=0755 tmpfs /dev mkdir -p /dev/pts

mount -t devpts devpts /dev/pts

#mknod -m 600 /dev/console c 5 1 #mknod -m 600 /dev/ttyS2 c 4 66

#mount all filesystem defined in /etc/fstab

10


定制最简linux和根文件系统(平台龙芯1B开发板)(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:小学生良好行为习惯养成教育工作总结

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: