导航:首页 > 编程系统 > linux系统内核裁剪定制指南

linux系统内核裁剪定制指南

发布时间:2023-06-28 07:30:24

『壹』 arm-linux 内核应该如何裁剪!

下载linux源码
make help 查看 xxx_config 中是否有你要的相关arm板,比如smdk6400mtd_defconfig 三星公司6410硬盘启动的默认配置
make smdk6400mtd_deconfig , 产生.config 文件

再根据板答子的具体情况,修改配置
make zImage , 在arch/arm/boot/ 目录下产生 zImage文件

『贰』 Linux系统分析、裁减及RAMOS制作

使用Linux开发,根据应用需求的不同有不同的配置开发方法,但是一般都要经过如下的过程:

1.建立开发环境
操作系统一般使用RedHat-Linux,版本从7到9都可以,选择定制安装或全部安装,通过网络下载相应的GCC交叉编译器进行安装(例如arm-Linux-gcc、arm-μclibc-gcc),或者安装产品厂家提供的交叉编译器。

2.配置开发主机
配置MINICOM,一般的参数为波特率为115 200bps,数据位为8位,停止位为1,无奇偶校验,软件硬件流控设为无。在Windows下的超级终端的配置也是这样的。MINICOM软件的作用是作为调试嵌入式开发板的信息输出的监视器和键盘输入的工具。配置网络,主要是配置NFS网络文件系统,需要关闭防火墙,简化嵌入式网络调试环境设置过程。

3.建立引导装载程序BOOTLOADER
从网络上下载一些公开源代码的BOOTLOADER,如U-BOOT、BLOB、VIVI、LILO、ARM-BOOT、RED-BOOT等,根据自己具体的芯片进行移植修改。有些芯片没有内置引导装载程序,例如三星的ARM7、ARM9系列芯片,这样就需要编写开发板上Flash的烧写程序,网络上有免费下载的Windows下通过JTAG并口简易仿真器烧写ARM外围Flash芯片的烧写程序,也有Linux下的公开源代码的J-Flash程序。如果不能烧写自己的开发板,就需要根据自己的具体电路进行源代码修改。这是系统正常运行的第一步。如果购买了厂家的仿真器当然比较容易烧写Flash,这对于需要迅速开发自己产品的人来说可以极大地提高开发速度,但是其中的核心技术是无法了解的。

4.下载别人已经移植好的Linux操作系统
如μCLinux、ARM-Linux、PPC-Linux等,如果有专门针对所使用的CPU移植好的Linux操作系统那是再好不过的,下载后再添加自己的特定硬件的驱动程序,进行调试修改,对于带MMU的CPU可以使用模块方式调试驱动,对于μCLinux这样的系统则需编译进内核进行调试。

5.建立根文件系统
从下载使用BUSYBOX软件进行功能裁减,产生一个最基本的根文件系统,再根据自己的应用需要添加其他程序。默认的启动脚本一般都不会符合应用的需要,所以就要修改根文件系统中的启动脚本,它的存放位置位于/etc目录下,包括:/etc/init.d/rc.S、/etc/profile、/etc/.profile等,自动挂装文件系统的配置文件/etc/fstab,具体情况会随系统不同而不同。根文件系统在嵌入式系统中一般设为只读,需要使用mkcramfs、genromfs等工具产生烧写映像文件。

6.建立应用程序的Flash磁盘分区
一般使用JFFS2或YAFFS文件系统,这需要在内核中提供这些文件系统的驱动,有的系统使用一个线性Flash(NOR型)512KB~32MB,有的系统使用非线性Flash(NAND型)8~512MB,有的两个同时使用,需要根据应用规划Flash的分区方案。

7.开发应用程序
应用程序可以放入根文件系统中,也可以放入YAFFS、JFFS2文件系统中,有的应用不使用根文件系统,直接将应用程序和内核设计在一起,这有点类似于μCOS-II的方式。

8.烧写内核、根文件系统、应用程序

9.发布产品

『叁』 有关linux内核移植时的裁剪涉及哪些内容

嵌入式Linux系统的移植主要有U-Boot、Linux内核、文件系统这三部分。
Uboot是在系统上电时开始执行,初始化硬件设备,准备好软件环境,然后才调用Linux操作系统内核。文件系统是Linux操作系统中用来管理用户文件的内核软件层。文件系统包括根文件系统和建立于Flash内存设备之上文件系统。根文件系统包括系统使用的软件和库,以及所有用来为用户提供支持架构和用户使用的应用软件,并作为存储数据读写结果的区域。
可将Linux系统移植过程大致需要分成6个步骤:
1) 准备工作,包括下载源码、建立交叉编译环境等。交叉开发是指在开发主机上安装开发工具,编辑、编译目标板的引导程序、内核和文件系统,使其能在目标板上运行。
2) 配置和编bootloader(引导装载程序)。通过这段小程序,可以初始化硬件设备、建立内存空间的映射表,从而建立适当的系统硬件环境,为最终调用操作系统内核做好准备。
3) 配置和编译Linux内核,对其进行相应的裁剪,修改内核以支持相关的硬件设备。
4) 为大容量NAND Flash移植YAFFS文件系统,并将该文件系统加入Linux内核中;
5) 制作RAMdisk来挂载根文件系统。Linux系统中的文件和设备是通过文件系统来组织的。文件系统的存在使得数据和设备可以被有效而透明地存取访问。一个linux的最简根文件系统应该包括支持linux系统正常运行的基本内容,包括系统使用的软件和库,以及所有用来为用户提供基本支持的架构和指令。
6) 烧写、调试系统;如果调试出错,则需要重新配置,返回上述步骤(2)。

『肆』 谁知道如何来自己做个可以安装的linux系统,有了linux裁剪的内核和根文件系统

你到底是要安装还是启动?
安装需要自己写安装程序或者找个安装程序封包器。
如果是启动,GRUB 启动你的内核,内核参数里面写好根文件系统的设备名就行了。

注意启动和安装是两个概念。

『伍』 linux内核裁剪是什么

简单地说,Linux内核里有许多功能或驱动是我们用不上的,我们应该把这些不需要的东西去掉,这样可以让操作系统系统占用内存小,启动速度快。一般嵌入式Linux操作系统需要裁剪。
裁剪方法:命令行下,用vim编辑文件是可行的,但较多的文件要修改时,可能用menuconfig比较省事,一般来讲,可能两种方法配合着使用。

『陆』 如何选择和裁剪嵌入式linux内核

一、内核的获得
可以从网上下载内核文件,http://www.kernel.org。如果是为了练习,尽量下载2.4.x的内核。因为2.6.x的内核比较大,当然编译也需要更都的时间。

二、内核的编译
Linux内核的编译菜单主要有三个版本:
1)make config:进入命令行,可以一行一行的配置。
2)make menuconfig:开发人员比较熟悉的menuconfig菜单。
3)make xconfig:在2.4.X以及以前版本中xconfig菜单是基于TCL/TK的图形库的.

我们采用menuconfig菜单
编译内核需要root权限,以下操作都假定你是root用户.先在根目录下建立名为ARM2410的目录.然后
把你需要升级的内核拷到/usr/src/下(下文中以2.4.18的内核的linux-2.4.18.tar.gz为例),命令为
#cp linux-2.4.18.tar.gz /usr/src
然后解压该文件,命令为:
#tar -zxvf linux-2.4.18.tar.gz

如果你所下载的是.bz2文件,例如linux-2.4.0test8.tar.bz2,请使用下面的命令
#bzip2 -d linux-2.4.18.tar.bz2
#tar -xvf linux-2.4.18.tar

下面我们开始编译:
第一步:在终端下进入内核所在目录 "/arm2410";
第二步:键入make menuconfig,进入内核配置菜单,

注意:
1)带有"-->"表示该选项包含选项;
2)每个选项前面有[ ]或< >,中括号表示仅有2种选择(*或空),尖括号表示有3种选择(M,*或空),按空格键可显示这几个选择;
3)M表示以模块方式编译进内核,在内核启动后,需要手工执行insmod命令才能使用该项驱动;*表示直接编译进内核;空表示不编译进内核;
第三步:按着自己的需求,配置内核.一共有21项.
第四步:键入make clean命令,删除已生成的模块和目标文件.
第五步:键入make dep命令,编译变量依赖关系等;
第六步:键入make zlmage生成经压缩以后的内核映像文件zlmage;
第七步:键入make moles编译模块;
第八步:键入make moles_install安装编译完成的模块;
内核映像文件zlmage存放在 ./arch/arm/boot/目录下.

『柒』 linux 内核裁剪 + linux驱动,一般需要多少时间

内核裁剪熟悉了十几分钟搞定,要是不熟悉,就要很久了,因为内核版也分目录的,每目录下的权每项都要明白是干什么的才能取舍。驱动一般包含在内核内,linux系统通过内核管理设备,外部安装的较少。
我常用menuconfig来编译内核。在gentoo系统下有genkernel软件,更方便一些。当然,gentoo系统安装起来不方便。

『捌』 嵌入式linux内核怎么裁剪编辑移植

这是门大学问,你在网络问答怎么可能问得出来,如果你想学,没半年哪里搞的定,要是做项目,还是请人做吧,几万块的事

阅读全文

与linux系统内核裁剪定制指南相关的资料

热点内容
还有哪些少儿编程培训机构 浏览:508
ps怎么去掉文件中不需要的部分 浏览:793
微信信用度在哪儿看 浏览:72
java监听器延时 浏览:726
itunes备份包含微信聊天记录 浏览:20
怎么向虚拟机传文件 浏览:677
win10怎么用软件激活不了 浏览:816
美版a1453是什么版本 浏览:517
电脑里的文件夹按照拼音归类 浏览:996
文件管理器怎么把视频压缩成文件 浏览:477
标准化文件名称包括哪些 浏览:85
win10不能读取dll文件 浏览:882
云骑士重装系统找不到usb字样文件 浏览:42
皖事通app社保年限在哪里看 浏览:65
为什么快影显示没网络 浏览:356
华为如何让手机升级提醒红1消失 浏览:345
我爱九九商城app 浏览:587
剑灵苍穹武器升级 浏览:248
微信钱包微粒贷 浏览:654
滚动字幕屏找不到文件 浏览:990

友情链接