Sona-tina安装盘制作

安装盘由以下几个文件构成:
vmlinux.bin         操作系统镜像
ramdisk.bin         文件系统镜像,包括应用程序
home.jffs2.img      配置文件镜像
loader.bin          ARM3902主板的bootloader镜像
redboot.bin


===============================
vmlinux.bin
是经过裁减后的linux操作系统镜像,在linux内核文件夹根目录下make可生成该文件,
生成的位置就在当前目录下
修改内核以后要重新编译,生成新的镜像文件
在根目录下有一个隐藏的配置文件.config,在拷贝或者tar包(没压缩)时曾经丢失过,
最好是用tar -cxvf压缩成tar.gz包

更改启动logo时先用fblogo把图片做成linux_logo.h放在linux/include/linux/文件夹中,
覆盖原文件,在linux/drivers/video/fbcom.c文件中改图片的width、height和位置,
然后重新编译内核

换屏后换屏的驱动,更换内核中的一个文件:linux/drivers/video/ep93xxfb.c,
然后重新编译内核

===============================
ramdisk.bin
应用程序的文件系统镜像,包括应用程序。其中的主要文件结构如下:
/bin/
/dev/
/etc/
/home/
  +--common/
  +--nfs/
      +--bin/         sonatina程序文件放在该目录下
  +--rw/              程序的配置文件放在该目录下
      +--userfiles/   保存的曲线文件放在该目录下
/lib/
/lost+found/
/mnt/
/proc/
/root/
/tmp
/usr
/var

该文件的生成方法:
1、新建一个空白的文件系统,取名为DEVICE
   dd if=/dev/zero of=DEVICE bs=1k count=7000
2、格式化此文件系统
   mke2fs -m -0 -i 2000 DEVICE
3、挂载该文件系统,先创建目录/mnt/target
   mount -o loop DEVICE /mnt/target
4、拷贝上面的目录和文件到该文件系统中,包括在arm环境下编译好的sonatina可执行文件
5、取消挂载
   umount /mnt/target
6、压缩DEVICE成ramdisk.bin
   dd if=DEVICE bs=1k|gzip -v9 >ramdisk.bin
   该操作步骤大部分已经写在Makefile的make pub语句中,只需将DEVICE文件放在源代码目录下即可
7、该文件可以用下面命令解压缩:
   mv ramdisk.bin ramdisk.gz
   gunzip ramdisk.gz

===============================
home.jffs2.img
flash上自由空间的镜像文件,程序运行时只会对该分区进行读写,包括读写配置文件和保存加载曲线文件。
该文件在sonatina机器上对应的目录是/home/rw/,这个目录的定义是在ramdisk.bin的文件系统中的
/etc/rc.d/rc.sysinit文件中的,如果想改动该目录,
需要在此文件中进行相应的更改,程序源代码也要做相应更改。
在编程时对应的路径是/home/rw/,是由程序代码确定的
在arm中编译时对应的路径是/usr/local/arm/2.95.3/src/microwindows-0.90/src/projects/rw/,
是在Makefile中确定的

注:
    JFFS全称为:The Journalling Flash File System(日志闪存文件系统)最初由瑞典的 Axis Communications 开发,Red Hat 的 David Woodhouse 对它进行了改进。作为用于微型嵌入式设备的原始闪存芯片的实际文件系统而出现。JFFS文件系统是日志结构化的,这意味着它基本上是一长列节点。每个节点 包含有关文件的部分信息 — 可能是文件的名称、也许是一些数据。相对于 Ext2 fs,JFFS 因为有以下这些优点而在无盘嵌入式设备中越来越受欢迎:
    1 JFFS 在扇区级别上执行闪存擦除/写/读操作要比 Ext2 文件系统好。
    2 JFFS 提供了比 Ext2 更好的崩溃/掉电安全保护。当需要更改少量数据时,Ext2 文件系统将整个扇区复制到内存(DRAM)中,在内存中合并新数据,并写回整个扇区。这意味着为了更改单个字,必须对整个扇区(64 KB)执行读/擦除/写例程 — 这样做的效率非常低。要是运气差,当正在 DRAM 中合并数据时,发生了电源故障或其它事故,那么将丢失整个数据集合,因为在将数据读入 DRAM 后就擦除了闪存扇区。JFFS 附加文件而不是重写整个扇区,并且具有崩溃/掉电安全保护这一功能。
    3 这可能是最重要的一点:JFFS 是专门为象闪存芯片那样的嵌入式设备创建的,所以它的整个设计提供了更好的闪存管理。
    要构建JFFS文件系统,首先要有硬件设备FLASH及支持JFFS文件系统的操作系统。

===============================
loader.bin


/
/// 在Linux上搭建microwindow和arm环境 ///
/
1、copy /home/nfs/到相同的目录下,并创建目录/home/rw/,
  把/usr/include/freetype1/freetype/ copy 到
  /usr/include/目录下
  在/home/nfs/microwindow/src/ 目录下重新make
2、copy /usr/local/arm/ 文件夹到目标机器的相同目录,重新make microwindow
3、mkfs.jffs2可执行文件要单独copy到/sbin文件夹下,才能在shell中使用该命令
[注意]
1、copy文件夹时要先tar.gz包,然后再进行windows和linux系统间的copy,否则会丢失符号链接文件!
2、arm下的和PC下的Makefile文件不同,不能通用!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值