嵌入式linux内核和根目录制作
系统组成:
Bootloader, Boot parameters, Kernel, Root filesystem
嵌入式linux系统有linux内核与根文件系统两部分构成,两者缺一不可。
内核制作:
1:清除原有配置与中间文件
X86:make distclean
arm:make distclean
2 配置内核(copy其他类似的配置文件为.config)
x86:make menuconfig
arm:make menuconfig ARCH=arm /* nfs与ramdisk启动的区别 */
3 编译内核
x86:make bzImage
arm:make uImage ARCH=arm CROSS_COMPILE=arm-linux-
/***********************************************************************/
/***********************************************************************/
根文件系统制作:
根文件系统是linux启动时使用的第一个文件系统。没有根文件系统,linux将无法
正常启动。
根文件系统由一系列目录组成,目录中包含了应用程序,C库,以及相关的配置文件
。
1 创建根文件系统目录
mkdir rootfs
cd rootfs
mkdir bin 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 /* /etc下的文件一般不会发生改变 */
4 编译内核模块
进入linux内核目录(linux-2.6.29)
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 Setting --
build Options --
* 选中"Build busybox as a static binary",静态链接
* Cross Compiler prefix(arm-linux-)
Installation Options --
* 选中"Don't usr/usr", 选中该项可以避免busybox被安装到宿主系统的/usr目录
下,破坏宿主系统
*Busybox Installation Prefix(/xxx/rootfs)
该选项表明编译后的busybox的安装位置
7 编译,安装busybox
*make ARCH=arm CROSS_COMPILE=arm-linux-
*make install
nfs启动:CONFIG_CMDLINE="root=/dev/nfs rw
nfsroot=192.168.1.103:/nfsroot/rootfs ip=192.168.1.230 console=ttySAC0
mem=64M"
ramdisk启动:CONFIG_CMDLINE="root=/dev/ram rw console=ttySAC0 mem=64M"
嵌入式linux内核和根目录制作的更多相关文章
- 制作嵌入式linux内核
拿到一个嵌入式linux内核代码,首先make distclean 接下来,如果在x86平台,就直接make menuconfig,如果是在ARM平台,就直接make menuconfig ARCH= ...
- 嵌入式Linux内核+根文件系统构建工具-Buildroot 快速入手指导【转】
本文转载自:https://my.oschina.net/freeblues/blog/596448 嵌入式Linux内核+根文件系统构建工具-Buildroot 快速入手指导 buildroot 是 ...
- 嵌入式Linux内核制作【转】
本文转载自:http://blog.csdn.net/coding__madman/article/details/51291316 1. Linux体系结构 从整体上来分,linux可以分为User ...
- 嵌入式linux内核制作、根文件系统制作
嵌入式系统构成: 主要由bootloader.kernel.以及根文件系统三部分组成. 内核制作步骤: 制作嵌入式平台使用的linux内核制作方法与pc平台上的linux内核基本一致 1.清除原有配置 ...
- [国嵌攻略][100][嵌入式Linux内核制作]
Linux内核制作步骤 1.清除原有配置 make distclean 2.配置内核 选择一个已有的配置文件简化配置 make menuconfig ARCH=arm 3.编译内核 ARCH指明处理器 ...
- 嵌入式linux内核是什么?
linux内核是一种可以被内核动态加载(insmode)和卸载(rmmod)的可执行二进制代码 最简单的内核 #include <linux/module.h> #include < ...
- 嵌入式Linux内核tasklet机制(附实测代码)
Linux 中断编程分为中断顶半部,中断底半部 中断顶半部: 做紧急,耗时短的事情,同时还启动中断底半部. 中断底半部: 做耗时的事件,这个事件在执行过程可以被中断. 中断底半部实现方法: taskl ...
- 【内核】嵌入式linux内核的五个子系统
Perface Linux内核主要由进程调度(SCHED).内存管理(MM).虚拟文件系统(VFS).网络接口(NET)和进程间通信(IPC)5个子系统组成,如图1所示. 图1 Linux内核的组成部 ...
- 【总结】嵌入式linux内核中Makefile、Kconfig、.config的关系及增加开机Hello World【转】
本文转载自:http://blog.csdn.net/fengyuwuzu0519/article/details/73772109 为了弄清内核的组织结构,我们先来实现下面这个简单的例子. 一.增加 ...
随机推荐
- Gradient-Based Learning Applied to Document Recognition 部分阅读
卷积网络 卷积网络用三种结构来确保移位.尺度和旋转不变:局部感知野.权值共享和时间或空间降采样.典型的leNet-5如下图所示: C1中每个特征图的每个单元和输入的25个点相连,这个5* ...
- csu 1803(余数分类)
1803: 2016 Time Limit: 5 Sec Memory Limit: 128 MBSubmit: 565 Solved: 364[Submit][Status][Web Board ...
- Validate Binary Search Tree——体现二查搜索树思想的一道题
Given a binary tree, determine if it is a valid binary search tree (BST). Assume a BST is defined as ...
- Oracle与MySQL连接配置
MySQL: Driver: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/GBDSPT(数据库名称) Oracle: Driver:o ...
- Characters_of_the_Three_Kingdoms - 三国人物结构化数据
Characters_of_the_Three_Kingdoms - 三国人物结构化数据 三国人物结构化数据 为什么会有这个项目 需求1:摆脱网上那些长篇累牍的文章: 需求2:只是想简单查看下人物姓甚 ...
- centos7 开放端口号
firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --reload
- [实战]MVC5+EF6+MySql企业网盘实战(16)——逻辑重构3
写在前面 本篇文章将新建文件夹的逻辑也进行一下修改. 系列文章 [EF]vs15+ef6+mysql code first方式 [实战]MVC5+EF6+MySql企业网盘实战(1) [实战]MVC5 ...
- css绝对居中img
html: <div id="imgs"> <img src="http://pic.616pic.com/ys_b_img/00/03/60/Kt6Q ...
- 解决CentOS7关闭/开启防火墙出现Unit iptables.service failed to load: No such file or directory.
CentOS7中执行 service iptables start/stop 会报错Failed to start iptables.service: Unit iptables.service fa ...
- 《大话设计模式》--UML图
类图分三层: 第一层:类的名称,如果是抽象类,就用斜体显示 第二层:类的特性,通常是字段和属性 第三层:类的操作,通常是方法或行为 接口图:第一行是接口名称,第二行是接口方法 继承:用空心三角形+实线 ...