制作嵌入式平台使用的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系统制作简单流程的更多相关文章

  1. Linux系统的启动流程

    Linux系统的启动流程: 1.通电(通常按下电源键,开始通电) 2.加载BIOS (通常看到显示器提示按F2进入主板) 3.读取MBR (MBR硬盘的入口地址,用来装载引导) 4.进入引导 (通常有 ...

  2. linux系统的启动流程梳理

    1. 不同版本的linux系统的启动流程 1.1 centos6.x系统的启动流程 其详细启动步骤如下: 1)开机,BIOS自检,检查各个硬件是否正常 2)读取硬盘MBR信息,引导系统启动 3)加载g ...

  3. 2021年3月-第01阶段-Linux基础-Linux系统的启动流程

    Linux系统的启动流程 理解Linux操作系统启动流程,能有助于后期在企业中更好的维护Linux服务器,能快速定位系统问题,进而解决问题. 上图为Linux操作系统启动流程 1.加载BIOS 计算机 ...

  4. Linux系统的启动流程以及做个小小的Linux

    内核的作用     进程管理:进程间切换     内存管理:内存空间分割为内核空间和用户空间     IO管理:对底层硬件的使用必须由内来实现,不能由用户空间进程来实现     文件系统管理     ...

  5. [转] 浅谈Linux系统的启动流程

    原文:http://blog.csdn.net/justdb/article/details/9621271 版权声明:本文为博主原创文章. Linux系统的启动时通过读取不同的配置文件,执行相应的S ...

  6. 浅谈Linux系统的启动流程

    Linux系统的启动时通过读取不同的配置文件,执行相应的Shell脚本完成的.当然本文只是简单的从文件的角度分析,更深层次的本文没涉及. 主要读取了以下文件:  /boot/grub/grub.con ...

  7. Linux系统开机启动流程

    (来源学习Linux时,自己做的笔记) Linux系统有7个运行级别(runlevel)运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动运行级别1:单用户工作状态,root权限, ...

  8. Linux系统编程:简单文件IO操作

    使用Linux的文件API,经常看见一个东西,叫做文件描述符. 什么是文件描述符? (1)文件描述符其实实质是一个数字,这个数字在一个进程中表示一个特定的含义,当我们open打开一个文件时,操作系统在 ...

  9. 关于kali linux系统的简单工具

    Linux系统中关于几个重要目录的原英文解释: /etc/: Contains configuration files of the installed tools /opt/: Contains M ...

随机推荐

  1. Android 调用系统的分享[完美实现同一时候分享图片和文字]

    android 系统的分享功能 private void share(String content, Uri uri){ Intent shareIntent = new Intent(Intent. ...

  2. Python 对新浪微博的博文元素 (Word, Screen Name)的频率分析

    CODE: #!/usr/bin/python # -*- coding: utf-8 -*- ''' Created on 2014-7-9 @author: guaguastd @name: we ...

  3. C++在使用Qt中SLOT宏须要注意的一个小细节

    大家都知道C++虚函数的机制,对于基类定义为虚函数的地方,子类假设覆写,在基类指针或者引用来指向子类的时候会实现动态绑定. 但假设指针去调用非虚函数,这个时候会调用C++的静态绑定,去推断当前的指针是 ...

  4. SmoothProgressBar

    https://github.com/castorflex/SmoothProgressBar

  5. MySQL 资源大全中文版

    https://github.com/jobbole/awesome-mysql-cn

  6. 文件和目录之access函数

    本篇博文内容摘自<UNIX环境高级编程>(第二版),仅作个人学习记录所用.关于本书可参考:http://www.apuebook.com/. 当用open函数打开一个文件时,内核以进程的有 ...

  7. php安装ecshop

    1.apache2.2正常 2.源码htdoc下面保存不动 3.E:\PHP 安装目录下 php5.3.28 就不支持jpeg php5.2.17 就不支持 mysql 说明就是php的问题,因为其他 ...

  8. 详解 Objective-C 中的 Runtime

    公司项目用到一个三方开源库,里面有个bug,不能改动源码,我想来想去,只能通过runtime这个万能的手段来解决.但是runtime 并不怎么会用,怎么办,马上学习呗.说到runtime,它是Obje ...

  9. 当 tcpdump -w 遇到 Permission denied

    为了定位问题,需要在Linux上使用tcpdump并且保存到文件,遇到了如下问题: tcpdump port 9001 -w xxtcpdump: xx: Permission denied 因为已经 ...

  10. 关于php正则表达式模式修饰符

    一直以来,以为自己的正则表达式学的还算可以(基本工作上遇到的问题都能解决),但有时候却是知其然而不知其所以然,在网上看到这篇文章,解释了之前的很多疑问,记录下来,随时温故而知新. i (PCRE_CA ...