真的是非常费劲,遇到许多不应该遇到的问题,不过凭借着自己的毅力与耐心,还是‘逢凶化吉’,最终完成
系统的刷写
制作根文件系统就是要建立以上的目录,并在其中建立完整目录内容。其过程大体包括:
· 编译/安装busybox,生成/bin、/***in、/usr/bin、/usr/***in目录
· 利用交叉编译工具链,构建/lib目录
· 手工构建/etc目录
· 制作根文件系统的镜像文件
下面就来详细介绍这个过程。
1、编译安装busybox,生成/bin、/***in、/usr/bin、/usr/***in目录
首先下载BusyBox源码,使用命令
下载后,切换到busybox目录,并进行默认配置
make ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi- defconfig
使用命令
make ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi- menuconfig
打开可视化界面配置
逐一进入
BusyBox Set
tings->Installation Options->BusyBox installation prefix
将目录设置为
/home/devel/_rootfs
保存后退出,并安装busybox
make ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi- install
安装好后,我们能够在/home/devel/_rootfs目录下看到生成了的bin ***in usr/bin usr/***in 目录,其下包含了我们常用的命令,这些命令都是指向bin/busybox的软链接。
3、安装Dropbear
我对dropbear的功能不是很明白,从百度上获取到的信息是“dropbear实现完整的SSH客户端和服务器版本2协议。它不支持SSH版本1 的向后兼容性,以节省空间和资源,并避免在SSH版本1的固有的安全漏洞。还实施了SCP的。SFTP支持依赖于一个二进制文件,可以通过提供的OpenSSH或类似的计划。”由于xilinx wiki上有这样的步骤,还是老老实实的做吧。
下载dropbear,并解压
tar xfvz dropbear-0.53.1.tar.gz
配置dropbear
./configure --prefix=/home/devel/_rootfs --host=arm-xilinx-linux-gnueabi --disable-zlib CC=arm-xilinx-linux-gnueabi-gcc LDFLAGS="-Wl,--gc-sections" CFLAGS="-ffunction-sections -fdata-sections -Os"
编译
make PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp" MULTI=1 strip
安装dropbear并创建符号链接
make install
4、利用交叉编译工具链,构建/lib目录
进入/home/devel/_rootfs,创建lib目录
cd /home/devel/_rootfs
bash> mkdir lib
将交叉编译环境库拷贝到这个目录下
cp /opt/14.2/ISE_DS/EDK/gnu/arm/lin64/arm-xilinx-linux-gnueabi/libc/lib/* lib -r
同样,将工具链拷贝到***in/和 usr/bin/下
cp /opt/14.2/ISE_DS/EDK/gnu/arm/lin64/arm-xilinx-linux-gnueabi/libc/***in/* ***in/ -r
cp /opt/14.2/ISE_DS/EDK/gnu/arm/lin64/arm-xilinx-linux-gnueabi/libc/usr/bin/* usr/bin/ -r