LINUX在嵌入式系统上的实践和探讨
1。实践目的
向一个成熟的嵌入式硬件平台移植KERNEL 2.6版本的LINUX核心;
以实践一个嵌入式系统的初步开发要求和进一步的应用程序移植。
2。硬件平台
VIA公司的EmCore-V611V12r/E533
其平台主要应用于瘦客户机、机顶盒、查询机、网关防火墙、服务器等。相对硬件配置高,条件也不苛刻,但对软件的扩展、升级等要求高。
VIA公司的VEPD是X86架构在Embedded系统的延伸,所以软件的可移殖利用性强,开发周期短等特点。
3。安装LINUX
A. 初始化CF卡
将CF卡插在宿主机的ID1上。格式化CF卡,建立文件系统。CF卡出厂的时候分区一般如下:
0....Bootloader
1....Factory configuration
2
.
. 内核和根文件
.
.
N
分区0....放置Bootloader
分区1....放置Factory configuration
分区2...N放置 内核、根文件系统 等
一般不同的硬件和LINUX的Bootloader 也不尽相同。如UCLinux 一般用COLILO等。
嵌入式系统所用的文件格式一般有JFFS、JFFS2、EXT2。而我们现在的系统可以支持EXT3。
1)fdisk /dev/sda
2)mkfs.ext3 /dev/sda1
当然也可以用图形化工具完成1)2)步骤。
B. 在CF卡上建立和CP相关的必要文件
1)mount CF卡
2)建立/mnt/cf/boot、/mnt/cf/boot/grub 等目录。
3)CP grub下的文件到/mnt/cf/boot/grub,CP 其他的根系统文件。
C. 编译针对目标机的2.6内核
我的源文件目录为/data/linux-2.6.6,输出目录设置为/data/cf
1)cd /data/linux-2.6.6
2)make mrproper
3)make O=/data/cf gconfig
这里主要是对目标机的硬件选相关的硬件选项,舍去不要的选项。CPU选VIA FAMILY、FLASH驱动选在MTD里,还有网卡、USB、声卡等
4)make O=/data/cf
5)cp /data/cf/arch/i386/boot下的vlimuz、initrid.img 到 /mnt/cf/boot下
D. install grub
1) 按目标机修改grub.conf
2) 执行grub,进入grub的命令模式
3) grub > root (hd1,0)
由于我们现在的CF卡不是当前启动硬盘,所以我们要注意,这里的硬盘参数是hd1而不是hd0.
4) grub > setup (hd1)
同上,我们现在是在CF卡上安装 grub.
5) grub > quit
OK,系统安置完成。
E. 关机,取吓CF卡,插到目标机上,开机,引导........成功!!!
我们可以进入到bash状态了.
下面,我们可以进一步移植安装GUI和其他的应用程序.
4。 比较其他的嵌入式系统开发
和其它的系统比较,少实践了交叉编译,交叉链接,stub调试,规划FLASH在内存里的位置分配,烧写FLASH的Bootloader等。
但是一个良好的开端是成功的开始。
5。 探讨
随着硬件的发展,嵌入式系统的开发也会更加成熟和容易。而且,随着硬件的发展,容量,体积不在是问题,嵌入式系统的硬件配制也会越来越高,相对的软件的开发,在开发周期,可升级等方面会要求越来越高.早期的嵌入式系统甚至没有OS只有简单的循环和可编程逻辑阵列,程序很难再利用和移植。后来,有了一些专用的OS。所以,工业计算机+OS是以后Embedded 系统的发展方向。但除了在军事等一些特殊领域会使用专有系统外,大部分的Embedded系统都会转入开放式系统或者是其他的有丰富的软件资源的操作系统. 对于一些新的开发人员来说可以把更多的精力放在应用软件开发上,而不用太多的考虑硬件了,降低了开发难度,缩短了嵌入式系统的开发周期。在以后的信息家电里,工业计算机将会得到大大地应用。当然,可编程逻辑阵列也会发展,在一个遥控器里也只可能用可编程逻辑阵列来完成的。
浙江省城乡规划设计研究院计算机中心
陈刚 2004.6.8
阅读:9179次
责任编辑:cg-linux
| 评论标题: | |
| 简单易懂 | |
| 详细内容:(2004-10-29 23:09:59)不过,就这么简单?我记忆中的平台搭建是很麻烦的一般Linux内核很大,是否需要做最小化处理?在这个例子中CF卡要多大的容量? | |
相关文章列表
评论总数:0条,平均得分:0 分 [ 查看全部 ] 网友评论
热门图文

最新资讯
- 分析Linux系统计算机死机的故障原因
- 保障Linux系统安全九大技巧
- 如何保障Linux系统临时文件安全
- Linux安全之道 安全部署五个步骤
- 浅谈疯狂的企鹅 看Linux安全未来
- 走近Linux防护 铲除病毒两大威胁
- 认识 Linux平台四大IDS入侵检测工具
- 浅谈 Linux下 暴破软件
- 怎样检测不同操作系统下黑客发起的攻击
- Suse Linux安装Ntfs-3g支持NTFS分区读写
- 认识Linux下三大便利的开源防火墙
- 图文并茂:Linux下VPN服务器的搭建
- linux的WLan
- Linux系统安全的内在限制
- 使用Swatch做Linux日志分析
- Linux下的防火墙机制应用
- 随心订制linux透明防火墙
- 知己知彼 看黑客如何入侵Linux操作系统
- 加强安全意识:再现一次曲折的RedHat Linux系统入
- 数据库系统安全之漏洞发掘
- 在 Linux 服务器上使用 NIMOL 安装 AIX
- SELinux支持者挑起关于Linux安全模型的争论
- Linux系统安全隐患及加强安全管理方法
- 疑点解析:Linux系统下的病毒少是为何?
- 三款超强监视工具使用技巧
- OpenBSD系统惊曝安全漏洞
- Linux安全:推荐两款免费安全管理工具
- Linux安全讲座
- 我的Linux工作平台配置与展示
- Linux下进程安全的监控和保护
最新热门阅读
- 传统代理,透明代理,plug-gw,Apache反向代理,I
- 分布式拒绝攻击(DDOS)软件tfn2k攻防
- OpenVPN 配置和使用
- Windows XP 与 Solaris 10 双操作系统安装图片解析
- Slackware 9 ghostscript/gv 中文解决方案
- 如何使用OpenVPN连接两个网络
- 构建一个RADIUS服务器
- Solaris高级系统管理员指南
- 用VMWARE安装solaris8 x86简明攻略
- 计划用 Solaris 9u8 x86 做分布运算,一些使用心得
- redhat防火墙配置基础篇
- Linux IP Networking
- VMS虚拟机的安装下载一条龙
- 如何检测和重启Apache和Lighttpd
- Xft字体库:体系结构及用户指南
- Oracle9i (9.2.0.4.0) RAC Installation on Tru64
赞助商链接

RSS订阅