CF卡在嵌入式工控领域越来越多的被应用,如何在CF卡上构建嵌入式linux是开发中一个基础但非常重要的过程!本文介绍在CF卡上建立用于PC104板卡上的根文件系统,着重介绍了针对CF卡的操作,至于具体文件系统的制作,网上教程很多,就不具体罗列了。1. 将CF卡用读卡器插入PC机;
2. fdisk -l
该命令会列出所有磁盘及其分区,找到CF卡相对应的盘符,
如"/dev/sdb1"。
3. fdisk /dev/sdb
执行该命令后即可对CF卡分区了,键入"d"即为删除分区,
键入"n"即为新建一个分区,注意,在创建分区后要键
入"w"才会将分区情况保存下来,否则此次分区不会对
CF卡起作用,最后键入"q"退出。(假设现在我们删除了
所有分区,然后创建了一个分区)。
4. fdisk -l
查看一下创建的分区名称(这里假设上一步创建的分区为/dev/sdb1)。
4. mkfs.ext2 /dev/sdb1
该命令将/dev/sdb1分区格式化为ext2文件系统类型。
6. mkdir /mnt/cf
mount /dev/sdb1 /mnt/cf
上面mount命令执行后,进入CF卡的目录了,就可以制作具体的文件系统了。但是要制作一个能从CF卡启动的linux系统还要安装引导装载程序,这个在下篇里介绍。
上一篇文章简单介绍了如何针对linux在CF卡上分区、格式化并制作文件系统,现在介绍一下在CF卡上安装grub的步骤。针对linux有很多不同的引导装载程序,如针对X86处理器的grub和lilo,针对ARM处理器系列的uboot,以及vivi等等。其中uboot支持的处理器架构比较多,功能强大,但是移植过程也比较繁琐,因为要针对具体的硬件以及需求进行移植。而grub与lilo的安装移植比较简单,只需几个命令,针对上一篇文章介绍的PC104板卡是X86架构的,因此本文介绍一下grub在CF卡上的安装。在CF卡上安装引导装载程序grub的步骤(以grub-0.97为例):
准备工作:下载grub源码grub-0.97.tar.gz,放入/usr/local/src/目录中。
1. cd /usr/local/src
2. tar zxvf grub-0.97.tar.gz
3. cd grub-0.97
4. ./configure
5. make
6. make install
7. 上一步完成后会在/usr/local/lib目录下生成一个grub的目录(也有可能
在其他的目录,取决于相关的环境变量),将生成的grub目录中的所有文
件复制到CF卡上的boot/grub/中,另外把/usr/local/src/grub-0.97/grub/
中的可执行文件grub复制到CF卡的boot/grub中,然后进入CF卡的boot/grub,
执行命令"./grub",出现grub的命令行,输入"find /boot/grub/stage1",
会有一行输出如"root (hd1,0)",接着输入"root (hd1,0)",回车后输
"setup (hd1)",若出现了success相关输出,即表示在CF卡上成功安装了
引导装载程序grub!
8. 在grub命令行下输入"quit"。
9. ln -s grub.conf menu.lst这样,grub就以及安装完毕了,接着编辑CF卡上相关目录中的grub.conf文件,具体grub.conf的内容网上教程很多,不具体列出来。在成功移植linux内核、文件系统并编写相应的启动初始化脚本后,将CF卡插入PC104板卡的CF卡插槽,上电启动,即可启动完全属于你的嵌入式linux了。