uboot编译
1.确认ubuntu中交叉编译器已经搭建完成
本教程采用的交叉编译器版本
arm-2009q3.tar.bz2
arm-none-linux-gnueabi-
2.将开发板提供的iTop4412_uboot_20151119.tar.gz上传至ubuntu
路径:I:\iTOP-4412全功能版光盘资料\06_源码_uboot和kernel\iTop4412_uboot_20151119.tar.gz
3.因为采用的是迅为4412全能开发板,核心板为SCP 2G,需要将CodeSign4SecureBoot_SCP文件夹一同上传至ubuntu
路径:I:\iTOP-4412全功能版光盘资料\06_源码_uboot和kernel\CodeSign4SecureBoot_SCP
4.解压
tar -vxf iTop4412_uboot_20151119.tar.gz
5.进入解压的uboot目录并执行编译
cd iTop4412_uboot
./build_uboot.sh SCP_2GDDR
6.整个脚本执行完毕后,会在文件夹内生成一个u-boot-iTOP-4412.bin文件,通过文件传输软件下载到宿主机即可。
Linux内核编译
1.交叉编译器版本与uboot一致
2.将开发板提供的内核文件上传至ubuntu
文件路径:I:\iTOP-4412全功能版光盘资料\06_源码_uboot和kernel\iTop4412_Kernel_3.0_20151120.tar.gz
3.解压
tar -vxf iTop4412_Kernel_3.0_20151120.tar.gz
4.进入解压后的文件夹
cd iTop4412_Kernel_3.0
5.对内核文件进行初始化配置,可以直接用开发板提供的配置文件的基础上进行配置更改,注意核心板的型号,这里核心板为SCP 2G
cp config_for_linux_scp_supper .config
6.完成配置后编译
make zImage
7.编译完毕,将zImage文件拷贝至宿主机即可
根文件系统编译
一、Android文件系统编译
1.查看ubuntu系统当前gcc是否正常安装,正常即可
gcc -v
2.将源码压缩包iTop4412_ICS_git_20151120.tar.gz上传至ubuntu
路径:I:\iTOP-4412全功能版光盘资料\07_源码_Android4.0.3文件系统\iTop4412_ICS_git_20151120.tar.gz
3.解压
tar -vxf iTop4412_ICS_git_20151120.tar.gz
4.进入解压后的目录
cd iTop4412_ICS_git
5.执行编译脚本进行编译
./build_android.sh
android文件系统第一次编译大约需要60分钟,后续再编译就很快了。
6.显示“ok success !!!”则编译成功,将out/target/product/smdk4x12/路径下的ramdisk-uboot.img和system.img拷贝至宿主机即可
二、最小linux根文件系统制作
1.将linux_tools.tgz上传至ubuntu根目录
文件路径:I:\iTOP-4412全功能版光盘资料\02_编译器以及烧写工具\tools\linux_tools.tgz
2.解压linux_tools.tgz
sudo tar -vxf linux_tools.tgz
3.将开发板提供的busybox-1.21.1.tar.bz2上传至ubuntu
路径:F:\Linux嵌入式学习\iTOP4412开发板资料汇总 (不含光盘内容)\iTOP-4412开发板搭建编译环境所需要的工具包以及补丁包\04-编译无界面Linux文件系统需要工具包以及补丁包\busybox-1.21.1.tar.bz2
4.解压busybox压缩包
tar -vxf busybox-1.21.1.tar.bz2
5.进入解压后的目录
cd busybox-1.21.1
6.对busybox进行配置
make menuconfig
7.修改交叉编译器
Busybox Settings —>
Build Options —>
(arm-none-linux-gnueabi-) Cross Compiler prefix
8.修改安装路径,即根文件系统的生成路径
Busybox Settings —>
Installation Options (“make install” behavior) —>
(../system) BusyBox installation prefix
9.编译
make
10.编译完成后,安装
make install
11.进入安装路径
cd ../system
12.在生成的根文件系统中增加相关文件夹
mkdir dev etc lib mnt proc sys tmp var
13.上传开发板提供的最小根文件系统root_20150422.tar.gz至ubuntu
文件路径:I:\iTOP-4412全功能版光盘资料\08_源码_QtE以及qtopia2.2.0文件系统\root_20150422.tar.gz
14.解压
tar -vxf root_20150422.tar.gz
15.进入解压后的文件夹将解压后的相关文件拷贝至生成etc目录
cd root
cp -r etc/eth0-setting ../../system/etc
cp -r etc/passwd ../../system/etc
cp -r etc/profile ../../system/etc
cp -r etc/firmware ~/iTOP4412/system/etc
cp -r etc/rc.d ../../system/etc
cp -r etc/init.d ../../system/etc
cp -r lib ../system
16.创建对应文件夹
cd ../system
cd var
mkdir lib lock log run tmp
17.创建对应的文件夹
mkdir usr/libexec
mkdir usr/local
mkdir usr/local/bin
mkdir usr/local/etc
18.拷贝移植好的
cd /home/cheng/openssh/arm-linux-ssh
cp -r usrlibexec/* ~/iTOP4412/system/usr/libexec/
cp -r usrlocalbin/* ~/iTOP4412/system/usr/local/bin/
cp -r usrlocaletc/* ~/iTOP4412/system/usr/local/etc/
19.原有的开机启动文件是带有qt的,这里不需要qt,屏蔽取消qt的开机启动,增加ssh服务开机启动项
cd /home/cheng/iTOP4412/system/etc/init.d
vi rcS
/usr/local/bin/sshd
#/bin/qtopia &
#/bin/qt4 &
20.将制作好的根文件系统打包成镜像
cd /home/cheng/iTOP4412
make_ext4fs -s -l 996147200 -a root -L linux system.img system
21.将制作好的根文件系统拷贝至宿主机
开发板镜像烧录,参考文章
《TF 卡方式烧写iTOP-4412开发板文件系统》
如果文章对您有帮助,欢迎移至上方按钮打赏博主;