TQ2440(S3C2440)移植Linux-4.0.1内核全过程
文件系统yaffs2下载地址:https://yaffs.net/get-yaffs
linux内核下载地址:
BusyBox下载地址:https://busybox.net/
开发环境:
- ubuntu1404
- 天嵌光盘里的交叉编译器(版本4.4.3)
- busybox-1.13.0
(一)制作根文件系统
1、创建根文件系统目录
使用如下脚本:
#!/bin/sh
rm -rf yaffs2
echo "create yaffs2 dir..."
mkdir yaffs2
cd yaffs2
mkdir root dev etc boot tmp var sys proc lib mnt home usr opt
mkdir etc/init.d etc/rc.d etc/sysconfig
mkdir usr/sbin usr/bin usr/lib usr/modules usr/local
mkdir mnt/etc mnt/jffs2 mnt/yaffs mnt/data mnt/temp
mkdir var/lib var/lock var/run var/tmp
echo "make node..."
mknod -m 600 dev/console c 5 1
mknod -m 600 dev/null c 1 3
echo "change mode.."
chmod 1777 tmp
chmod 1777 var/tmp
echo "copy libs..."
cp /opt/install/arm-linux-gcc-4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib/* ./lib -rf
echo "create config files..."
touch etc/fstab etc/inittab etc/mdev.conf etc/profile etc/sysconfig/HOSTNAME etc/init.d/rcS
chmod 744 etc/init.d/rcS
echo "root@tq2440" > etc/sysconfig/HOSTNAME
echo "done!"
说明:
cp /opt/install/arm-linux-gcc-4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib/* ./lib -rf
这一句是拷贝交叉编译器的库,根据你的目录进行修改。
echo "root@tq2440" > etc/sysconfig/HOSTNAME
这一句的root@tq2440
这是开发版启动后挂载文件系统后显示的终端名字,可以根据你的习惯进行修改。
执行该脚本后会在当前目录下生成一个yaffs2文件夹,该文件夹就是linux根文件系统所必须的文件夹。
2、编译busybox
来源:oschina
链接:https://my.oschina.net/u/4323266/blog/3235804