Linux移植的一般过程】的更多相关文章

前一阵子在公司移植Linux2.6到一块ARM11的开发板上,下面粗略讲讲移植Linux的一般过程. 一开始的UBOOT的移植不多说了.UBOOT最后有两种方式进入Linux,一种是使用uImage,可以在引导时附加命令行参数,但操作起来比较麻烦.另一种较简单的是使用tftp将Linux内核加载到0x80008000(默认起始地址)的地方,然后使用go命令直接跳转.我使用的是第二种方式,其缺点是调整命令行参数的时候需要修改.config文件,然后强制重新编译setup.c(可以通过删除setup…
在Linux移植之内核启动过程引导阶段分析中从arch/arm/kernel/head.S开始分析,最后分析到课start_kernel这个C函数,下面就简单分析下这个函数,因为涉及到Linux的内容较多,这里只是简单介绍下内核启动流程.先看一下内核启动的流程框图,截图来自<嵌入式Linux应用开发完全手册>.内核引导阶段已经分析过,接下来分析一下内核启动的第二阶段. 1.start_kernel函数全局概览 2.start_kernel函数调用层次 1.start_kernel函数全局概览,…
在Linux移植之make uImage编译过程分析中已经提到了uImage是一个压缩的包并且内含压缩程序,可以进行自解压.自解压完成之后内核代码从物理地址为0x30008000处开始运行.下面分析在进入C之前内核做的一些工作,以下是内核启动过程中打印出来的信息,其中Uncompressing Linux就是在自解压代码.make uImage编译的最后也给出了链接脚本arch/arm/kernel/vmlinux.lds,以及链接的顺序arch/arm/kernel/head.o 是第一个.…
linux移植问题汇总(一) 在此记录移植linux过程中出现的问题以及解决方法. 项目GitHub地址 linux3.0.80:https://github.com/numbqq/linux-3.0.80_for_tiny210linux3.3.5:https://github.com/numbqq/linux-3.3.5_for_tiny210uboot2014.04:https://github.com/numbqq/uboot201404_for_tiny210 1.移植linux ke…
在Linux移植之内核启动过程start_kernel函数简析中已经指出了start_kernel函数的调用层次,这篇主要是对具体的tag参数列表进行解析. 1.内存参数ATAG_MEM参数解析 2.命令行参数ATAG_CMDLINE解析,以传入的命令参数bootargs=noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0为列: 1).noinitrd参数解析过程,当你没有使用ramdisk启动系统的时候,你需要使用noinitr…
在Linux移植之make uImage编译过程分析中罗列出了最后链接生成vmlinux的过程.可以看到在每个子目录下都有一个built-in.o文件.对于此产生了疑问built-in.o文件是根据什么产生的. arm-linux-ld -EL -p --no-undefined -X -o vmlinux -T arch/arm/kernel/vmlinux.lds arch/arm/kernel/head.o arch/arm/kernel/init_task.o init/built-in…
在Linux移植之make uImage编译过程分析中分析了uImage文件产生的过程,在uImage产生的过程中,顺带还产生了其它的一些中间文件.这里主要介绍几个比较关键的文件 1.linux-2.6.22.6\include\config\auto.conf.inux-2.6.22.6\include\linux\autoconf.h文件的生成过程 2.include\asm-arm\Mach-types.h文件的生成过程 1.inux-2.6.22.6\include\config\aut…
编译出uboot可以运行的linux内核代码的命令是make uImage,下面详细介绍下生成linux-2.6.22.6/arch/arm/boot/uImage的过程: 1.vmlinux.Image.uImage.zImage的区别 2.vmlinux生成过程简介 3.uImage生成过程简介 1.vmlinux.Image.uImage.zImage的区别,在执行make uImage之后会在%生成如下几个文件Image.uImage.zImage. vmlinux是可引导的.压缩的内核…
在Linux移植之移植步骤中已经将Linux移植的过程罗列出来了,现在分析一下Linux的配置过程,将分析以下两个配置过程: 1.make s3c2410_defconfig分析 2.make menuconfig分析 1.make s3c2410_defconfig分析 首先从顶层Makefile开始分析,找到类似smdk2410_defconfig的目标.找到了%config目标.表示后缀为config的目标遵循这个规则,config %config前面的config是一个Kconfig关键…
转自:http://www.latelee.org/embedded-linux/porting-linux-tslib.html 前段时间让Tslib搞晕头了,原来一切都是版本惹的祸.本文只是一个随笔,随笔者,随意用笔写下心得而已,因此不必较真.正如我所欣赏的“乘兴而来,兴尽而返”一样.——估计当年王子猷是赏完了夜景,兴致也完了,就回家了. 闲话少提. 搞tslib时,出现了许多错误,像 No raw modules loaded.ts_config: Success selected dev…