定制Linux内核_定制内核_淮南草的博客-程序员宝宝

技术标签: 嵌入式开发_iTop4412  

linux驱动的学习步骤:基础知识----》搭建环境----》编译烧写----》定制内核

解压内核iTop4412_Kernel_3.0   , 驱动都在drivers目录下

配置工具Menuconfig的用法

如果修改了配置文件,那么.config 文件就会被修改,再次编译时就会根据新的config文件来编译整个内核

内核可以配置的内容如图所示:

制作最小文件系统镜像

   制作文件系统时 需要工具‘Busybox’, 在busybox-1.21.1.tar.bz2的压缩包中

   1:解压busybox-1.21.1.tar.bz2,然后进入busybox-1.21.1, 输入make menuconfig出现Busybox操作界面(与linux内核变异配置一样)

   2:设置busybox的编译器为 ‘arm-none-linux-gnueabi-’

   3:配置busybox生成二进制文件的安装目录“../system”(放置在当前目录的上一级目录)

   4:busybox配置完成 进行编译 make

   5:将编译生成的二进制文件安装到上述指定的目录   make install

   6:在system中新建文件夹  mkdir dev etc lib mnt proc sys tmp var

下图的每个新建文件(不是文件夹)都需要修改权限 chmod 777 **

注意下面步骤2的 / 目录 

 

 

还有下边的 圈出来的上标  那个单引号 是通过 键盘Esc下面的 ~ 号 敲出来的·

  hai

  7  linux文件系统为system.img  可以将其烧写到开发板上,和Linux-QT的烧写方式一样(“zImage”、"ramdisk-uboot.img "和 Linux-QT 系统相同,它们在光盘“04_镜像_QT 文件系统”文件夹中),上图中make_ext4fs -s ......中的数字决定了 linux的用户存储空间大小。

最小linux系统的存储空间修改

  1:在uboot命令行中输入:“fdisk -c 0 1024 300 300”,把emmc 分区,其中的1024 是linux 的存储空间,单位是MB

  2:fatformat mmc 0:1
       ext3format mmc 0:2
       ext3format mmc 0:3
       ext3format mmc 0:4

备注:(和上面的操作无关,在此仅用于辅助理解命令意思)

注:此步骤可以跳过!不必每次都格式化分区;2、格式化命令不会删除uboot文件和Linux内核文件
fdisk -c 0        
      按照默认方式给EMMC分区
      Linux内核镜像文件为5M
      Android镜像文件为300M
      Data和Cache文件为1G 
      临时文件为300M
      剩下的为用户区,例如使用手机的时候下载的电影小说都是放在这个区域。如果想更改Linux内核镜像文件区域的大小,只能更改u-boot文件

a)fatformat mmc 0:1         格式化Fat文件系统,也就是默认最大的用户存储空间
b)ext3format mmc 0:2      格式化Android镜像文件
c)ext3format mmc 0:3      格式化Data和Cache分区
d)ext3format mmc 0:4      格式化临时文件保存区

  3: 通过make_ext4fs -s ...... 就可以制定linux存储空间的大小

 如何修改存储空间,只需要修改两点

1) fdisk -c 0 2048 300 300

2)make_ext4fs -s -l 2092957696 -a root -L linux system.img root  (2092957696/1024/1024 = 1996M  因为需要预留几M空间)

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zhuisaozhang1292/article/details/82958240

智能推荐

23. 合并K个排序链表(java)_王俊超_的博客-程序员宝宝

23. 合并K个排序链表题目描述合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[1->4->5,1->3->4,2->6]输出: 1->1->2->3->4->4->5->6解法一:计数法将所有的链表全部暂存在数组来计数通过计数情况全部有序放进新创建的链表class Solution { public ListNode mergeKLists(ListNode

win10平台MySQL 5.7安装与配置_sanqima的博客-程序员宝宝

MySQL是一个开源的数据库,使用起来非常方便。MySQL从v5.6.2开始,都采用压缩包.zip的方式解压安装,配置环境即可使用。

UVa227题解(算法竞赛入门经典习题3-5)_算法竞赛入门经典第二版3-5_Crystal小朋友的博客-程序员宝宝

#include<iostream>#include<stdio.h>#include<string.h>using namespace std;int main(){ char puzzle[6][6]; int line=0,row=0; int cas=0; while(1) { line=0; ro...

阿里云 超级码力在线编程大赛初赛 第1场 题解_园游会不打烊的博客-程序员宝宝

A.树木规划只需要一遍扫过去,判断这个位置的值是否要移出,记录前一个没有移出的位置,从它们的距离中就能判断了。class Solution {public: /** * @param trees: the positions of trees. * @param d: the minimum beautiful interval. * @return: the minimum number of trees to remove to make trees bea

『计算机视觉』Mask-RCNN_从服装关键点检测看KeyPoints分支_weixin_34067049的博客-程序员宝宝

下图Github地址:Mask_RCNN             Mask_RCNN_KeyPoints『计算机视觉』Mask-RCNN_论文学习『计算机视觉』Mask-RCNN_项目文档翻译『计算机视觉』Mask-RCNN_推断网络其一:总览『计算机视觉』Mask-RCNN_推断网络其二:基于ReNet101的FPN共享网络『计算机视觉』Mask-RCNN_推断网络其三:RPN锚框处理和Prop...

随便推点

oracle exp ORA-31600和ORA-00942问题的解决_6瑟瑟9的博客-程序员宝宝

oracle exp ORA-31600和ORA-00942问题的解决在不同版本的Oracle之间Exp导出时,出现ORA-00942错误.连接到: Oracle9i Enterprise Edition Release 9.2.0.7.0 - ProductionWith the Partitioning, OLAP and Oracle Data Mining optionsJServ

介绍FusionCompute虚拟化套件_伯特_n0的博客-程序员宝宝

虚拟化-云软件的基石FusionSphere虚拟化套件特点 管理至简,性能至优 定位:至简至优的虚拟化解决方案领导者 管理至简 性能至优 多站点统一管理 可支持256个站点同时管理,统一运维 大规格虚拟机 255U/4T,满足业务高规格虚拟机需求 异构纳管Vmware 哪管存量VMware,保护已

linux 蓝牙设备,Ubuntu8.04下蓝牙设备连接管理_火车合鸟子的博客-程序员宝宝

1.Ubuntu8.04下启动蓝牙设备sudo /etc/init.d/bluetooth restart或者sudo /etc/init.d/bluez-utils restart2.使用hcitool dev查看计算机上的蓝牙设备[email protected]:~$ hcitool devDevices:hci0 00:16:CF:DB:B4:[email protected]:~$3...

2021-03-20_NoEmotion247的博客-程序员宝宝

使用“=”直接将一个列表赋值给变量即可创建列表对象a_list=['a,‘b’, 'mpilgrim’, ‘z’, ‘example’]a_list =[ ] #创建空列表*列表元素的增加1.可以使用“+”运算符将元素添加到列表中(创建新表)aList = [3,4,5]aList = aList +[7]aList[3,4,5,7]2.使用列表对象的append()方法,原地修改列表,是真正意义上的在列表尾部添加元素,速度较快。aList.append(9

Android 自定义控件----( 原生控件修改 onDraw )_ondraw自定义控件修改_babyyang1213的博客-程序员宝宝

Android 的控件自定义有N多的方法简单点来总结至少包括:        1. 组合控件。(将现有控件组合在你的新控件里,例如一个 ImageView 和 一个 Button 控件)之后总结这种自定义方式的具体使用。      2. 纯手工全新打造,继承自 View  自己重新写  onMeasure  以及 onDraw 函数 ... (好吧,这个家当比较专业,当然是否使用看你自

10个实用的JS小技巧分享-程序员宝宝

过滤唯一值对于所有 ES6 爱好者而言,我们可以使用带有 Spread 运算符的 Set 对象来创建一个仅包含唯一值的新数组。使用数组解构来交换值。解构赋值语法是一种 JavaScript 表达式,可以将数组中的值或对象中的属性解包为不同的变量。一直在寻找提高效率的新方法。与其他数组不同,这里我们可以访问值并获得长度(length),但是不能在其上使用其他数组方法。对象是函数内部可访问的类似数组的对象,其中包含传递给该函数的参数的值。对数组中的所有值求和 我一开始想到的是使用一个循环,但是那样会很浪费。

推荐文章

热门文章

相关标签