在CF卡上建立文件系统和安装引导加载程序
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了。
转载于:https://blog.51cto.com/6386296/1241661
在CF卡上建立文件系统和安装引导加载程序相关推荐
- 【技术分享】如何解锁高通骁龙660上的安卓引导加载程序
本文是我们在DEF CON 29大会上的演示视频的配套文章,视频的链接地址为https://www.youtube.com/watch?v=z4gIxdFfJDg. 要想在安卓手机上获得root权限, ...
- 安装Keil537加载程序并编译后
安装Keil5.37版本,加载程序,编译时终止,出现错误: *** Target 'Target 1' uses ARM-Compiler 'Default Compiler Version 5' w ...
- [原创] 利用busybox, extlinux 在工控机CompactFlash(CF卡)上构建Linux系统(上)
上篇:CF卡分区, extlinux的安装 中篇:构建根文件系统 下篇:2.6内核剪裁及Busybox编译配置及其分析 硬件平台:研华3355 软件:busybox-1.13.3, extlinux ...
- 在CF卡上实现TrueFFS
CF卡是一种基于Flash技术的容量大.携带方便的存储介质,已在嵌入式系统等领域得到广泛的应用:但是,有限的擦写次数极大地限制了CF卡的使用寿命.TrueFFS通过一系列算法,能够延长CF卡的使用寿命 ...
- 基于ATmega32的SD卡上FAT32文件系统数据读取
SD卡(secure digital memory card,安全数码卡)是一种基于半导体快闪记忆器的新一代记忆设备,它被广泛地于便携式装置上使用,例如数码相机.个人数码助理(PDA)和多媒体播放器等 ...
- win7双系统安装openSUSE13.2解决【引导加载器安装期间出错】问题
原始日期:2015-08-17 14:16 昨晚不知道哪根筋不对,突然想装一个liunx系统,与win7形成双系统,最终选定openSUSE13.2,想想以前也安装过Ubuntu,应该差不多,所以直接 ...
- 唯一插件化Replugin源码及原理深度剖析--插件的安装、加载原理
上一篇 唯一插件化Replugin源码及原理深度剖析–唯一Hook点原理 在Replugin的初始化过程中,我将他们分成了比较重要3个模块,整体框架的初始化.hook系统ClassLoader.插件的 ...
- 愉快的舞会c++_如何在5分钟内建立一个令人愉快的加载屏幕
愉快的舞会c++ First, here is what we will build. Set your timer! 首先,这是我们将要建立的. 设置您的计时器! Does this look fa ...
- 安装win7和centos6.7双系统 引导加载安装位置问题
我在安装win7和centos6.7双系统时,根据网上的教程选择的是把引导加载安装到了centos系统的根分区中了,没有分boot分区,这样时无法启动centos的,所以在win7中安装easybcd ...
最新文章
- 利用mysql建立随机森林_随机森林算法实例 - osc_4imme0wh的个人空间 - OSCHINA - 中文开源技术交流社区...
- 16岁自闭少年被指黑掉英伟达微软,曾赚1400万美元,英国警方逮捕7人
- hello world 简单内核模块
- ubuntu 系统中如何截图
- java调接口传值_关于调用第三方接口时传递参数是File类型的解决方式
- php ip2long mysql,PHP基于ip2long实现IP转换整形
- java程序样例_一个完整的java程序示例
- python做视频抽帧图_python-opencv-视频截取帧图片
- 进程管理工具(Supervisor)笔记
- MyBatis动态SQL的List传值错误
- Transact-SQL 存储过程(c#调用执行)
- python爬虫怎么保存图片_使用Python爬虫怎么将网页图片保存到本地
- 19|雨季来临,聊些轻松的吧
- “注释”是程序员的自我修养
- Substance Painter里 AO贴图 烘焙黑图 原因
- SpringBoot2+Netty+WebSocket(netty实现websocket,支持URL参数)
- doraemon的python 网络基础、进程和操作系统发展史
- vcpkg + cmake + vscode 配置教程
- CentOS-6.3-i386-bin-DVD1下载地址
- 《乔布斯传》经典摘录(一)
热门文章
- 《深入理解Java虚拟机》第5章 调优案例分析与实战
- python django博客源码_利用Django实现一个博客(附全部源码)
- linux 增加maven内存,Ubuntu Linux系统下Apache Maven的安装和配置
- PHP中的方形按钮怎么敲,php 魔术方法使用说明
- 带背景音乐的表白html,感人的表白背景音乐,适合浪漫表白的纯音乐
- code函数oracle列子,Oracle Pivot函数语法详解及应用实例
- 植物病理学分类的高效网络体系结构的半监督噪声学生预训练
- aes256 php,如何在PHP中进行AES256解密?
- 阿里云运行python项目_荐个人博客开发-06:Nginx + uWSGI + Django项目部署到阿里云服务器运行...
- java表格模糊查询_使用java图形报表时,如何进行模糊查询