#导入Word文档图片# 根文件系统制作与挂载
Posted DS小龙哥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#导入Word文档图片# 根文件系统制作与挂载相关的知识,希望对你有一定的参考价值。
- 开发环境介绍虚拟机版本:商业版11.1.0 build-2496824
发行版环境:Ubuntu_15.04 32位
嵌入式Linux内核版本:3.5
交叉编译器arm-linux-gcc版本:4.5.1
1.1 busybox介绍
BusyBox 是一个集成了一百多个最常用linux命令和工具的软件。BusyBox 包含了一些简单的工具,例如ls、cat和echo等等,还包含了一些更大、更复杂的工具。有些人将 BusyBox 称为 Linux 工具里的瑞士军刀。简单的说BusyBox就好像是个大工具箱,它集成压缩了 Linux 的许多工具和命令,也包含了 android 系统的自带的shell。BusyBox提供了一个比较完善的环境,可以适用于任何小的嵌入式系统。
1.2 获取busybox源码
官网链接:http://www.busybox.net/
下载截图:
图1.0
1.3 busybox配置
1.3.1 解压源码包
首先将下载的busybox源码拷贝到虚拟机里的Linux系统,提前创建一个文件夹存放busybox,可以通过虚拟机的共享文件夹或者通过鼠标直拖入虚拟机。
拷贝进linux系统之后进行解压:
tar xvf busybox-1.24.1.tar.bz2 |
解压截图:
图1.1
1.3.2 修改编译环境
修改busybox根目录下的Makefile,大约164行。修改之后如下:
164 CROSS_COMPILE ?=arm-linux- |
截图修改:
图1.2
1.3.3 配置busybox
进入配置界面,在busybox根目录下输入下面的命令:
#Make menuconfig |
效果图:
图1.3
图1.4
图1.5选择动态编译
选择busybox编译方式为动态编译,默认的选择就是动态编译。
- Windows 下的库类型
- .dll 动态链接库
- .lib 静态库
- Linux 下的库类型
- .so.X 动态链接库 X 是一个整数, 也可以直接 .so
- .a 静态库
编译成动态链接方式占用空间小,方便软件维护,更新。不能独立运行,要依赖其他库。
编译成静态链接方式占用空间大,但是可以独立运行,不依赖其他库。
- 配置bosybox根文件系统安装路径
- 图1.6
- 图1.7默认的安装路径
默认的安装目录是_install。该路径在当前目录下。 一般可以将该目录命名为rootfs,表示根文件系统路径。
1.3.4 编译安装busybox
在busybox根目录下输入以下命令:
root@XL:/work_user/busybox/busybox-1.24.1# make && make install |
效果截图:
图1.8 成功现象
1.4 制作根文件系统
1.4.1 拷贝共享库lib
进入共享路径目录:
root@XL:/work_user/busybox/busybox-1.24.1# cd _install/ |
创建三个文件夹:
root@XL:/work_user/busybox/busybox-1.24.1/_install# mkdir lib dev etc |
图1.9 创建成功
因为我们配置busybox时,选择的是动态编译,动态编译需要交叉编译器的库支持。
拷贝交叉编译器的库到共享路径_install目录下的lib文件夹。
- 获取交叉编译器路径
root@XL:/work_user/busybox/busybox-1.24.1/_install# echo $PATH /work_user/arm-linux/opt/FriendlyARM/toolschain/4.5.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games |
- 拷贝lib库
root@XL:/work_user/busybox/busybox-1.24.1/_install/lib# cp /work_user/arm-linux/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/lib/* ./ -d -rf |
效果图:
图2.0
1.4.2 创建设备节点
进入dev目录下创建设备节点。
root@XL:/work_user/busybox/busybox-1.24.1/_install/dev# mknod console c 5 1 root@XL:/work_user/busybox/busybox-1.24.1/_install/dev# mknod null c 1 3 |
mknod命令解析:
mknod console c 5 1
节点名称 c是字符设备 主设备号 次设备号
mknod null c 1 3
节点名称
用法:mknod <设备节点的名称> <设备节点的类型> [主设备号 次设备号]
效果图:
图2.1
1.4.3 设置脚本命令解析器
root@XL:/work_user/busybox/busybox-1.24.1/_install# cd etc/ root@XL:/work_user/busybox/busybox-1.24.1/_install/etc# ls root@XL:/work_user/busybox/busybox-1.24.1/_install/etc# vim inittab |
添加如下代码:
console::askfirst:/bin/sh |
效果图:
图2.2
1.4.4 设置NFS共享路径
添加共享路径:
root@XL:/work_user/busybox/busybox-1.24.1/_install/etc# vim /etc/exports |
填上自己的共享路径:
/work_user/busybox/busybox-1.24.1/_install *(rw,no_root_squash,sync) |
路径格式:
实际路径 *(rw,no_root_squash,sync) 实际路径:要共享的目录 * :允许所有的网段访问 rw :读写权限 sync:资料同步写入硬盘 no_root_squash:nfs客户端共享目录使用者权限 |
效果图:
图2.3
重新挂载/etc/exports 将共享路径输出到屏幕 |
如果缺少exports模块,需要安装:
root@XL:/work_user/busybox/busybox-1.24.1/_install/etc# apt-get install nfs-kernel-server //安装NFS服务器 root@XL:/work_user/test_busybox/busybox-1.24.1# sudo apt-get install nfs-common //安装NFS客户端 |
exports命令格式:
如果修改了/etc/exports文件后不需要重新激活nfs,只要重新扫描一次/etc/exports文件,并且重新将设定加载即可: # exportfs [-aruv] 参数说明如下。 (1)-a:全部挂载(或卸载)/etc/exports文件内的设定。 (2)-r:重新挂载/etc/exports中的设置,此外同步更新/etc/exports及/var/lib/nfs/xtab中的内容。 (3)-u:卸载某一目录。 (4)-v:在export时将共享的目录显示在屏幕上。 |
1.4.5 启动NFS挂载
- Ubuntu系统选启动NFS挂载方式:
root@XL:/# /etc/init.d/nfs-kernel-server restart //复位NFS服务 [ ok ] Restarting nfs-kernel-server (via systemctl): nfs-kernel-server.service. root@XL:/# /etc/init.d/nfs-kernel-server start //启动NFS服务 [ ok ] Starting nfs-kernel-server (via systemctl): nfs-kernel-server.service. /etc/init.d/nfs-kernel-server stop //停止NFS服务 |
- 红帽子系统下启动NFS服务器方法
为了方便,需要编写一个脚本:
在根目录下创建一个脚本文件。名称为:start_nfs_config.sh
#!/bin/bash service nfs restart #重启NFS服务器 service iptables stop #关闭防火墙 ifconfig eth0 192.168.18.3 #设置网卡的IP地址。 |
修改脚本的执行权限:#chmod 777 start_nfs_config.sh
注意:如果重启NFS服务器过程中出现有错误,需要重新运行脚本一次!
单独启动NFS服务器:service nfs start
红帽6.3系统下配置网络方式:
1.4.6 配置网络
设置虚拟机网络为桥接模式:
设置ip地址:ifconfig eth0 192.168.18.3
1.5 设置UBOOT环境变量
setenv bootargs root=/dev/nfs nfsroot=192.168.18.3:/work/rootfs ip=192.168.18.123:192.168.18.3:192.168.18.1:255.255.255.0::eth0:off init=/linuxrc cnotallow=ttySAC0,115200 |
格式:
setenv bootargs root=/dev/nfs nfsroot=<服务器IP>:<根文件系统的路径> ip=<开发板IP>:<服务器IP>:<网关>:<子网掩码>::eth0:off init=/linuxrc cnotallow=ttySAC0,115200
在UBOOT命令行设置环境变量后,需要保存!---> # saveenv
设置完成后重启开发板,如果正常的话,就挂挂载电脑上的文件系统:
以上是关于#导入Word文档图片# 根文件系统制作与挂载的主要内容,如果未能解决你的问题,请参考以下文章