系统组成:
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内核和根目录制作的更多相关文章

  1. 制作嵌入式linux内核

    拿到一个嵌入式linux内核代码,首先make distclean 接下来,如果在x86平台,就直接make menuconfig,如果是在ARM平台,就直接make menuconfig ARCH= ...

  2. 嵌入式Linux内核+根文件系统构建工具-Buildroot 快速入手指导【转】

    本文转载自:https://my.oschina.net/freeblues/blog/596448 嵌入式Linux内核+根文件系统构建工具-Buildroot 快速入手指导 buildroot 是 ...

  3. 嵌入式Linux内核制作【转】

    本文转载自:http://blog.csdn.net/coding__madman/article/details/51291316 1. Linux体系结构 从整体上来分,linux可以分为User ...

  4. 嵌入式linux内核制作、根文件系统制作

    嵌入式系统构成: 主要由bootloader.kernel.以及根文件系统三部分组成. 内核制作步骤: 制作嵌入式平台使用的linux内核制作方法与pc平台上的linux内核基本一致 1.清除原有配置 ...

  5. [国嵌攻略][100][嵌入式Linux内核制作]

    Linux内核制作步骤 1.清除原有配置 make distclean 2.配置内核 选择一个已有的配置文件简化配置 make menuconfig ARCH=arm 3.编译内核 ARCH指明处理器 ...

  6. 嵌入式linux内核是什么?

    linux内核是一种可以被内核动态加载(insmode)和卸载(rmmod)的可执行二进制代码 最简单的内核 #include <linux/module.h> #include < ...

  7. 嵌入式Linux内核tasklet机制(附实测代码)

    Linux 中断编程分为中断顶半部,中断底半部 中断顶半部: 做紧急,耗时短的事情,同时还启动中断底半部. 中断底半部: 做耗时的事件,这个事件在执行过程可以被中断. 中断底半部实现方法: taskl ...

  8. 【内核】嵌入式linux内核的五个子系统

    Perface Linux内核主要由进程调度(SCHED).内存管理(MM).虚拟文件系统(VFS).网络接口(NET)和进程间通信(IPC)5个子系统组成,如图1所示. 图1 Linux内核的组成部 ...

  9. 【总结】嵌入式linux内核中Makefile、Kconfig、.config的关系及增加开机Hello World【转】

    本文转载自:http://blog.csdn.net/fengyuwuzu0519/article/details/73772109 为了弄清内核的组织结构,我们先来实现下面这个简单的例子. 一.增加 ...

随机推荐

  1. sql函数应用例子

    select p.province, data.existUserCount, data.addUserCount, data.cancelUserCount, data.threedayCancel ...

  2. IDE按住ctrl 打开单元 无效时 的方法

    一般打开单元无效时 是由于程序有错误,若程序没有错误 可以重新build一下 再试. 若实在不行 就右键---open at cursor

  3. 这是我在word 2010上发布的第一篇文章

    1.设置word 2010,添加cnblogs帐户 配置参考链接 其中URL地址为: http://rpc.cnblogs.com/metaweblog/fariver,在cnblogs配置的最下方可 ...

  4. 深入浅出Mysql索引

    索引的出现其实就是为了提高数据查询的效率,就像书的目录一样. 索引模型有三种常见.也比较简单的数据结构分别是哈希表.有序数组和搜索树. 哈希表 哈希表是一种以键 - 值(key-value)存储数据的 ...

  5. QT构造函数中*parent

    程序写的多了,你会发现几乎所有的Qt类的构造函数都会有一个parent参数.这个参数通常是QObject* 或者是 QWidget* 类型的(定义新的类是通常首先初始化为0,在类的实现函数中赋值).很 ...

  6. 微软企业库5.0 学习之路——第十步、使用Unity解耦你的系统—PART2——了解Unity的使用方法(3)

    今天继续介绍Unity,在上一篇的文章中,我介绍了使用UnityContainer来注册对象之间的关系.注册已存在的对象之间的关系,同时着重介绍 了Unity内置的各种生命周期管理器的使用方法,今天则 ...

  7. Linux Shell 文本处理工具

    Linux下使用Shell处理文本时最常用的工具: find.grep.xargs.sort.uniq.tr.cut.paste.wc.sed.awk: 提供的例子和参数都是最常用和最为实用的: 我对 ...

  8. EOJ 3261 分词

    字典树,$dp$. 记录$dp[i]$为以$i$为结尾获得的最大价值.枚举结尾一段是哪个单词,更新最大值.可以将字典中单词倒着建一棵字典树. 这题数据有点不严谨. 下面这组数据答案应该是负的. 3 a ...

  9. Python之路【第六篇】:模块与包

    目录 一 模块 3.1 import 3.2 from ... import... 3.3 把模块当做脚本执行 3.4 模块搜索路径 3.5 编译python文件 3.6  标准模块 3.7  dir ...

  10. Am335x U-boot LCD简易驱动

    参考此文档说明,自行添加相关代码: https://pan.baidu.com/s/1i5gLE89 相关代码: https://pan.baidu.com/s/1qXL8Bne 在文档说明第四步1中 ...