文档详情

根文件系统制作记录.docx

发布:2017-08-18约6.45千字共7页下载文档
文本预览下载声明
根文件系统制作记录所用工具Busybox-1.16.1arm-linux-gcc-4.3.2制作过程编译/安装Busybox下载Busybox及其补丁从/下载busybox-1.16.1.tar.bz2及该版本的所有补丁。补丁一个有5个,包括:busybox-1.16.1-ash.patchbusybox-1.16.1-cpio.patchbusybox-1.16.1-dnsd.patchbusybox-1.16.1-hwclock.patchbusybox-1.16.1-indexcgi.patchbusybox-1.16.1-sed.patch下载完成后将busybox-1.16.1.tar.bz2复制到/work/create_rootfs目录下,所有补丁文件复制到/work/create_rootfs/busybox-1.16.1-patch目录下。使用如下命令将busybox-1.16.1.tar.bz2解压到busybox-1.16.1目录$ tar xjf busybox-1.16.1.tar.bz2 给Busybox打上补丁可以手工逐一给Busybox打补丁,也可以编写脚本自动帮我们完成打补丁的工作,这里采用后面一种方法。$ gedit /work/create_rootfs/patch.sh加入如下脚本:#!/bin/sh cd busybox-1.16.1echo install patch:for patch_file in `ls ../busybox-1.16.1-patch/busybox-1.16.1-*.patch` do patch -p1 ${patch_file} if [ $? -eq 0 ]; then echo ********************************* echo Patching file is successful ! ${patch_file} echo ******************************** else echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! echo Some problem occur in using ${patch_file} !!! echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! fi done if [ $? -eq 0 ]; then echo echo Patching all file is finish! else echo echo Some problem occur in running thie script!!!!! exit 1 fi执行如下命令,将完成打补丁的工作:$ cd /work/create_rootfs$ sudo chmod +x ./patch.sh$ ./patch.sh若最后输出“Patching all file is finish!”则表示所有补丁都正确的打上了。配置Busybox编辑Busybox的主目录下的Makefile来设定交叉编译器与目标板体系结构:$ gedit MakefileCROSS_COMPILE ?=改为CROSS_COMPILE ?=arm-linux- ARCH ?= $(SUBARCH)改为ARCH ?=arm 若忘记设定交叉编译器和目标板体系结构,则可能在内核启动末期出现下面的错误:Freeing init memory: 132Krequest_module: runaway loop modprobe binfmt-464crequest_module: runaway loop modprobe binfmt-464crequest_module: runaway loop modprobe binfmt-464crequest_module: runaway loop modprobe binfmt-464crequest_module: runaway loop modprobe binfmt-464c然后就不动了一般出现这种错误,应
显示全部
相似文档