ARM开发板系统移植-----kernel的编译
前面一篇文章http://www.cnblogs.com/linzizhang/p/4817336.html介绍了开发板上系统软件的第一部分--bootloader的编译方法。
背景:把bootloader烧写到开发板的Nand Flash中后,开发板从Nand启动,硬件会自动将bootloader加载到内存中运行,bootloader将板载资源都初始化完成后,会停留在一个命令行界面,接收并执行用户敲入的命令。这时候用户可以通过命令控制开发板,比如查看参数列表:print、读写nand:nand read\nand write 、内存管理:mm、设置参数列表:setenv、网络下载:tftp、启动内核:bootm等等。如果我们把一个编译好的内核通过tftp服务器下载到内存中,就可以通过bootm 命令启动内核。
好吧,啰嗦了、、、下面回到正题-----内核的编译。
编译适合开发板的使用的内核映像其实很简单,无非就是配置然后编译。当然最麻烦的就是配置了,因为配置的过程需要了解板子上都有哪些资源,都是什么型号,需要什么驱动等等,然后根据这些了解到的信息舍取。不过既然我们使用的是别人开发的开发板,那就说明厂家已经进行配置过,只要我们能拿到别人后的配置文件,再通过自己稍加修改,就能省掉很多麻烦。进入顶层目录,操作步骤如下:
1、配置内核:执行命令 make menuconfig ARCH=arm-linux 出现如下配置界面:

前面说了,这里可以根据板子的情况一项一项的选,但是笔者通常都是往下拉,找到一个 "Load an Alternate Configuration File"
的选项,使用厂家提供的配置文件,这样省时省力。配置完成后保存退出,进行下一步。
2、编译内核:执行命令 :make uImage ARCH=arm CROSS_COMPILE=arm-linux- 。这是个挺漫长的过程,而且还可能出现编译错误,比如笔者就遇到一个问题,mkimage not found ,其实就是一个打包工具没找到,导致内核映像生成失败。后来发现这个工具是在uboot/tools目录中的,把工具复制到/bin目录中再执行一次编译命令即可。
这两个步骤完成后用户可以在 arch/arm/boot/中找到uImage.bin文件,这是一个可以被启动的二进制文件,当然这里面还没有文件系统的代码,这将是下一篇文章的内容。
ARM开发板系统移植-----kernel的编译的更多相关文章
- ARM开发板系统移植-----u-boot的编译
本文和另外两篇姊妹篇都是为了说明如何裁剪出适合在mini2440 开发板上运行的Linux系统,以记录自己的学习成果.其中本文先介绍了嵌入式系统的软件组成部分,然后介绍编译出适合在mini2440开发 ...
- ARM开发板系统移植-----rootfs的制作
前面两篇文章分别介绍了mini2440开发板上运行的bootloader和kernel,到这里系统启动后其实是停留在一个“僵死”的状态---无法挂载根文件系统. 这里将介绍如何制作一个根文件系统,并且 ...
- 烧写ARM开发板系统教程----->uboot 、内核以及文件系统
一.sd启动 将u-boot镜像写入SD卡,将SD卡通过读卡器接上电脑(或直接插入笔记本卡槽),通过"cat /proc/partitions"找出SD卡对应的设备,我的设备节点是 ...
- 列出当前ARM开发板系统加载的模块
lsmod 列出当前系统中加载的模块,其中左边第一列是模块名,第二列是该模块大小,第三列则是使用该模块的对象数目
- iTOP-IMX6UL 实战项目:ssh 服务器移植到 arm 开发板
实验环境:迅为提供的Ubuntu12.04.2 以及虚拟机 编译器:arm-2009q3 编译器 开发板系统:QT系统 开发板使用手册中给Windows 系统安装了 ssh 客户端,给 Ubunt ...
- 【记录】尝试用QEMU模拟ARM开发板去加载并运行Uboot,kernel,rootfs【转】
转自:https://www.crifan.com/try_use_qemu_emulate_arm_board_to_load_and_run_uboot_kernel_rootfs/ [背景] 手 ...
- 使用arm开发板搭建无线mesh网络(二)
上篇博文介绍了无线mesh网络和adhoc网络的区别,这篇文章将介绍无线mesh网络的骨干网节点的组建过程.首先需要介绍下骨干网节点的设计方案:每个骨干网节点都是由一块友善之臂的tiny6410 ar ...
- 【分享】iTOP4412开发板-Bluetooth移植文档
[分享]iTOP4412开发板-Bluetooth移植文档 最近须要把Bluetooth移植到iTOP-4412 开发平台.查阅了相关资料,经过一段时间的研究.调试,最终成功的将蓝牙功能移植到了开发板 ...
- ubuntu 交叉编译qt 5.7 程序到 arm 开发板
ubuntu 交叉编译qt 5.7 程序到 arm 开发板平台1 ubuntu 12.042 arm-linux-gcc 4.5.13 QT 5.74 开发板210 armcortex-A8 一 概述 ...
随机推荐
- bayer图像格式
Bayer数据,其一般格式为:奇数扫描行输出 RGRG……偶数扫描行输出 GBGB…… 根据人眼对彩色的响应带宽不高的大面积着色特点,每个像素没有必要同时输出3种颜色.因此,数据采样时, 奇数扫描行的 ...
- Hadoop 配置好hive,第一次在conf能进入,第二次就不行了,怎么办?
问题描述: 在 Hadoop 配置好 hive 数据仓库,在conf目录下通过hive命令进入hive数据仓库,非常顺利. 但关闭终端,第二次按这种方式却显示,无次命令. 怎么办? 解决办法: 在h ...
- 【转】[慢查优化]联表查询注意谁是驱动表 & 你搞不清楚谁join谁更好时请放手让mysql自行判定
转自:http://zhengyun-ustc.iteye.com/blog/1942797 写在前面的话: 不要求每个人一定理解 联表查询(join/left join/inner join等)时的 ...
- Why should i use url.openStream instead of of url.getContent?
I would like to retrieve the content of a url. Similar to pythons: html_content = urllib.urlopen(&qu ...
- PHP的curl实现get,post 和 cookie(实例)
类似于dreamhost这类主机服务商,是显示fopen的使用 的.使用php的curl可以实现支持FTP.FTPS.HTTP HTPPS SCP SFTP TFTP TELNET DICT FILE ...
- SQL Server Reporting Services 自定义数据处理扩展DPE(Data Processing Extension)
最近在做SSRS项目时,遇到这么一个情形:该项目有多个数据库,每个数据库都在不同的服务器,但每个数据库所拥有的数据库对象(table/view/SPs/functions)都是一模一样的,后来结合网络 ...
- MKDOCS在线文档编辑器
http://www.mkdocs.org/ api接口文档编写 ,效果非常不错
- 6步骤实现CentOS系统环境精简优化
6步骤实现CentOS系统环境精简优化 发布时间:2014-11-03 14:59:27 编辑:AHLinux.com 第一步.删除不必要的自带软件包yum remove Deployment_G ...
- MobilePhone正则表达式
电话号码正则表达式(支持手机号码,3-4位区号,7-8位直播号码,1-4位分机号) ((\d{11})|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3} ...
- Can't connect to MySQL server on localhost (10061)解决方法
出现这种错误的原因是由于MySQL的服务被关闭的原因,重新启动一下服务就可以了,启动服务的操作如下: 右键[计算机]-[管理]