行情
HOME
行情
正文内容
nand_ecc_none 服务器维护如何制作一个基于linux2619内核小型Linux操作系统?
发布时间 : 2025-03-18
作者 : 小编
访问数量 : 23
扫码分享至微信

服务器维护如何制作一个基于linux2619内核小型Linux操作系统?

服务器维护小知识ARM9

S3C2410微处理器与Linux的结合越来越紧密,逐渐在嵌入式领域得到广泛的应用。目前,在便携式消费类电子产品、无线设备、汽车、网络、存储产品等都可以看到S3C2410与Linux相结合的身影。

S3C2410微处理器是一款由Samsung公司为手持终端设计的低价格、低功耗、高性能,基于ARM920T核的微处理器。它带有内存管理单元(MMU),采用0.18mm工艺和AMBA新型总线结构,主频可达203MHz。同时,它支持Thumb

16位压缩指令集,从而能以较小的存储空间获得32位的系统性能。

在众多嵌入式操作系统中,Linux目前发展最快、应用最为广泛。性能优良、源码开放的Linux具有体积小、内核可裁减、网络功能完善、可移植性强等诸多优点,非常适合作为嵌入式操作系统。一个最基本的Linux操作系统应该包括:引导程序、内核与根文件系统三部分。

服务器维护小知识与Linux2.4内核相比,2.6内核吸收了最新的技术,在性能、可测量性、器件支持和可用性方面有了大幅度提高;支持更多的体系结构、处理器、总线、接口和设备;标准化了内部接口;简化了扩展或添加新设备的步骤等。

本文着重介绍如何制作一个基于linux-2.6.19内核的小型Linux操作系统,并将它移植到S3C2410开放板上。内容包括交叉编译环境的建立,引导程序、2.6.19内核、根文件系统的修改、配置、编译、移植等。

系统的制作移植

服务器维护小知识建立交叉编译环境

要移植、开发小型Linux系统,首先要在安装了RedHat9或更高版本Linux操作系统的主机上配置交叉开发环境。交叉开发是指在开发主机上安装开发工具,编辑、编译目标板的引导程序、内核和文件系统,使其能在目标板上运行。

针对本次开发,需要安装arm-linux-gcc-3.4.1以及armv4l-tools工具链。在安装完毕后,切记要将两者的路径分别添加到系统路径$PATH中。

引导程序

服务器维护小知识对于计算机系统来说,从开机上电到操作系统启动需要一个引导程序。嵌入式linux系统同样离不开引导程序,这个引导程序叫做Bootloader[1]。通过这段小程序,可以初始化硬件设备、建立内存空间的映射表,从而建立适当的系统硬件环境,为最终调用操作系统内核做好准备。

vivi[4]是韩国MIZI公司为其ARM9系列产品而研发的Bootloader,小而灵巧,这里选用它作为小型Linux系统的Bootloader。

首先要修改vivi源代码中的Flash分区信息,新的分区信息如表1所示。

根据表1,在vivi源码arch/s3c2410/smdk.c文件中作出相应的修改。

然后在配置菜单中导入smdk2410的默认配置,编译成功将在vivi源代码目录下生成所需的Bootloader文件,文件名为vivi。

接着,便可把vivi下载到目标板Flash的相应位置。

内核

修改内核

首先,修改内核源码linux-2.6.19下的Makefile文件,指定目标代码类型与编译器:SUBARCH

:=arm;CROSS_COMPILE:=http://m.elecfans.com/usr/local/arm/3.4.1/bin/arm-linux-。

然后,在linux-2.6.19/arch/arm/mach-s3c2410/common-smdk.c中根据表1修改内核中的Flash分区信息。这里提醒读者,2.6.16(含)以前内核的源码中没有Flash分区信息,所以需要增加新的分区信息;而在2.6.17(含)以后内核的源码中已含Flash分区信息,需要的只是修改分区信息。

内核Flash分区信息必须与vivi的Flash分区信息相一致。因为,vivi的Flash分区中的地址是内核及文件系统下载到Nand

flash的真正地址;而内核在启动时读的却是内核Flash分区设定的地址;所以,若两者不同,则很可能导致不能正常启动内核或读取文件系统。

最后,修改linux-2.6.19/drivers/mtd/nand/s3c2410.c,禁止Nand flash差错检测:

chip-》eccmode = NAND_ECC_NONE;。

内核的配置编译

服务器维护小知识在配置菜单中导入内核对smdk2410的默认配置,再在此基础上选择所需的功能。如Nand

Flash及MTD设备的支持,Cramfs文件系统的支持等。

配置完毕,在终端输入编译命令“make”进行编译。若内核源码编译成功,将在linux-2.6.19/arch/arm/boot/下生成内核映像文件zImage。

最后,在vivi命令提示模式下使用下载命令,将内核映像zImage加载到开发板Flash中的适当地址。

根文件系统

服务器维护小知识Linux系统中的文件和设备是通过文件系统来组织的。文件系统的存在使得数据和设备可以被有效而透明地存取访问。一个linux的最简根文件系统应该包括支持linux系统正常运行的基本内容,包括系统使用的软件和库,以及所有用来为用户提供基本支持的架构和指令。

在根文件目录rootfs下建立bin、dev、etc、lib、proc、sbin、root、tmp等一系列必备的目录,把所需的配置文件、动态函数库放到相应的目录。采用BusyBox是缩小根文件系统的好办法。BusyBox以很小的体积集成了最常用的linux命令和应用程序,大大简化了制作linux根文件系统的过程。

有一点必须指出的是,在2.6.12(含)之前的内核通常是用devfs来管理位于/dev下的所有块设备和字符设备;但在2.6.13(含)之后的内核已不支持devfs,而转用udev来管理/dev下的设备,详见[5]。所以,针对2.6.19内核,要使系统启动后进入BusyBox控制台,还需在/rootfs/dev下添加控制台设备文件:“[root@localhost

dev]# mknod -m 600 console c 5 1”。

目前,linux已经能够支持几十种文件系统格式,如常用的Cramfs、Jfss2、Yaffs等。Cramfs

是一种只读的闪存文件系统,可以保护系统的基本设置不被更改。根文件系统就使用Cramfs格式。

使用Cramfs制作工具mkcramfs把根文件目录制作成映像文件:rootfs.cramfs。

根文件系统制作完成,在vivi命令模式下把rootfs.cramfs下载到Flash的合适位置。

至此,一个基于2.6.19内核的小型Linux系统便成功地制作完毕,并移植到S3C2410开发板上了。

板子加电后便可看到系统的启动信息,最终进入BusyBox控制台。

服务器维护小知识基于2.6内核的Linux凭借其突出的嵌入式特性与性能优越的ARM9

S3C2410相结合,在嵌入式领域有着广阔的应用天地。文章介绍了如何制作一个基于Linux2.6.19内核的小型Linux系统,并将其移植到S3C2410开发板上。小型系统的制作与移植是进行嵌入式开发的基础,必须熟练掌握。

内存买成ECC却不能用 ECC内存到底是什么鬼

如今内存价格波动是非常大的,很多用户都想买一条便宜好用的内存,因此在一些购物网站上经常可以看到一些很便宜的但是叫ECC或是REG-ECC的内存,一些不明原理的用户买来对应的DDR3或者DDR4内存后却发现自己的电脑没法用这些内存。

这是为什么呢?ECC或者REG-ECC到底是什么内存呢?ECC是错误纠正的英文缩写,它的原理就是用数学方法快速检查数据错误,因此有ECC功能的内存其实就是可以自动对内存数据进行校验的。

这些ECC内存通过叫做“奇偶校验检查”的方法来检查错误,内存会检验其值为8个比特组里所有“1”的和,结果是奇或偶,即1或0。如果内存下次访问数据时候,和与奇偶校验比特的值不一样的话,那么系统就知道至少有一个比特的值错了。这种情况下ECC内存就会用一段储存原始数据时,用特殊算法生成的代码来校正错误,恢复原始的8比特数据。

这看起是非常不错的功能,毕竟很多电脑问题就是由于内存数据错误所造成的,为什么一般的电脑没法用呢?这是因为一般的电脑为了速度,一般都是不支持这样的ECC内存的,而ECC内存由于有校验这一步骤,一般都多用在服务器领域,普通的家用主板一般都是不支持的,而且对于服务器,还要区分REG-ECC和纯ECC的区别,REG是带寄存器的ECC内存,可以支持更大的单条容量,但是由于有寄存器的存在,延迟会更高。

因此大家买内存的时候可要千万看清楚,别买成服务器专用的ECC内存了,一般卖家会专门标出来ECC内存的问题和适用范围,此外我们常用的内存为了散热或者造型,一般都带有一个散热马甲,而ECC内存们一般都是没有看起来很炫酷的马甲的,即便有也都是很朴素的散热片,这也是一个较明显的区分方法。

相关问答

hp 笔记本内存 ecc 错误怎么办?

ECC内存即纠错内存,简单的说,其具有发现错误,纠正错误的功能,一般多应用在高档台式电脑/服务器及图形工作站上,这将使整个电脑系统在工作时更趋于安全稳定。...

one加上一个英文字母是什么单词_作业帮

[回答]nonebonedonegoneoncelonehonetone

阅读下面的材料,根据要求写一篇不少于800字的文章。(60分)材...

[回答]作文作文可以从“成功与环境的关系”、“环境改变人”、“以环境做由头,人如何更好的面对、提升、发展自我”、“人与环境如何和谐相处”等方面入手...

Noonetellsmeaboutit.句中的nobody能不能换成 none ?我在网上...

[最佳回答]基本都懂了,你就该知道不能互换了.none指上文出现的名词没有一个.none可以=nostudent/noteacher/nowater.Nobody是没人的意思.基本都.....

电脑无法启动主机绿灯一直亮但红灯不亮光驱指示灯不亮键盘三...

黄灯是闪的.绿灯是常亮的.还有,是网卡上有2个灯,不是网线上的.如果说绿灯不亮,可能是网线没插好,水晶头没做好.要不就是网线本身有问题.如果有条件,...

【英语写作求高手给一篇范文.1.有人认为读书要有选择2.有人认...

[回答]HowtochoosebooksyourbookdiscussiongroupwillenjoyTherearemanydifferentwaystochooseboo...

谁能解决联想S10配置的问题?

[回答]不支持双通道,但是支持667MobileIntel®945GSEExpressChipsetSummaryInformationName82945GSEGraphicsandM...

Noneofthese __ shouldalteryourrelatinshipwithyourmanager...

[最佳回答]A.promotes:推广,推崇,提倡B.convinces:说服(某人).根据句意应选AA.factors:因素B.aspects:方面.用aspects时上下文一般要说明是什么事物的各方....

noneof()Ihadevermetbefore.为什么填为什么填whom_作业帮

[回答]Shebroughtwithherthreefriends,noneof()Ihadevermetbefore.句子间没有连词,可以判断为非限制性定语从句填whomSheb...

某校为调查高中生选修课的选修倾向与性别关系,随机抽取50名...

word='+encodeURIComponent('作业帮');frame.style.display='none';document.body....

 颠覆罪  谢克敏 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2025  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部