RTEMS连载 (3) 启动镜像文件制作 (上)
2005-01-28 09:58
561 查看
作者 Ray
RTEMS版权所有,转载请注明:来源http://www.rtems.net,作者ray@rtems.net
摘要
本节介绍了如何制作软盘镜像文件,并且在镜像文件上面安装Grub,以测试编译好的RTEMS内核
为了测试编译好的镜像,我们可以在普通的 PC 机上面测试:
首先介绍如何编译 sample ,一般来说,生成系统库文件的时候就已经编译了 sample ,但是如果需要改动 smaple 或者自己写程序,需要设置下面的环境变量。(注意:下面很多命令需要root权限)
首先需要设置环境变量:
export RTEMS_MAKEFILE_PATH=<INSTALLATION_POINT>/<CPU>-rtems/<BOARD_SUPPORT_PACKAGE>
export RTEMS_MAKEFILE_PATH=/home/ray/embedded/rtems_build/i386-rtems/c/i386ex/make
然后编译需要测试的 sample
编译好的可执行文件将静态包含 rtems 的基本库,可以直接作为启动内核。
为了加载内核,还需要安装 grub
下面介绍如何使用 loop 设备制作启动的镜像。
#dd if=/dev/zero of=boot.img bs=1k count=1448
这个命令建立了一个软盘的镜像文件,大小为1.44M,然后将boot.img镜像文件和loop设备关联
#losetup /dev/loop0 boot.img
用ext2文件系统格式化镜像文件
mke2fs /dev/loop0
然后建立 ./fd0目录
#mount boot.img ./fd0 -o loop
将镜像文件 mount到/fd0目录下面 然后可以安装 grub了 首先下载 grub 0.95版本(可以使用已经编译好的i386二进制代码,也可用源代码包自己编译)。 产生的二进制文件中,要用到的是: stage1和stage2两个文件 安装的步骤将在下面介绍,最后安装完毕后使用下面的命令卸载 loop设备
#losetup -d /dev/loop0
#dd if=/dev/zero of=boot.flp bs=1k count=1448
#mdconfig -a -t vnode -f boot.flp -u 0
#bsdlabel -w md0 auto
#newfs md0c
#mount /dev/md0c /mnt
使用上面的命令对 /mnt目录的操作就相当于对镜像文件的操作
手动安装需要两个格式化好的软盘镜像文件, boot.img和rtems.img,第一个是grub的安装盘另外一个用存放rtems的文件系统。(实际上,用一个镜像文件也可以) 在第一个镜像文件中安装GRUB
# dd if= stage1 of= boot.img bs=512 count=1
# dd if= stage2 of= boot.img bs=512 seek=1
然后,将 stage1和stage2 这里 stage1 和 stage2是刚才生成的(或者下载的)i386 grub 制作 rtems.img的镜像文件:
# dd if=/dev/zero of=rtems.img bs=1k count=1448
# losetup /dev/loop0 rtems.img
# mke2fs /dev/loop0
把 stage1和stage2拷贝到rtems.img中, 然后使用制作好的第一张盘启动(VMWare的设置如下所示):
启动grub后进入命令行模式, 系统启动后有下面的界面显示:
然后使用 vmware断开软盘:如下图
然后,接下来更换软盘镜像为 rtems.img,重新选择镜像文件后,(菜单 VM -> Setting)再用vmware连接软盘(VM->Removable Devices->Floppy1 Connect) 然后使用然后使用下面的命令安装。
grub>install=(fd0)/stage1 (fd0) (fd0)/stage2 0x8000 (fd0)/grubmenu
这样就把 grub安装在镜像文件上了。 如果安装出现问题,一般会出现在软盘镜像文件的加载和设置上(镜像是否正确?是否断开? …… ) 然后将镜像文件加载到本地的 /fd0目录上面(注意,是自己建立的目录,不是/dev/fd0)
# mount rtems.img ./fd0 -o loop
所有工作做完后,最后卸载设备
# umount ./fd0
# losetup -d /dev/loop0
RTEMS版权所有,转载请注明:来源http://www.rtems.net,作者ray@rtems.net
摘要
本节介绍了如何制作软盘镜像文件,并且在镜像文件上面安装Grub,以测试编译好的RTEMS内核
为了测试编译好的镜像,我们可以在普通的 PC 机上面测试:
首先介绍如何编译 sample ,一般来说,生成系统库文件的时候就已经编译了 sample ,但是如果需要改动 smaple 或者自己写程序,需要设置下面的环境变量。(注意:下面很多命令需要root权限)
首先需要设置环境变量:
export RTEMS_MAKEFILE_PATH=<INSTALLATION_POINT>/<CPU>-rtems/<BOARD_SUPPORT_PACKAGE>
export RTEMS_MAKEFILE_PATH=/home/ray/embedded/rtems_build/i386-rtems/c/i386ex/make
然后编译需要测试的 sample
编译好的可执行文件将静态包含 rtems 的基本库,可以直接作为启动内核。
为了加载内核,还需要安装 grub
下面介绍如何使用 loop 设备制作启动的镜像。
Linux 平台:
首先产生空白的镜像文件:#dd if=/dev/zero of=boot.img bs=1k count=1448
这个命令建立了一个软盘的镜像文件,大小为1.44M,然后将boot.img镜像文件和loop设备关联
#losetup /dev/loop0 boot.img
用ext2文件系统格式化镜像文件
mke2fs /dev/loop0
然后建立 ./fd0目录
#mount boot.img ./fd0 -o loop
将镜像文件 mount到/fd0目录下面 然后可以安装 grub了 首先下载 grub 0.95版本(可以使用已经编译好的i386二进制代码,也可用源代码包自己编译)。 产生的二进制文件中,要用到的是: stage1和stage2两个文件 安装的步骤将在下面介绍,最后安装完毕后使用下面的命令卸载 loop设备
#losetup -d /dev/loop0
BSD 平台:
注意,在 BSD中使用mdconfig或者vnconfig制作镜像文件,例如:#dd if=/dev/zero of=boot.flp bs=1k count=1448
#mdconfig -a -t vnode -f boot.flp -u 0
#bsdlabel -w md0 auto
#newfs md0c
#mount /dev/md0c /mnt
使用上面的命令对 /mnt目录的操作就相当于对镜像文件的操作
grub 的安装
方法一:手动安装 grub
手动安装需要两个格式化好的软盘镜像文件, boot.img和rtems.img,第一个是grub的安装盘另外一个用存放rtems的文件系统。(实际上,用一个镜像文件也可以) 在第一个镜像文件中安装GRUB# dd if= stage1 of= boot.img bs=512 count=1
# dd if= stage2 of= boot.img bs=512 seek=1
然后,将 stage1和stage2 这里 stage1 和 stage2是刚才生成的(或者下载的)i386 grub 制作 rtems.img的镜像文件:
# dd if=/dev/zero of=rtems.img bs=1k count=1448
# losetup /dev/loop0 rtems.img
# mke2fs /dev/loop0
把 stage1和stage2拷贝到rtems.img中, 然后使用制作好的第一张盘启动(VMWare的设置如下所示):
启动grub后进入命令行模式, 系统启动后有下面的界面显示:
然后使用 vmware断开软盘:如下图
然后,接下来更换软盘镜像为 rtems.img,重新选择镜像文件后,(菜单 VM -> Setting)再用vmware连接软盘(VM->Removable Devices->Floppy1 Connect) 然后使用然后使用下面的命令安装。
grub>install=(fd0)/stage1 (fd0) (fd0)/stage2 0x8000 (fd0)/grubmenu
这样就把 grub安装在镜像文件上了。 如果安装出现问题,一般会出现在软盘镜像文件的加载和设置上(镜像是否正确?是否断开? …… ) 然后将镜像文件加载到本地的 /fd0目录上面(注意,是自己建立的目录,不是/dev/fd0)
# mount rtems.img ./fd0 -o loop
所有工作做完后,最后卸载设备
# umount ./fd0
# losetup -d /dev/loop0
相关文章推荐
- RTEMS连载 (3) 启动镜像文件制作 (下)
- linux启动镜像文件(*.img)的制作
- squashfs─sfs镜像文件制作方法简要介绍
- Gphone文件系统镜像的制作以及刷机原理
- java启动文件的制作
- UBIFS文件系统简介 与 利用mkfs.ubifs和ubinize两个工具制作UBI镜像 .
- 实战DeviceIoControl 之三:制作磁盘镜像文件
- UBIFS文件系统简介 与 利用mkfs.ubifs和ubinize两个工具制作UBI镜像
- linux系统光盘镜像文件制作方法
- linux 产品发布--根文件系统镜像制作
- UltraISO镜像文件の制作
- Docker下的Kafka学习之一:制作集群用的镜像文件
- 【制作镜像Win*】文件准备
- 制作适合自己的linux系统镜像文件
- [转]如何制作tizen镜像文件(图文教程)?
- 用Nero刻录ISO镜像制作启动光盘
- linux 下制作可启动 img/iso 文件的方法
- 制作SD卡启动文件系统
- Linux下制作grub启动U盘,引导ubuntu LiveCD(或其他镜像)
- linux下制作软盘镜像文件