linux系统制作简单流程
制作嵌入式平台使用的Linux内 核, 方法和制作PC平台 的Linux内 核基本一致, 下面使用 对比的
方式介绍如何制作用 于6410开发板的内 核。
1、 清除原有配置与中间文件
x86: make distclean
arm: make distclean
.config配置文件也需要配置。。
2、 配置内 核 可以在Makefile文件中修改相关的变量ARCH ,CROSS_COMPILE
x86: make menuconfig
arm: make menuconfig ARCH=arm
CROSS_COMPILE=arm-linux
3、 编译内 核
x86: make bzImage
arm: make uImage
根文件系统制作:
嵌入式Linux系统由Linux内 核与根文件系统两部分构
成, 两者缺一不可。
如何制作一个根文件系统?
1、 创建根文件系统的目录
mkdir rootfs
cd rootfs
mkdir bin dev etc lib proc sbin sys usr mnt tmp var
mkdir usr/bin usr/lib usr/sbin lib/modules
2、 创建设备文件
cd dev/
mknod -m 666 console c 5 1
mknod -m 666 null c 1 3
3、 安装/etc
tar etc.tar.gz –C /xxx/rootfs
4、 编译内 核模块
进入Linux内 核目录
make modules ARCH=arm
CROSS_COMPILE=arm-linux-
5、 安装内 核模块
make modules_install ARCH=arm
INSTALL_MOD_PATH=/xxx/rootfs
6、 配置busybox
进入busybox目录执行
make menuconfig
a.进入 Busybox Settings
build Options->
选中 “Build busybox as a static binary”, 静态链接
Cross Compiler prefix (arm-linux-)
Installation Options->
选中 “Don‘t use /usr”, 选中该项可以避免busybox 被安装到宿主系统的
/usr目 录下, 破坏宿主系统
Busybox Installation Prefix (/xxx/rootfs)
该选项表明编译后的busybox的安装位置
7、 编译、 安装busybox
make ARCH=arm CROSS_COMPILE=arm-linux
make install
linux系统制作简单流程的更多相关文章
- Linux系统的启动流程
Linux系统的启动流程: 1.通电(通常按下电源键,开始通电) 2.加载BIOS (通常看到显示器提示按F2进入主板) 3.读取MBR (MBR硬盘的入口地址,用来装载引导) 4.进入引导 (通常有 ...
- linux系统的启动流程梳理
1. 不同版本的linux系统的启动流程 1.1 centos6.x系统的启动流程 其详细启动步骤如下: 1)开机,BIOS自检,检查各个硬件是否正常 2)读取硬盘MBR信息,引导系统启动 3)加载g ...
- 2021年3月-第01阶段-Linux基础-Linux系统的启动流程
Linux系统的启动流程 理解Linux操作系统启动流程,能有助于后期在企业中更好的维护Linux服务器,能快速定位系统问题,进而解决问题. 上图为Linux操作系统启动流程 1.加载BIOS 计算机 ...
- Linux系统的启动流程以及做个小小的Linux
内核的作用 进程管理:进程间切换 内存管理:内存空间分割为内核空间和用户空间 IO管理:对底层硬件的使用必须由内来实现,不能由用户空间进程来实现 文件系统管理 ...
- [转] 浅谈Linux系统的启动流程
原文:http://blog.csdn.net/justdb/article/details/9621271 版权声明:本文为博主原创文章. Linux系统的启动时通过读取不同的配置文件,执行相应的S ...
- 浅谈Linux系统的启动流程
Linux系统的启动时通过读取不同的配置文件,执行相应的Shell脚本完成的.当然本文只是简单的从文件的角度分析,更深层次的本文没涉及. 主要读取了以下文件: /boot/grub/grub.con ...
- Linux系统开机启动流程
(来源学习Linux时,自己做的笔记) Linux系统有7个运行级别(runlevel)运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动运行级别1:单用户工作状态,root权限, ...
- Linux系统编程:简单文件IO操作
使用Linux的文件API,经常看见一个东西,叫做文件描述符. 什么是文件描述符? (1)文件描述符其实实质是一个数字,这个数字在一个进程中表示一个特定的含义,当我们open打开一个文件时,操作系统在 ...
- 关于kali linux系统的简单工具
Linux系统中关于几个重要目录的原英文解释: /etc/: Contains configuration files of the installed tools /opt/: Contains M ...
随机推荐
- iOS stretchableImageWithLeftCapWidth 图片放大不变形
转载自:http://www.cnblogs.com/bandy/archive/2012/04/25/2469369.html - (UIImage *)stretchableImageWithLe ...
- 如何调试libc++abi.dylib handler threw exception错误
From:http://blog.csdn.net/naruto_ku/article/details/8779203 在进行iOS开发时,偶尔会碰到libc++abi.dylib handler t ...
- android学习日记05--Activity间的跳转Intent实现
Activity间的跳转 Android中的Activity就是Android应用与用户的接口,所以了解Activity间的跳转还是必要的.在 Android 中,不同的 Activity 实例可能运 ...
- C 循环链表
循环链表的定义:将单链表中最后一个数据元素的next指针指向第一个元素 在循环链表中可以定义一个“当前”指针,这个指针通常称为游标,可以通过这个游标来遍历链表中的所有元素. 1) 普通插入元素(和单链 ...
- wcf自身作为宿主的一个小案例
第一步:创建整个解决方案 service.interface:用于定义服务的契约(所有的类的接口)引用了wcf的核心程序集system.ServiceModel.dll service:用于定义服务类 ...
- 【转】频点CTO张成:基于Cocos2d的MMORPG开发经验
http://www.9ria.com/plus/view.php?aid=27698 作者: zhiyuanzhe3 发表时间: 2013-06-29 17:46 6月29日,由9Tech社区.51 ...
- Regular Expressions --正则表达式官方教程
http://docs.oracle.com/javase/tutorial/essential/regex/index.html This lesson explains how to use th ...
- [COCOS2DX]交叉编译实践+速度优化(vs2012修改win32代码+修改makefile+编译安卓项目包+部署安卓项目包到Eclipse+运行apk)
通过前面的部署过程可以知道cocos2dx的开发过程如下: 1.VS2012完成修改 2.因为指定了CPP文件位置,ndk可以通过jni方式完成C++文件的编译,运行以下命令完成proj.androi ...
- IIS 之 HTTP错误信息提示
一.HTTP返回码 [1]1xx - 信息提示 这些状态代码表示临时的响应.客户端在收到常规响应之前,应准备接收一个或多个 1xx 响应. a. 100 - 继续. b. 101 - 切换协议. [2 ...
- javascript笔记06:类的创建
1.创建一个javascript类---javascript使用函数形式构建类 <script type="text/javascript"> //定义一个类 ...