linux-2.6.32.2移植过程

参考Mini2440 Linux移植开发实战指南.pdf  总结

1.cp linux-2.6.32.2 /opt/FriendlyARM/mini2440

cd /opt/FriendlyARM/mini2440

tar xzvf linux-2.6.32.2.tar.gz

vim /linux-2.6.32.2 Makefile

  export KBUILD_BUILDHOST := $(SUBARCH)

  ARCH ?= $(SUBARCH)
  CROSS_COMPILE ?=
  改为
  export KBUILD_BUILDHOST := $(SUBARCH)
  ARCH ?= arm
  CROSS_COMPILE ?= arm-linux-

2.mini2440机器码为1999 

 linux-2.6.32.2/arch/arm/mach-s3c2440 目录下有个mach-mini2440.c 把它直接删除。

将linux-2.6.32.2/arch/arm/mach-s3c2440/目录下的mach-smdk2440.c 复制一份。命名为
   mach-mini2440.c ,找到MACHINE_START(S3C2440, "SMDK2440") , 修改为
   MACHINE_START(MINI2440, "FriendlyARM Mini2440 development board")。

3.修改时钟源,初始化函数以及平台体系

vim mach-mini2440.c

160行:16924400改为12000000

在下几行,把smdk_machine_init();注释掉

用vim批处理命令,把文件中所有smdk2440改为mini2440

:%s/smdk2440/mini2440/g

4.编译测试:

#make mini2440_defconfig

#make zImage

5.前面执行了make mini2440_defconfig加载了缺省配置

这里可以直接执行:

#make menuconfig

里面可以看到Linux内核对mini2440开发板的支持选项,了解配置文件是怎么跟实际代码文件      联系起来的,可以慢慢熟悉下。

6.

 

时间: 2024-10-09 10:35:00

linux-2.6.32.2移植过程的相关文章

Linux内核,文件系统移植过程中出现的一些问题与解决办法

1.bootm地址和load address一样 此种情况下,bootm不会对uImage header后的zImage进行memory move的动作,而会直接go到entry point开始执行.因此此时的entry point必须设置为load address + 0x40.如果kernel boot过程没有到uncompressing the kernel,就可能是这里设置不对. boom address == load address == entry point - 0x40 2.

【转】32位移植到64位 注意事项 ----不错

原文网址:http://blog.csdn.net/w174504744/article/details/8678045 32bit-64bit porting work注意事项 64位服务器逐步普及,各条产品线对64位升级的需求也不断加大.在本文中,主要讨论向64位平台移植现有32位代码时,应注意的一些细小问题. 什么样的程序需要升级到64位? 理论上说,64位的操作系统,对32位的程序具有良好的兼容性,即使全部换成64位平台,依然可以良好的运行32位的程序.因此,许多目前在32位平台上运行良

linux 2.6 内核的移植

内核移植过程   下载 linux 内核 从 http://www.kernel.org/pub/linux/kernel/v2.6/linux­2.6.14.1.tar.bz2 下载 linux­2.6.14.1 内核至 home/arm/dev_home/kernel. [[email protected] ~]#su arm [[email protected] ~]#cd $KERNEL [[email protected] kernel]#tar ­xzvf linux­2.6.14.

驱动移植过程中DMA内存相关接口替换

1. 相关概念介绍及移植简介 1.1 物理地址与总线地址         1)物理地址是与CPU相关的.在CPU的地址信号线上产生的就是物理地址,在程序指令中的的虚拟地址经过段映射和页面映射后,就生成了物理地址,这个物理地址被放到CPU的地址线上.         2)总线地址,顾名思义,是与总线相关的,外设使用的就是总线地址.         在x86平台下,外设的I/O地址是独立的,即有专门的指令访问外设I/O,I/O地址就是所谓的"总线地址".而"物理地址"就

ORB_SLAM2在Android上的移植过程

作者:Frank 转载请注明出处 一直没时间写博客,最近抽时间写了些关于在ORB_SLAM2在Android上的移植过程,也算是点经验吧. 写完后一个手贱点了个链接,瞬间1/3工作量没了,深夜弄完也是醉了... 正文开始 这篇博客讲述如何在Android平台上移植ORB_SLAM2,讲述过程包括基本的Android环境的搭建和NDK环境的配置,Android下移植的基本概念,ORB的具体移植步骤等. Android平台搭建和NDK环境配置 系统:windows7 32bit IDE:Eclips

<转>32位移植到64位 注意事项

32bit-64bit porting work注意事项 64位服务器逐步普及,各条产品线对64位升级的需求也不断加大.在本文中,主要讨论向64位平台移植现有32位代码时,应注意的一些细小问题. 什么样的程序需要升级到64位? 理论上说,64位的操作系统,对32位的程序具有良好的兼容性,即使全部换成64位平台,依然可以良好的运行32位的程序.因此,许多目前在32位平台上运行良好的程序也许不必移植,有选择,有甄别的进行模块的升级,对我们工作的展开,是有帮助的. 什么样的程序需要升级到64位呢? 除

linux 3.4.103 内核移植到 S3C6410 开发板 移植失败 (问题总结,来日再战!)

linux 3.4.103 内核移植到 S3C6410 开发板 这个星期几乎就搭在这里面了,一开始感觉很不值得,移植这种浪费时间的事情,想立马搞定,然后安安静静看书 & coding. 坑爹的事情就是一个多星期的时间搭进去了,还是没成功.我把我的移植失败的经验留下来做为笔记,为下次做准备,也让和我一起做移植的道友少走弯路.大家一起共同分享经验,营造更好的开发环境. 查了很多资料,在此谢谢那些bloger, thanks for your spirit of sharing. 一. 从官网获得干净

linux 3.4.103 内核移植到 S3C6410 开发板 移植失败 (问题总结,日本再战!)

linux 3.4.103 内核移植到 S3C6410 开发板 这个星期差点儿就搭在这里面了,一開始感觉非常不值得,移植这样的浪费时间的事情.想立刻搞定,然后安安静静看书 & coding. 坑爹的事情就是一个多星期的时间搭进去了,还是没成功. 我把我的移植失败的经验留下来做为笔记,为下次做准备.也让和我一起做移植的道友少走弯路.大家一起共同分享经验,营造更好的开发环境. 查了非常多资料,在此谢谢那些bloger, thanks for your spirit of sharing. 一. 从官

基于Linux 2.6.32的进程分析

前言 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统. 本文的分析全部基于Linux Kernel 2.6.32,源代码的链接地址:https://elixir.bootlin.com/linux/v2.6.32/source/fs 具体内容分为: 进程的概念 进程的建立 进程的转换 进程的调度 对于进程的理解 一.进程的概念 1.1什么是进程 大众对进程的理解基本上基于打开任务管理器所看到的正在执行的软件等