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根文件系統所必須的文件夾。