硬件平台:tiny4412
系统:linux-3.5-20151029
文件系统:busybox-1.22.1.tar.bz2
编译器: arm-linux-gcc-4.5.1
目的:
使用uboot引导Linux系统,并挂接根文件系统,搭建起linux开发环境。
由于友善支臂提供的minitools不是开源,使用起来很不舒服。本文将记录从零使用uboot在tiny4412上搭建linux系统的。由于之前只是学了2440,完成这个流程也遇到各种,现在总结如下。其中参考了多篇博客才得以实现,具体涉及的时候会给出链接。
一、准备系统文件
1、安装交叉编译工具链
(1)解压编译器源码
tar arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz –C /
(2)执行后将把 arm-linux-gcc 安装到/opt/FriendlyARM/toolschain/4.5.1 目录。
(3)vi /etc/environment修改PATH为:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/FriendlyARM/toolschain/4.5.1/bin"
(4)重启内核,执行arm-linux-gcc -v查看版本。
2、编译内核
(1)解压
解压 Linux 内核源代码
tar xvzf linux-3.5-20151029.tgz
cd linux-3.5
(2)配置
cp tiny4412_linux_defconfig .config
(3)编译
make
最后在 arch/arm/boot 目录下生成 zImage
3、制作根文件系统
本身打算使用光盘自带的文件系统,结果fastboot下载的时候,文件系统始终出问题,于是采用自制文件系统。通过网络进行挂接,后面会有具体操作说明。
参考:http://blog.csdn.NET/morixinguan/article/details/50677105
编译配置安装busybox
下载源码:https://busybox.net/
tar -xvf busybox-1.22.1.tar.bz2
cd busybox-1.22.1
makedefconfig //默认配置
make menuconfig
BusyboxSettings --->
[*] Build BusyBoxas a static binary (no shared libs)
[ ] Build sharedlibbusybox(NEW)
[*] Build with Large File Support (for accessingfiles > 2 GB)
(arm-linux-) Cross Compilerprefix
make -j4
makeinstall 生成: _install
制作文件系统
mkdir filesystem
cd filesystem
cp ../busybox-1.22.1/_install/* .-r
mkdir etc dev opt sys tmp mnt lib proc
mkdir etc/init.d
vim etc/init.d/rcS
添