2.6.29内核移植到mini2440

来源:互联网 发布:十大网络经典小说 编辑:程序博客网 时间:2024/05/16 07:01

2.6.29内核移植到mini2440 (转)

LInux环境搭建与设置 2009-06-12 18:10:10 阅读899 评论5字号:

          软件平台:vm(fodera 9)+arm-linux-gcc 4.3.2 

          最近老师要求我使用mini2440自带的AD来采集数据,师命不可违,于是开工了。以前在mini2440上一直使用的是光盘里2.6.13的内核,但是2.6.13的内核好像不带AD驱动还是怎么回事,反正我没有搞好,正好看到2.6.29内核里有AD的驱动,还带有AD测试的程序。于是把眼光投向了2.6.29。

         由于不想使用自带的root_qtopia.tgz,另外也想自己感受下如何制作根文件。于是在网上找了一篇制作根文件的文章,摘录在下面。

         实际上如果你不愿自己去做根文件系统的话,你也可以使用光盘里的root_qtopia.tgz来修改。方法如下:

         解压root_qtopia.tgz,进入解压后的源码包;

         进入源码包内的opt文件夹,把里面的qtopia文件夹删除(让出空间);

         回来源码包目录,vi etc/init.d/rcS里的/bin/qtopia &注释掉;

         保存后推出。

         到这里,根文件就改造完成。

 

         对于内核的制作则参照文档上面的方法。

         至于对QT4的移植可以参照我的另一篇文章:mini2440下移植QT4.4.3  (http://duanyuxue.blog.163.com/blog/static/43731519200936112436766/edit/

          需要注意的是要把交叉编译器换成4.3.2的才可以,2.6.29的内核只支持EABI,为了保险起见,我把QT4用4.3.2重新编译了一回。另外在板子上设置环境变量的时候把

        

         最后把内核和根文件系统下载到板子上就OK了,测试后触摸屏可以使用并且校准成功。

下面为摘录的根文件制作法,谢谢这位兄弟的共享精神,谢谢!

1.  创建必须的文件夹及设备文件
# mkdir rootfs
# cd rootfs
# mkdir bin dev etc lib mnt proc sbin sys root
# mkdir  /etc/var
# mkdir  /etc/tmp

# ln  -s /etc/var var
# ln  -s /etc/tmp tmp


2. 创建设备文件系统
从 Linux-2.6.18开始,负责旧版本的设备管理系统devfs已被废除,但新
版本的udev是一个基于用户空间的设备管理系统。在内核启动时并不能
自动创建设备节点,固需手动创建console和null两个启动过程必须的设
备节点。我们将采用busybox中内置的mdev,一个简化的udev版本.
# mknod -m 660 dev/console c 5 1
# mknod -m 660 dev/null c 1 3


3. 建立动态运行库
由于linux只安装上了arm-linux-gcc 4.3.2没有glibc的库文件,只好把友善之臂提供的
root_qtopia.tgz文件系统下的lib文件拷贝过来。
# cp -rfd /root_qtopia/lib/*  /2440/root_fs/lib/
拷贝经过交叉编译的库文件,参数-d,保持库文件的链接关系。


4. 交叉编译busybox
解压缩tar -zxf busybox1.13.3.tar
5.执行make CONFIG_PREFIX=/2440/rootfs install
在/2440/rootfs目录下生成sbin,usr目录和linuxrc文件


6.创建etc目录下文件
在rootfs/etc目录下创建一个inittab文件
内容如下:
# /etc/inittab
::sysinit:/etc/init.d/rcS
s3c2410_serial0::askfirst:-/bin/sh
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umount -a -r

创建etc/init.d/rcS文件
#!/bin/sh
ifconfig eth0 192.168.1.17
mount -a
mkdir /dev/pts
mount -t devpts devpts /dev/pts
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s
最后还要改变它的属性使它能够执行。
chmod +x etc/init.d/rcS

创建etc/fstab文件
#device   mount-point  type  options   dump   fack order
proc /proc proc defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
sysfs /sys sysfs defaults 0 0
tmpfs /dev tmpfs defaults 0 0

7.使用mkyaffs2image命令生成yaffs映像文件
./mkyaffs2image root_fs rootfs.yaffs

原创粉丝点击