2022年内核及文件系统 .pdf

上传人:C****o 文档编号:40221717 上传时间:2022-09-08 格式:PDF 页数:14 大小:695.65KB
返回 下载 相关 举报
2022年内核及文件系统 .pdf_第1页
第1页 / 共14页
2022年内核及文件系统 .pdf_第2页
第2页 / 共14页
点击查看更多>>
资源描述

《2022年内核及文件系统 .pdf》由会员分享,可在线阅读,更多相关《2022年内核及文件系统 .pdf(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、内核和根文件系统移植一、移植环境主机:VMWare-Fedora 9开发板:Mini2440-64MB Nand编译器:arm-linux-gcc-4.4.3二、移植步骤本移植是一个简单的过程,比较详细全面的要参考MINI2440 开发板提供的文档,目录如下:mini2440 开发板友善之臂编写或整理的参考文档ni2440 Linux 移植开发实战指南.pdf 下面开始移植:先做准备工作:在内核解压之后,给内核打上yaffs2 补丁,使内核对 yaffs2的支持#tar-zxvf cvs-root.tar.gz#cd cvs/yaffs2/#./patch-ker.sh c/root/my24

2、40/linux-2.6.32.2/1.进入内核根目录修改Makefile使之编译成 ARM 平台#cd linux-2.6.3 2.2#gedit Makefile 在 193 行ARCH?=$(SUBARCH)CROSS_COMPILE?=修改为ARCH?=arm CROSS_COMPILE?=arm-linux-其中,ARCH 是指定目标平台为arm,CROSS_COMPILE 是指定交叉编译器,这里指定的是系统默认的交叉编译器,如要使用其它的,则要把编译器的名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 14 页 -全路径在这里写出2.拷贝,建立自己的文件Linux-2.

3、6.32.2 本身已经包含了 mini2440 的支持,这样就出现了重名。那怎么办呢?在此我们依然使用MINI2440 这个名称,只不过在后面的移植步骤中,把原始内核自带的mini2440 代码部分直接删除就可以了,以免和我们自己移植的混淆了。接下来,我们注意到 linux-2.6.32.2/arch/arm/mach-s3c2440 目录下有个mach-mini2440.c 文件,它其实就是国外爱好者为mini2440 移植添加的主要内容了,但我们不用它,把它直接删除。将以前修改好的mach-mini2440.c复制到此目录下,要注意 时钟、分区、机器码 等的修改3.编译测试在 Linux

4、源代码根目录下执行/#make mini2440_defconfig;使用 Linux 官方自带的 mini2440 配置#make menuconfig 首先加载 s3c24xx 系列的通用配置,然后在此基础上修改名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 14 页 -罗列简单的配置,其它的默认Kernel Features-Boot options-System Type-名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 14 页 -上面除了 S3C2440 Machines(只选*MINI2440 development board)外,其它的 S3C24X

5、X 里面都不选。Device Drivers -Graphics support -Console display driver support -名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 14 页 -*Bootup logo -File systems -*Miscellaneous filesystems -YAFFS2 file system support4.保存配置完后将配置文件保存为.config,这样方便下次make menuconfig时默认加载上次配置过的文件名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 14 页 -5.交叉编译内核#mak

6、e zImage#make uImage如果没有任何错误,编译出来的内核在arch/arm/boot/目录下,文件 uImage即是。6.将内核镜像文件 uImage下载到 Mini2440 上测试三、结束语Ok,新的内核移植成功,但是现在开发板还不能正常运行,因为还有各种设备的驱动和文件系统没有移植,这些将在后续的篇章中一一讲述。名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 14 页 -嵌入式 Linux 之我行 Linux-2.6.30.4在 2440 上的移植之文件系统一、移植环境主机:VMWare-Fedora 9开发板:Mini2440-64MB Nand编译器:ar

7、m-linux-gcc-4.3.2yaffs补丁:cvs-root.tar.gz 这里下载http:/www.aleph1.co.uk/cgi-bin/viewcvs.cgi/Busybox:busybox-1.13.0.tar.tar yaffs制作工具:mkyaffs2image.tgz(友善提供)二、移植步骤1.准备工作目录和进入工作目录#mkdir rootfs/准备使用的根文件系统目录2.编译 busybox 生成文件系统所需要的应用程序 1)解压 busybox 源码,修改 Makefile使之编译成 ARM 平台:#tar-jxvf busybox-1.13.0.tar.tar#

8、cd busybox-1.13.0#gedit Makefile 大概 164 行改成 CROSS_COMPILE=arm-linux-189 行改成 ARCH=arm 2)配置 busybox 选项,下面只列出了要注意的地方,没有列出的默认即可#make menuconfigBusybox Settings-Buld Options-*Build Busybox as a static binary(no shared libs)Installation Options -Dont use/usr 名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 14 页 -Applets li

9、nks(as soft-links)-(这里添加绝对路径/roots/)BusyBox installation prefix Busybox Library Tuning -*vi-style line editing commands vi命令编辑风格 *Fancy shell prompts 这一项一定要选上,不然无法识别/etc/profile中的 PS1变量。Linux Module Utilities -首先取消 Simplified modutils,然后在新出现的菜单中选中insmod,rmmod,lsmod,modprobe,这几项是对模块操作的命令保存配置单,退出。3)编译

10、和安装 busybox,安装完后会/roots目录下生成:bin、linuxrc、sbin、usr#make#make install3.开始构建文件系统 1)在 rootfs目录下建立其它目录#cdrootfs /#mkdir dev etc home lib mnt opt proc tmp var www 2)向各目录中添加文件系统所需要的目录或文件,没有提到的就不用添加。这里要注意各种文件的权限,建议都改为 777,命令:#chmod 777 文件名dev 目录,创建两个设备文件:#sudo mknod console c 5 1#sudo mknod null c 1 3 名师资料总

11、结-精品资料欢迎下载-名师精心整理-第 8 页,共 14 页 -#sudo mknod ttySAC0 c 204 64#sudo mknod mtdblock0 b 31 0#sudo mknod mtdblock1 b 31 1#sudo mknod mtdblock2 b 31 2#sudo mknod mtdblock3 b 31 3etc 目录,创建各种配置文件并向里面添加内容,没有列出的就不用添加:boa/boa.conf:boa WEB服务器配置文件,暂时为空。group:系统用户组配置文件,内容如下:root:*:0:daemon:*:1:bin:*:2:sys:*:3:adm

12、:*:4:tty:*:5:disk:*:6:lp:*:7:lp mail:*:8:news:*:9:uucp:*:10:proxy:*:13:kmem:*:15:dialout:*:20:fax:*:21:voice:*:22:cdrom:*:24:floppy:*:25:tape:*:26:名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 14 页 -sudo:*:27:audio:*:29:ppp:x:99:500:x:500:plg 501:x:501:fainittab:系统 init进程配置文件,内容如下:#/etc/inittab:sysinit:/etc/init.d

13、/rcS ttySAC0:askfirst:-/bin/sh:ctrlaltdel:/sbin/reboot:shutdown:/bin/umount-a-rmime.types:暂时为空。passwd:系统密码文件,内容如下:root:0:0:root:/:/bin/sh ftp:14:50:FTP User:/var/ftp:bin:*:1:1:bin:/bin:daemon:*:2:2:daemon:/sbin:nobody:*:99:99:Nobody:/:sky:502:502:Linux User,:/home/sky:/bin/shrc.d/init.d/httpd:内容如下:#

14、!/bin/sh base=boa#See how we were called.case$1 in 名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 14 页 -start)/usr/sbin/$base ;stop)pid=/bin/pidof$base if -n$pid;then kill-9$pid fi ;esac exit 0sysconfig/HOSTNAME:主机名称文件,内容如下:MY2440fstab:系统挂载文件系统列表,内容如下:#device mount-point type options dump fsck order none /proc pro

15、c defaults 0 0 none /dev/pts devpts mode=0622 0 0 tmpfs /dev/shm tmpfs defaults 0 0init.d/rcS:系统启动加载项,内容如下:#!/bin/sh PATH=/sbin:/bin:/usr/sbin:/usr/bin runlevel=S prevlevel=N umask 022 名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 14 页 -export PATH runlevel prevlevel#Trap CTRL-C&c only in this shell so we can int

16、errupt subprocesses.#/bin/mount-t proc none/proc/bin/mount-t tmpfs none/tmp/bin/mount-t tmpfs none/var/bin/mkdir-p/var/log/bin/hostname-F/etc/sysconfig/HOSTNAMEmdev.conf:mdev 设备配置文件,暂时为空。net.conf:网络配置文件,暂时为空。profile:用户环境配置文件,内容如下:#Ash profile#vim:syntax=sh#No core files by default#ulimit-S-c 0 /dev/

17、null 2&1 USER=id-unLOGNAME=$USER PS1uh W#PATH=$PATH:/usr/local/bin LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib HOSTNAME=/bin/hostname 名师资料总结-精品资料欢迎下载-名师精心整理-第 12 页,共 14 页 -export USER LOGNAME PS1 PATH LD_LIBRARY_PATHresolv.conf:DNS配置文件,内容如下:nameserver 61.144.56.100home目录:创建一个 sky 目录,与 etc 目录 pas

18、swd文件中的 sky 相对应lib目录:这个里面放的都是库文件,直接从交叉编译器的库文件目录中拷贝过来:#cp-f/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib/*.so*lib/-a4.使用 yaffs制作工具编译构建好的文件系统。先解压 mkyaffs2image.tgz(这个工具是友善提供的,可以在他们的网站上下载),会自动解压到开发主机的/usr/sbin/目录下,在这个目录下将mkyaffs2imag 这个文件拷贝到/usr/local/bin目录下,这样就可以在任何目录下执行mkyaffs2image 命令了

19、。#tar-zxvf mkyaffs2image.tgz 将生成的 mkyaffs2imag 这个文件拷贝到/usr/local/bin目录下回到 rootfs目录所在的目录,运行下面的命令#mkyaffs2image rootfs/rootfs.img5.下载文件系统镜像到开发板上测试,使用情况如下:名师资料总结-精品资料欢迎下载-名师精心整理-第 13 页,共 14 页 -三、结束语现在文件系统成功移植上去了,加上上一篇章的内核移植,至此开发板可以运行起来了。但是各种外设还不能正常使用,后续的篇章将逐步移植各种设备的驱动,使之完善。名师资料总结-精品资料欢迎下载-名师精心整理-第 14 页,共 14 页 -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁