当前位置:  技术问答>linux和unix

有关内核移植步骤,概念问题

    来源: 互联网  发布时间:2015-11-21

    本文导语:  看了一部分bootloader和内核移植的介绍。 其中有一段是这么说的: 使用linux 2.4.17采用ARM linux的补丁是patch-2.4.17-rmk5、完成ARM linux内核到EP7312体系结构的移植,需要修改所有和体系结构相关的代码。其中主要的部分是...

看了一部分bootloader和内核移植的介绍。
其中有一段是这么说的:
使用linux 2.4.17采用ARM linux的补丁是patch-2.4.17-rmk5、完成ARM linux内核到EP7312体系结构的移植,需要修改所有和体系结构相关的代码。其中主要的部分是内核入口部分,处理器和体系结构初始化部分,IO端口映射部分和中断初始化部分。除此之外,还有EP7312相关设备的驱动程序,如CS8900A以网接口的驱动等

问题:
   内核入口部分,处理器和体系结构初始化部分,IO端口映射部分和中断初始化部分。 这些不都是bootloader要做的事吗?而bootloader都能下载到源码,不就只需要移驱动,还有应用软件。可能也只需要改一下驱动程序及应用软件的某些API,用新的内核提供的API或删去一些功能。
   如果是这样的话,内核移植的工作量还是不太大,是么?

|
ARM上的BOOT初始化过程:
前提:假定用的是某一款基于ARM9的开发板,并采用的是NOR FALSH存储器,在此存储器上已经写入了一个BOOT程序(假定是U-boot),且假定在硬件上通过跳线设定从一个地址为0x10000000处开始运行,并且此地址个接了一块NOR FLASH芯片,上面就有一个BOOT程序
1.由于BOOT程序存储在了NOR FLASH中,所以,当板子一上电,BOOT的第一条代码开始运行,这一部分初始化代码的工作主要是根据具体开发板来决定的,所以移植时有一定的代码改动量,不过通常都会做几方面的工作:比如对内存进行分区,对内存的速度进行设定,设定CPU的工作频率,设定一些外设的初始状态,构造一个中断向量表,具体内容可以参照某一款开发板的芯片说明资料
2.在上一步中已做完芯片初始化工作,接下来就主要是为进入C语言编写的代码作准备,首先设置各种状态下的栈指针,拷贝数据段与BSS段到内存中,建立虚拟地址到物理地址的页表,对各种需要用到的外设驱动进行初始化,在存储器上建立一个简单的文件系统,接着就进入到一个主循环中,等待用户输入命令
3.如果在指定的时间内用户没有键入任何字符,则在相关配置中找出默认的LINUX内核文件与参数,开始启动内核,进入到LINUX内核的流程中,CPU的控制权由内核接管

|
bootloader负责把内核加载入内存,然后将控制权转移到内核
具体是
1:有可能需要先从指定设备中在找到自己的config信息
2:确定启动设备
3:如果有initrd,则先读取,解压,执行
4:从启动设备中读取,解压内核(有可能需要识别启动设备中的fs)
5:把内核参数传递给内核,然后转移到内核

|
当然不是bootloader的事情,进到系统里,仍然需要对DMA,中断,内存映射等进行初始化。bootloader说白了,可以做的很复杂,也可以做的很简单,只是引导系统。

    
 
 

您可能感兴趣的文章:

  • 有关裁减内核及shell命令的问题
  • 怎么查找有内核函数及其有关信息???
  • 有关linux内核的学习
  • 有关 mutex和内核抢占的问题
  • 请问一下有关LINUX内核的网卡驱动一个弱弱的问题
  • 有关内核编译的菜鸟问题~~
  • 有关内核编译问题的提问
  • 有关内核的扁平设备树,晕了!!
  • 有关内核的讨论
  • 怎样让linux在启动时,启动存在ip冲突的网卡?与内核选项有关吗?
  • 有关linux编译内核的问题
  • linux内核怎么定义汇编全局变量及在c文件中使用这个变量?有关0。11下的字符回显
  • 用source insigt 看Linux0.11内核完全注释中的内核源码时,发现了一个有关c语言语法的奇怪现象。大虾请进,帮小弟解解惑。有重谢!
  • 根文件系统和linux内核版本有关系吗?
  • 编译内核后,有关menu.lst文件的配置问题!
  • 请教内核代码,有关stdarg.h,有源码参考!
  • 请问大虾有关在windows上移植GCC的问题。
  • 有关AIX移植到SUSE上的程序问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • ​有关Docker的八个令人难以置信的事实
  • 有关内码转换(跟HttpServletRequest有关)
  • 求有关png图像处理的libpng库的有关中文资料
  • 大家推荐一下有关LINUX7有关的网络编程的书。最好是比较全面的!比较经典的。
  • 求教有关smartupload的问题,有关就给分!!
  • 有关KDevelop-3.0.4-0.1.i386.rpm的有关软件包
  • 有关在sco unix5.0.4下有关网卡设置的问题(非常急,高分相送)
  • 有关snmp的一个很菜,但是困扰了我很久的问题,有关工作原理的,望大家赐教
  • 有关KDevelop编程的资料
  • 有关集群与数据同步
  • 请教有关英文简历方面的词句!
  • 网络技术 iis7站长之家
  • 请各位大哥告知JAVA中消息机制的有关资料,拜托!
  • 有关cocoon的问题??
  • 有关jbuilder
  • 我想看看有关Linux和Unix的源码,有什么好的建议
  • 有关J2ME的帮助文档!
  • 100分求助 能不能提供一些有关图像分割的算法和实现代码!谢谢
  • 在哪里可以弄到有关tomcat配置方面的资料?
  • Helper! 有关Jbuilder使用问题???
  • 有关swing的问题,请高手回答


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3