文件系统制作.doc

上传人:asd****56 文档编号:70339592 上传时间:2023-01-19 格式:DOC 页数:22 大小:458KB
返回 下载 相关 举报
文件系统制作.doc_第1页
第1页 / 共22页
文件系统制作.doc_第2页
第2页 / 共22页
点击查看更多>>
资源描述

《文件系统制作.doc》由会员分享,可在线阅读,更多相关《文件系统制作.doc(22页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、文件系统制作一、根文件系统 根文件系统或者可以认为是一组特定的目录结构,不同的目录里面存放了不同名称,不同用途的文件,方便系统及用户应用程序查找及调用。 根文件系统中各顶层目录,均有其特殊的用法和目的。表1-1 提供了 Linux根文件系统各顶层目录的完整清单。 如果读者在桌面 PC上安装了发行版的 Linux,并且经常使用它,那么你应该已经熟悉其中一些目录了。不过在嵌入式Linux系统中,所有与多用户环境有关的目录,例如/home、/mnt、/opt 和/root,都可以省略;其余的目录/bin、/dev、etc、/lib、/proc、/sbin 和/usr 则是不可或缺的;有时候,如果将内

2、核配置成不支持相应的虚拟文件系统的话,/proc 和/sys 也可以省略;/usr 和 /var 这两个顶层目录,与根目录非常像,它们自己有预定的层次结构。表1-1 根文件系统各顶层目录目录内容bin必要的用户命令(二进制文件)boot引导加载程序所使用的静态文dev设备文件和其他特殊文件etc系统配置文件,包括启动文件home用户主目录lib必要的程序库(例如 C 程序库)以及内核模块media挂载点,用于可移除媒体mnt挂载点,用于临时挂载的文件系统opt附加的软件套件proc用于提供内核与进程信息的虚拟文件系统rootroot 用户的主目录sbin必要的系统管理员命令(二进制文件)sys

3、系统信息与控制(总线、设备以及驱动程序)的虚拟文件系统tmp临时文件usr在第二层包含了对大多数用户有用的大量应用程序和文件,包括X 服务器var用于存放服务程序和工具程序的可变资料二、制作根文件系统 本小节将介绍采用流行的 Busybox工具制作根文件系统。 其中主要包括配置及编译 Busybox,创建根文件系统目录,设备文件及启动配置文件,以及添加常用的库等。 2.1 Busybox工具 Busybox是为构建内存有限的嵌入式系统和基于软盘系统的一个优秀工具。 BusyBox是很多标准Linux工具的一个单个可执行实现,其通过将很多必需的工具放入一个可执行程序,例如cat、echo等;还包

4、含了一些更大、更复杂的工具,例如grep、find、mount以及telnet(不过它的选项比传统的版本要少);并让它们可以共享代码中相同的部分,从而对它们的大小进行了很大程度的缩减;而且用户还可以根据自己的需要,决定到底要在 busybox中编译进哪几个应用程序的功能。这样的话,busybox的体积就可以进一步缩小了。由此可见,Busybox对于嵌入式系统来说是一个非常有用的工具。 BusyBox揭露了这样一个事实:很多标准Linux工具都可以共享很多共同的元素。例如,很多基于文件的工具(比如grep和 find)都需要在目录中搜索文件的代码。当这些工具被合并到一个可执行程序中时,它们就可以

5、共享这些相同的元素,这样可以产生更小的可执行程序。实际上,BusyBox可以将大约 3.5MB的工具包装成大约200KB大小。这就为可引导的磁盘和使用Linux的嵌入式设备提供了更多功能。Busybox工具可以在 1.17.2 版本。 2.2 根文件系统制作下面将制作根文件系统的详细过程描述如下。 (1)首先建立一个空根目录 我们的项目空间中将根文件系统规划在rootfs 目录下,这个目录现在是空的,就把它作为我们的空根目录,接下来我们就在这个目录下建立根文件系统。 在home目录下创建一个tiny6410文件夹,在tiny6410中创建linux_change文件夹。rootlocalhos

6、t linux_change# mkdir rootfs/rootlocalhost linux_change# cd rootfs/(2)在/home/tiny6410/linux_change/rootfs目录下中建立文件系统的目录结构,所有命令如下:rootlocalhost rootfs#pwd/home/tiny6410/linux_change/rootfs建立文件系统的目录结构2 rootlocalhost rootfs# mkdir bin dev etc lib proc sbin sys usr mnt tmp var3 rootlocalhost rootfs# chmo

7、d 1777 tmp4 rootlocalhost rootfs# mkdir usr/bin usr/lib usr/sbin lib/modules5 rootlocalhost rootfs# mkdir mnt/etc mnt/jffs2 mnt/yaffs mnt/data mnt/temp6 rootlocalhost rootfs# mkdir var/lib var/lock var/log var/run var/tmp7 rootlocalhost rootfs# chmod 1777 var/tmp 第一行进入根文件系统目录。 第二行在根目录下创建一级目录 bin dev

8、 etc lib proc sbin sys usr mnt tmp var。 第三行更改 tmp 权限,使得用户只能修改、删除自己在本目录下创建的文件。 第四行创建 usr 目录下的子目录 第五行创建 mnt 目录下的子目录。 第六行创建 var 目录下的子目录。 第七行更改 var/tmp 目录的权限。(3)创建设备文件先了解一下 Linux的设备:Linux中主要有 2 种类型的设备:字符设备(无缓冲且只能顺序存取)、块设备(有缓冲且可以随机存取)。每个设备都必须有主、次设备号,主设备号相同的设备是同类设备(使用同一个驱动程序)。这些设备中,有些设备是对实际存在的物理硬件的抽象,而有些设

9、备则是内核自身提供的功能(不依赖于特定的物理硬件,又称为虚拟设备。每个设备在/dev目录下都有一个对应的文件(节点)。可以通过cat /proc/devices命令查看当前已经加载的设备驱动程序的主设备号。 你可以在你的宿主机上执行这个命令看看你的宿主机所拥有的设备文件,可以看到,Linux有很多很多的设备文件,在嵌入式Linux中并没有这么多的设备,下面用 mknod命令创建一些主要设备文件。 关于 Linux的设备号:很多设备在 Linux下已经有默认的主次设备号,如帧缓冲设备是Linux的标准字符设备,主设备号是29,如果Linux 下有多个帧缓冲设备,那么这些帧缓冲设备的次设备号就从

10、031(Linux 最多支持32个帧缓冲设备)进行编号,比如 fb0 对应的次设备号就是0,fb1为1,类推。用户也可以创建自己的设备文件, Linux下创建设备节点的命令是mknod,下面是它的命令格式: mknod Name b | c Major MinorName是设备名称,“b”或“c”用来指定设备的类型是块设备还是字符设备。Major指定设备的主设备号,Minor 是次设备号。下面我们来创建嵌入式 Linux系统中一些基本的设备文件, 必须是 root 权限, 命令如下: 1 rootlocalhost rootfs# mknod -m 600 dev/console c 5 12

11、rootlocalhost rootfs# mknod -m 666 dev/null c 1 33 rootlocalhost rootfs# mknod dev/fb0 c 29 04rootlocalhost rootfs# mknod dev/tty c 5 05 rootlocalhost rootfs# mknod dev/tty0 c 4 06 rootlocalhost rootfs# ln -s dev/fb0 dev/fbrootlocalhost rootfs# mkdir dev/input7 rootlocalhost rootfs# mknod dev/input/

12、event0 c 13 648 rootlocalhost rootfs# mknod dev/input/mouse0 c 13 329rootlocalhost rootfs# mknod dev/input/event1 c 13 6510rootlocalhost rootfs# mknod dev/sda b 8 011rootlocalhost rootfs# mknod dev/video0 c 81 012 rootlocalhost rootfs# mknod dev/ttyS0 c 4 6413 rootlocalhost rootfs# mknod dev/ttyS1 c

13、 4 6514 rootlocalhost rootfs# mknod dev/ttyS2 c 4 66 第1行创建系统控制台设备 第2行创建空设备,任何写入都将被丢弃,任何读取都得到 EOF 第3行创建第一个帧缓冲设备 第4行创建TTY 设备 第5行创建当前虚拟控制台 第6行创建fb到fb0的链接 第7行创建触摸屏设备端点 第8行创建鼠标设备端点 第9行创建键盘设备端点 第10行创建U盘设备端点 第11行创建摄像头设备端点 第12行创建第一个串口设备端点 第13行创建第二个串口设备端点 第14行创建第三个串口设备端点(4)准备启动配置文件 Linux启动所需要的文件有etc/inittab、

14、etc/init.d/rcS、etc/fstab 这三个文件(以下均假定当前路径在/gdut2410/rootfs/rootfs)。 inittab 在创建这个文件之前先了解一下它的作用:Linux内核引导完成以后,就启动系统的第一个进程init,init进程称为所有进程之父,进程号是1,位于sbin目录下。init进程需要读取/etc/inittab文件作为其行为指针,inittab是以行为单位的描述性(非执行性)文本,每一个指令行都具有以下格式: id:runlevel:action:process 其中,各字段以及与其相关的说明如下: id:登记项标识符,最多为 4 个字符。用于惟一地标

15、识/etc/inittab 文件中的每一个登记项。 runlevel: 系统运行级, 就是操作系统当前正在运行的功能级别。 这个级别从 1 到 6,具有不同的功能。如果该字段为空,那么相应的登记项将适用于所有的运行级。所有功能级别参考表 2-1。 action:动作关键字。用于指定 init(M)命令或进程对相应进程(在“process”字段定义)所实施的动作。参考表2-2。 process:所要执行的shell 命令。任何合法的 shell语法均适用于该字段。 表2-1 系统运行级runlevel功能级别0停机(千万不能把initdefault 设置为 0) 1单用户模式2多用户模式,没有N

16、FS3完全的多用户模式4没有用的5X116重新启动(千万不能把initdefault 设置为 6)表2-2 action动作对应表action执行动作sysinit系统引导期间执行此进程。 本进程会在boot或bootwait条目之前得到执行。runlevels域被忽略。respawn该进程只要终止就立即重启askfirst类似 respawn,不过它的主要用途是减少系统上执行的终端应用程序的数量。它将会促使 init 在控制台上显示“Please press Enter to active this console”的信息,并在重新启动之前等待用户按下 Enter键restartinit重新

17、启动时执行的进程shutdown系统关机时执行相应的进程boot系统引导过程中执行该进程,runlevel 域被忽略bootwait系统引导过程中执行该进程,并且,init 等待该进程的结束。当该进程死亡时,也不重新启动该进程。initdefault指定系统引导完成之后的默认运行级。如果不存在该登记项,那么init将要求用户在系统启动时指定一个最初的运行级。off如果相应的进程正在运行,那么就发出一个警告信号,等待 20 秒后,再通过杀死信号强行终止该进程。如果相应的进程并不存在就忽略。once只要进入相应的运行级别,init 就执行该进程一次。ondemand与“respawn”的功能完全相

18、同,但只用于运行级为 a、b 或 c 的登记powerfail只在 init 接收到电源失败信号时执行相应的进程,但不等待该进程结束。powerwait只在 init 接收到电源失败信号时执行相应的进程,并在继续对/etc/inittab 文件进行任何处理前等待该进程结束。wait只要进入指定的运行级别就启动该进程,并且 init 等待该进程结束ctrlaltdel按下Ctrl-Alt-Delete 的组合键时执行的进程下面创建 inittab 文件,命令:rootBC rootfs# gedit etc/inittab在文件中添加如下内容: :sysinit:/etc/init.d/rcS

19、:askfirst:-/bin/sh :respawn:-/bin/sh :restart:/sbin/init :ctrlaltdel:/sbin/reboot :shutdown:/bin/umount -a -r :shutdown:/sbin/swapoff -a 分析该配置文件,可以知道 init 进程首先执行/etc/init.d/rcS 脚本文件,该文件马上就会被创建。 rcS创建 rcS文件,命令:rootBC rootfs# mkdir etc/init.drootBC rootfs# gedit etc/init.d/rcS在文件中添加如下内容:#!/bin/sh# mou

20、nt all filesystem defined in fstabecho #mount all. /dev/tty0/bin/mount -aecho #setting etho 192.168.1.43 /dev/tty0ifconfig eth0 192.168.1.43echo Starting Qt4, please waiting. /dev/tty0/bin/qt4 &更改该文件的权限: rootlocalhost rootfs# chmod 775 etc/init.d/rcS 刚刚说到rcS文件是init进程执行的初始化命令脚本,在该文件中,只加了一条命令:“/bin/mo

21、unt -a”,用来加载fstab文件中定义的文件系统,fstab文件马上就被会创建。 fstab 首先来看看/etc/fstab文件的作用,该文件存放的是系统中的文件系统信息。当正确的设置了该文件,则可以通过mount /directoryname命令来加载一个文件系统,每种文件系统都对应一个独立的行,每行中的字段都有空格或 tab 键分开。同时 fsck、mount、umount 的等命令都利用该程序。fstab 文件格式如下:fs_spec fs_file fs_type fs_options fs_dump fs_pass fs_spec:该字段定义希望加载的文件系统所在的设备或远程文

22、件系统,对于 NFS情况,格式一般为:,例如:210.43.111.211:/armnfs。对于procfs,使用proc来定义。 fs_file:该字段描述文件系统所希望加载的目录点, 对于 swap 设备, 该字段为 none;对于加载目录名包含空格的情况,用 40 来表示空格。 fs_type:定义了该设备上的文件系统类型。 fs_options :指定加载该设备的文件系统是需要使用的特定参数选项,多个参数是由逗号分隔开来。对于大多数系统使用defaults就可以满足需要。 fs_dump:该选项被dump命令使用来检查一个文件系统应该以多快频率进行转储,若不需要转储就设置该字段为0。

23、fs_pass:该字段被 fsck命令用来决定在启动时需要被扫描的文件系统的顺序,根文件系统/对应该字段的值应该为1,其他文件系统应该为 2。若该文件系统无需在启动时扫描则设置该字段为0。下面创建 fstab 文件,命令:rootlocalhost rootfs# gedit etc/fstab在该文件中添加如下内容:proc /proc proc defaults 0 0none /tmp ramfs defaults 0 0sysfs /sys sysfs defaults 0 0在bin目录在添加qt4文件:rootlocalhost rootfs# gedit bin/qt4#!/bi

24、n/shif -e /etc/friendlyarm-ts-input.conf ; then. /etc/friendlyarm-ts-input.conffitrue $TSLIB_TSDEVICE:=/dev/touchscreenexport TSLIB_CONFFILE=/etc/ts.confexport TSLIB_TSDEVICE= /dev/touchscreen-1wireexport TSLIB_PLUGINDIR=/usr/lib/tsexport TSLIB_CALIBFILE=/etc/pointercalexport QWS_DISPLAY=:1export LD

25、_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATHexport PATH=/bin:/sbin:/usr/bin/:/usr/sbin:/usr/local/binif -c /dev/touchscreen ; thenexport QWS_MOUSE_PROTO=Tslib MouseMan:/dev/input/miceif ! -s /etc/pointercal ; thenrm /etc/pointercal/usr/bin/ts_calibratefielseexport QWS_MOUSE_PROTO=MouseMan:/dev/inpu

26、t/micefiexport QWS_KEYBOARD=TTY:/dev/tty1export HOME=/root(5)利用BusyBox安装命令工具 下载并解压 BusyBox把busybox-1.17.2-20101120.tgz拷贝至/home/tiny6410/linux_change目录下并解压rootlocalhost linux_change# # tar -vxzf busybox-1.17.2-20101120.tgzrootlocalhost linux_change #cd busybox-1.17.2rootlocalhost busybox-1.17.2 #cp f

27、a.config .configrootlocalhost busybox-1.17.2 #makerootlocalhost busybox-1.17.2 #make CONFIG_PREFIX=/home/tiny6410/linux_change/rootfs/ install安装完成后会在/home/tiny6410/linux_change/rootfs/目录下生成linuxrc文件,再去bin和sbin目录下看看,是不是多了很多文件呢,这些都是 BusyBox 编译生成的命令工具。 修改 bin/busybox的属性,命令如下:rootlocalhost busybox-1.17.

28、2# cd /home/tiny6410/linux_change/rootfs/bin rootBC bin# chmod 4755 busybox(7)复制常用的库文件到/rootfs/lib/目录下常用的库文件有些在宿主机的/lib、/usr/lib 等目录下,但大多数在交叉编译器的安装路径中(如/gcc-3.4.6-glibc-2.3.6/arm-linux/arm-linux/lib/),可以用locate 命令进行查找。rootlocalhost busybox-1.17.2 #cd /opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-

29、gnueabi/lib/rootlocalhost lib #cp -d *.so* /home/tiny6410/linux_change/rootfs/lib/rootlocalhost lib #/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/sys-root/lib/rootlocalhost lib #cp -d *.so* /home/tiny6410/linux_change/rootfs/lib/rootlocalhost lib #/opt/FriendlyARM/toolschain/4.5.1/arm-no

30、ne-linux-gnueabi/sys-root/usr/lib/rootlocalhost lib #cp -d *.so* /home/tiny6410/linux_change/rootfs/usr/lib/将arm-qte-4.7.0-20101105.tar.gz拷贝到目录/home/tiny6410/linux_change/并将它解压rootlocalhost linux_change#tar vxzf arm-qte-4.7.0-20101105.tar.gzrootlocalhost linux_change# cd arm-qte-4.7.0rootlocalhost a

31、rm-qte-4.7.0# ./build-all这个过程将十分漫长,根据机器配置不同,会有不同的编译时间,请耐心等待。rootlocalhost arm-qte-4.7.0#./ mktarget当顺利执行完毕,再运行mktarget脚本,将会从编译好的目标文件目录中,提取出必要的QtE-4.7.0库文件和可执行二进制示例,并打包为target-qte-4.7.0.tgz,把它在rootfs目录下解压,就可以使用了,如下命令。rootlocalhost arm-qte-4.7.0#tar xvzf target-qte-4.7.0.tgz C /home/tiny6410/linux_cha

32、nge/rootfs/安装UBIFS文件系统制作工具:1、 将mktools.tar.gz拷贝到/home/tiny6410/linux_change目录下 2、 rootlocalhost linux_change#tar xvzf /tmp/linux/mktools.tar.gz C /3、 rootlocalhost linux_change# mkubimage-mlc2 rootfs rootfs_qt4.ubi4、 将生产的rootfs rootfs_qt4.ubi 拷贝到windows下,利用USB烧写,请参考03-Tiny6410刷机指南-20111021.pdf 文件 第二

33、章 2.1.13.3.1 获得 Qt4.7 的源代码 在 mini6410 光盘 A 的以下路径“开发文档和教程01 Qt4 和 Qtopia 编程开发指南源代码第三章3-3”可以拿到 Qt4.7.0 源代码的原始包 qt-everywhere-opensource-src-4.7.0.tar.gz,将其拷贝到/home/tiny6410/src下,然后在 linux 终端上输入如下命令(不用键入#),在/home/tiny6410/src下解压 Qt4.7.0的源码包: # /home/tiny6410/src# tar xvzf /opt/qt-everywhere-opensource-

34、src-4.7.0.tar.gz (注:如果还没有创建/home/tiny6410/src目录,请输入 mkdir -p /home/tiny6410/src创建。) 3.3.2 交叉编译Qt4.7 执行以下命令执行 Qt4.7.0 编译前的配置: # /opt/mini6410/qt-everywhere-opensource-src-4.7.0 #./configure -prefix /home/tiny6410/linux-change/Qt4.7 -opensource -embedded arm -xplatform qws/linux-arm-g+ -no-webkit -qt-

35、libtiff -qt-libmng -qt-mouse-tslib -qt-mouse-pc -no-mouse-linuxtp -no-neon 然后根据提示输入yes上面的主要参数含义说明如下: -embedded arm: 表示将编译针对 arm 平台的 embedded 版本; -xplatform qws/linux-arm-g+: 表示使用 arm-linux 交叉编译器进行编译; -qt-mouse-tslib: 表示将使用 tslib 来驱动触摸屏; -prefix /home/tiny6410/linux/Qt4.7:表示Qt4.7最终的安装路径是 /home/tiny64

36、10/linux/Qt4.7,注意,部置到 mini6410 开发板时,也需要把 Qt4.7 放在这个路径上; 执行以下命令进行编译并安装 Qt4.7: # make & make install 上面命令中出现的&符号表示只有左边的 make 命令执行成功时(返回 0),才会执行右边的 make install 命令。编译完成后,Qt4.7 被安装在/home/tiny6410/linux-change/Qt4.7目录下。3.3.3 在mini6410上部置Qt4.7 在PC上执行如下命令将 Qt4.7 打包: # cd /opt # tar cvzf qt4.7.tgz Qt4.7 打包完

37、成后,将qt4.7.tgz拷贝到SD卡,然后将SD卡插入mini6410开发板,执行以下命令将 qt4.7.tgz解压到开发板上的/opt 目录下: # rm /usr/local/Trolltech/QtEmbedded-4.7.0-arm/ -rf # cd /opt # tar xvzf /sdcard/qt4.7.tgz (注:在上述命令中,为了保证有足够的空间存放我们自已编译的Qt4.7,我们先将友善之臂提供的Qt4.7删除掉) 注意,一定要保持Qt4.7的目录为/home/tiny6410/linux/Qt4.7,因为我们在配置Qt4.7时,指定了-prefix 参数为/home/

38、tiny6410/linux/Qt4.7。 至此,Qt4.7在mini6410上部署完成了,接下来我们将运行一个示例程序来测试Qt4.7是否能正常工作。也可以使用其他的方法,比如在启动脚本/etc/init.d/rcS中注释掉qtopia启动项,再重新系统系统;或者使用 killall命令杀死相关的进程(比较多);甚至是直接删除/opt 目录中的所有内容重启。 如何运行 Qt4.7 的示例程序呢? 在我们部署到mini6410开发板上的Qt4.7的/home/tiny6410/linux/Qt4.7/examples/目录就带有不少的示例程序,并且已经编译好生成有可执行文件,我们试着直接运行一

39、个程序试试: # /home/tiny6410/linux/Qt4.7/demos/embedded/fluidlauncher/fluidlauncher 程序没法运行,提示有错误,原因是 Qt4.7 的环境没有设置好,为了更方便地运行 Qt4 程序,我们先编写一个脚本setqt4env,这个脚本用于设置 Qt4.7 所需要的环境变量。 输入以下命令创建并编写脚本/bin/setqt4env : # gedit /bin/setqt4env 在 gedit 编辑器中输入如下内容: #!/bin/sh if -e /etc/friendlyarm-ts-input.conf ; then .

40、/etc/friendlyarm-ts-input.conf fi true $TSLIB_TSDEVICE:=/dev/touchscreen export TSLIB_TSDEVICE=/dev/touchscreen-1wire export TSLIB_CONFFILE=/etc/ts.conf export TSLIB_PLUGINDIR=/usr/lib/ts export QT_QWS_FONTDIR=$PWD/lib/fontsexport TSLIB_PLUGINDIR=/usr/lib/ts export TSLIB_CALIBFILE=/etc/pointercal ex

41、port QWS_DISPLAY=:1 export LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH export PATH=/bin:/sbin:/usr/bin/:/usr/sbin:$PWD/bin if -c /dev/touchscreen ; then export QWS_MOUSE_PROTO=Tslib MouseMan:/dev/input/mice if ! -s /etc/pointercal ; then rm /etc/pointercal /usr/bin/ts_calibrate fi else export QWS_MOUS

42、E_PROTO=MouseMan:/dev/input/mice fi export QWS_KEYBOARD=TTY:/dev/tty1export HOME=/root将脚本设置可执行权限: # chmod +x /bin/setqt4env 现在再试一下运行示例程序: # . setqt4env # cd /home/tiny6410/linux/Qt4.7/demos/embedded/fluidlauncher/ # ./fluidlauncher -qws mount -t nfs -o intr,nolock,rsize=1024,wsize=1024 192.168.0.121

43、:/主机nfs目录 /挂载路径#mount -t nfs -o intr,nolock,rsize=1024,wsize=1024 192.168.1.201:/home /mnt/nfs#mount -t nfs -o nolock 192.168.1.201:/home/tiny6410/linux /mnt/nfs上面的命令中,先调用 setqt4env 设置一下环境变量,再调用示例程序,注意,setqt4env 命令前面的“.”与 setqt4env 之间要有一个空格隔开,表示脚本中导出的环境变量将应用到当前 shell 会话中。示例程序的运行结果如下:rootlocalhost li

44、nux_change# mkubimage-mlc2 rootfs-qt4.7 rootfs-qt4.7.ubi1 创建文件系统目录进入/home/tiny6410/linux-change#cd /home/tiny6410/linux-change创建文件系统目录#mkdir rootfs-qt4.72 配置Busybox2.1 下载busybox1.17.2从busybox官方网站上下载busybox1.17.2,地址2.2 修改Makefile文件进入busybox目录,将第164行CROSS_COMPILE ?= 修改为CROSS_COMPILE ?= arm-linux-,将第19

45、0行ARCH ?= $(SUBARCH) 修改为ARCH ?= arm。2.3 配置busybox选项选择默认配置#make defconfig启动配置窗口#make menuconfig配置busybox选项,如下图所示:选择Busybox Settings -,按回车进入 选择Build Options -回车进入 Build BusyBox as a static binary (no shared libs)这项保持默认即可。选择() Cross Compiler prefix回车进入在输入框里面输入arm-linux-选择OK回车返回选择Exit回车返回选择Installation Options -选择,按回车进入选择()BusyBox installation prefix,按回车进入,删掉原有字符,输

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com