01 简介
仙人掌科技工业级闪存产品,基于温度,晃动与震动等严苛的环境而设计,晃动与震动会导致磁性或者光学存储产品过早的失效,或者低端系统的偏差也会成为一个环境因素。
许多工业计算机与嵌入式系统使用操作系统后,便拥有先进的功能并同时可以简化开发工作。本应用须知概述了使用仙人掌科技闪存产品的操作系统的安装,与启动的要求与步骤。
02 安装须知
仙人掌科技闪存设备上操作系统的安装与启动有2部分:
1. 可以在仙人掌科技设备的开发者平台上安装与启动操作系统。
2. 在生产期间,复制一份最终的操作系统镜像(任意格式),给相同的仙人掌科技设备。
首先考虑的是,目标系统是否支持从可移除设备安装与启动。一些系统(例如较旧的X86 PC不支持从CD ROM启动)在任何可移除设备不能启动操作系统安装,包括仙人掌科技CF/PC卡默认"可移除"(R)配置的ATA设备。
由于系统本身的强制限制,这与仙人掌科技闪存产品或者硬件无关,一些操作系统不能安装在仙人掌科技带有(R)配置的设备上。
由于这些硬件与操作系统的原因,不可拆卸的卡被采用,用来进行分区、安装与启动。
所有仙人掌科技闪存产品出货,都会相对于默认逻辑磁盘的工艺制程规格生成分区表,具体参考我们的产品手册。
我们已经发现一些系统跟不上我们默认的逻辑工艺制程(尤其是较旧的不支持LBA的系统),结果是强制执行一个不同的逻辑工艺制程。被强制的工艺制程将会与默认的分区表冲突,可能会导致系统从仙人掌科技设备启动失败。解决办法是使用MSDOS fdisk或者类似磁盘分区程序删除默认分区,并在目标平台上,通过BIOS或者系统固件,释放分区并匹配实际的逻辑磁盘工艺制程后即可使用。
03 操作系统安装向导
在接下来的章节,将概述在仙人掌科技设备上,安装不同类型的操作系统的步骤。假设仙人掌科技设备工作在True IDE模式(CF与PC卡需要插入IDE适配器)。
03.1 MS-DOS
按照如下步骤,在仙人掌科技设备上安装MSDOS或者它的衍生程序:
1. 使用MSDOS安装盘启动目标平台。
2. 按照屏幕上的说明,安装MSDOS到仙人掌科技设备上。
3. 当MSDOS从有安装操作系统的仙人掌科技设备启动时,安装完成。
在MSDOS环境下,带有要么(R)-removeable要么(F)-fixed的CF/PC卡ATA的设备会生成多个分区。
03.2 Microsoft Windows(标准嵌入式版本)
标准的Microsoft Windows不能安装在仙人掌科技标记有可移除(R)的设备上,因此,安装标准的Microsoft Windows必须使用固定模式(F)的CF/PC卡或者SSD/DOM设备。仙人掌科技不支持使用磁盘镜像编程,复制一个已存在的镜像到仙人掌科技可移除的CF/PC卡ATA设备,来运行Mircosoft Windows。
Mircosoft Windows(NT,2000或者XP)嵌入式可以从开发者工作站配置完成后安装到目标平台。
操作系统安装的另外考虑是磁盘分区。微软操作系统除了MS-DOS不允许在可移动设备上有多个分区,而与最终文件系统安装到设备上没有关系。这是微软的限制而与仙人掌科技设备无关。
在Microsoft Windows环境下分区一个仙人掌科技CF/PC卡ATA设备,设备必须识别为"固定的"磁盘。即使用固定模式的(F)卡,Microsoft Windows还是会识别USB接口的CF/PC读卡器为可移除的,因此不允许分区操作。在Windows环境下,有2个方法强制操作系统识别CF/PC卡ATA设备为"固定磁盘"。
1.非USB PC读卡器例如那些基于便携带式的电脑。在市场上也有使用卡槽的PCI卡
总线桥(PCMCIA),能被用于固定模式卡并执行多个分区。
2.CF/PC卡-ATA适配器能被用于将CF/PC卡ATA设备植入True IDE模式,因此允许Windows执行多个分区。
基于DOS的预备boot功能,如果目标应用的文件系统是FAT16,必须复制一个Windows嵌入式boot扇区到仙人掌科技闪存。使用bootprep复制boot扇区的设置步骤如下。
1. 执行一个MSDOS boot软盘并复制bootprep.exe到软盘。
2. 连接仙人掌科技设备到目标平台。如CF/PC卡ATA设备,需要使用CF/PC卡ATA转换成IDE后连接设备。也可以使仙人掌科技设备仅仅用于IDE通道模式。
3. 使用软盘BOOT目标平台。
4. 根据MSDOS提示,输入bootprep到仙人掌科技设备,准备引导嵌入式Windows启动。
可以在Microsoft Windows嵌入式文档,获取关于获取bootprep的进一步信息。如果仙人掌科技设备的格式是FAT32或者NTFS,bootprep也不是必需的。
对于标准的嵌入式Microsoft Windows,当EWF(保护卷防止写入)不是用于标准的Microsoft Windows时,为了EWF与延长使用寿命有更好的性能,我们建议不要使用多样化的存储。
Windows(NT,2000,XP)嵌入式提供了EWF,因此为闪存设备增加了耐力,仙人掌科技闪存产品支持EWF,我们并强烈建议使用EWF来提高设备的耐力。因为仙人掌科技闪存设备能被生产配置为固定模式(F)设备,因此EWF磁盘模式、RAM模式或者内存条模式都支持EWF。仙人掌科技设备的设置EWF增加设备耐力的方法,请翻阅您的Windows嵌入式文档。
03.3 Linux
安装Linux与安装Microsoft Windows不同。这里有2种典型的安装方法:
将仙人掌科技设备当作一个标准的磁盘驱动器,在其设备上直接安装并执行操作系统,或者复制一份压缩的Linux内核镜像,合并组件到仙人掌科技设备上,然后解压缩镜像文件到RAM。这个Linux典型安装应用需求将概述一般的操作步骤。
首先安装类型类似一个标准的Liunx安装。由于在可移除设备上,Linux允许执行多个分区,因此仙人掌科技的可移除(R)或者固定的(F)CF/PC卡ATA设备都能用于安装Linux。根据您的Linux安装步骤描述简介,对于Linux的安装,我们也建议如果可能,尽量不要使用多样的存储,这样可以延长仙人掌科技设备的寿命。
另外一个安装Linux到仙人掌科技闪存设备上的可替代的方法是,复制一份压缩的Linux镜像到设备上,然后在初始化BOOT过程中,解压缩镜像文件到RAM驱动器,并从RAM中运行整个Linux系统。这个方法与流行的"Live CD"概念是相同的,这不仅是仙人掌科技闪存设备的目的,这更适合当系统重启时,嵌入式系统的状态信息的持续性没有要求时。对仙人掌科技设备来说也减少了磨损,及当整个系统从系统记忆体运行时的快速执行时间。
除安装标准的嵌入式Linux分支外,执行一个定制的Linux内核,与在一个正在运行的Linux开发工作站合并系统,及传输系统到仙人掌科技设备,这些也是可能的。(http://www.linuxjournal.com/article/4551)这个网站有一些例子,怎样在记忆卡设备上设置一个简单的Linux HTTP服务器。类似步骤也适用于PC卡ATA,DOM与SSD设备。执行一个定制Linux内核的一般步骤,与在Linux开发工作站里的设置如下:
1. 在Linux开发工作站,在仙人掌科技设备上删除已存在的分区,并执行一个新的Linux(0x83)分区类型。根据Ext2fs或者Ext3fs格式化仙人掌科技设备,使用如下命令:
mkfs.ext2 /dev/hdb or
mkfs.ext3 /dev/hdb
使用实际本地的仙人掌科技设备替代hdb。
2. 使用mount t ext2/dev/hdb1/mnt/flash,执行一个挂载点进入仙人掌科技设备,
mnt/flash是本地实际的挂载点,并替代hdb1到实际本地的仙人掌科技设备。
3. 在仙人掌科技设备上使用如下命令列表,直接执行一个准Linux系统结构体。
在开发工作站使用实际的挂载点再次替换 /mnt/flash。
mkdir /mnt/flash/boot
mkdir /mnt/flash/bin
mkdir /mnt/flash/dev
mkdir /mnt/flash/dev/cciss
mkdir /mnt/flash/etc
mkdir /mnt/flash/lib
mkdir /mnt/flash/opt
mkdir /mnt/flash/proc
mkdir /mnt/flash/sbin
mkdir /mnt/flash/tmp
mkdir /mnt/flash/var
mkdir /mnt/flash/usr
mkdir /mnt/flash/usr/bin
mkdir /mnt/flash/usr/lib
mkdir /mnt/flash/etc/init.d
cd /mnt/flash/dev
/dev/MAKEDEV ttyS0
/dev/MAKEDEV had
/dev/MAKEDEV hde
/dev/MAKEDEV console
mknod psaux c 10 1
mknod console c 5 1
mknod /mnt/flash/dev/hda b 3 0
mknod /mnt/flash/dev/hdb b 3 64
mknod /mnt/flash/dev/hdc b 22 0
mknod /mnt/flash/dev/hdc b 22 64
4. 设置BusyBox能提供一套工具。下载最近的版本(http://www.busybox.net),
根据文档建立并安装到仙人掌科技设备上。
5. 将如下库文件与可执行文件复制到仙人掌科技设备上。
cp /sbin/grub /mnt/flash/sbin
cp /sbin/fdisk /mnt/flash/sbin
cp /sbin/mkfs.ext2 /mnt/flash/sbin
cp /lib/libcrypt.so.1 /
lib/libc.so.6 /lib/ldlinux.so.2/mnt/flash/lib/
cp /lib/libext2fs.so.2 /mnt/flash/lib/
cp /lib/libe2p.so.2 /mnt/flash/lib/
cp /lib/libcom_err.so.2 /mnt/flash/lib/
cp /lib/libuuid.so.1 /mnt/flash/lib/
cp vax /boot/* /mnt/flash/boot
6. 压缩的Linux内核镜像文件要么直接从工作站复制,要么从它定制的源代码内核编译。
关于配置及编译Linux内核请翻阅您的Linux文档。
7. 复制准备好的内核镜像从开发工作站到仙人掌科技设备。
cp arch/i386/boot/bzImage /
mnt/flash/boot/vmlinuz
cp System.map /mnt/flash/boot/
8. 在仙人掌科技设备上安装GRUB引导程序到BOOT,GRUB使用了对比标准Linux不同的命名习惯。优先级最高的驱动盘设置为hd0,第二优先级驱动盘设置为hd1等等。定义了分区的数量在逗号后的第二位,例如hd0,0是第一个硬盘驱动器的第一个分区。确定选择正确的驱动器与分区后开始安装GRUB。根据GRUB命令提示,在hd显示了选项清单后按下TAB键2次。
9. 使用如下命令安装GRUB MBR:
install /boot/grub/stage1 (hd1) /boot/grub/stage2(使用本地实际的仙人掌科技设备取代 hd1 )quit
卸载仙人掌科技设备并准备开始启动Linux。根据GRUB提示,输入如下命令到BOOT:
GRUB> root (hd0,0) (磁盘与本地分区)
GRUB> kernel /boot/vmlinuz
root=/dev/hda1 rw init=/bin/sh
GRUB> boot
04 操作系统部署向导
在单一设备上安装操作系统或许不是很困难,但是在批量生产时由于若干设备并行安装,重复这个步骤或许变得困难或者不可能。
准备批量镜像文件可以参考如下向导,并从仙人掌科技设备复制到其他仙人掌科技设备。
1. 从非仙人掌科技设备上执行的磁盘或者闪存卡镜像文件或许不能部署在仙人掌科技产品上,由于设备的工艺制程可能不同而影响BOOT功能。
2. 确保磁盘/闪存卡没有压缩的镜像文件的大小,比设备的剩余容量小,这样可以避免覆盖以前已经写入的数据。
3. 在批量镜像软件中打开数据校验选项,确保数据完整性。
05 支持信息
如果你希望了解一些本白皮书额外的相关数据控制信息。
我们希望本白皮书能帮助我们的客户能更好的理解,读者有更深入的问题,随时欢迎联系我们的销售部门.
邮箱:daniel.zhao@cactus-tech.cn
文章原创:工业级闪存专家仙人掌科技