TQ2440(S3C2440)移植Linux-4.0.1内核全过程

夙愿已清 提交于 2020-04-15 17:10:37

【推荐阅读】微服务还能火多久?>>>

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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!