VxWorks入门系列教程15:其他方式启动VxWorks

系列索引:VxWorks开发入门系列教程索引

上一篇:VxWorks入门系列教程14:启动时输出设备信息

本文介绍VxWorks的其他启动方式

GRUB2和SysLinux启动方式需要一个引导程序,这个引导程序引导容易的VxWorks镜像,可惜我有现成的引导程序,但是我不知道它是怎么被开发出来的。

GRUB2

1、准备一个U盘

2、准备一个Linux环境,PC、虚拟机都可以

我的是VMware 虚拟机环境,Ubuntu 21.04,GRUB 2.04

3、将U盘插入到linux系统中,新的操作系统会自动挂载

automount

4、在终端执行

1
grub-install --root-directory=/media/hyper/vxworks /dev/sdb

注意,/dev/sdb是U盘的设备号,不要带数字

U盘性能不同耗时也不同

可能报错

1
2
3
4
5
6
hyper@ubuntu:~/Desktop$ grub-install --root-directory=/media/hyper/F682-E2B6 /dev/sdb
Installing for i386-pc platform.
grub-install: warning: disk does not exist, so falling back to partition device /dev/sdb1.
grub-install: warning: disk does not exist, so falling back to partition device /dev/sdb1.
grub-install: warning: disk does not exist, so falling back to partition device /dev/sdb1.
grub-install: error: disk 'hostdisk//dev/sdb1' not found.

然后执行

1
sudo grub-install --root-directory=/media/hyper/F682-E2B6 /dev/sdb

如果还有问题,就把U盘格式化为FAT32格式。

完成之后,U盘会多一个/boot目录

install

5、将VxWorks复制到任何目录中,比如/image

vxworks

6、在/boot/grub/grub.cfg中添加

1
2
3
4
5
6
7
8
set default=0
set timeout=5
set root=(hd0,1)
serial --unit=0 --speed=9600
terminal console serial
menuentry "VxWorks 6.8.3"{
multiboot (hd0,1)/image
}

SysLinux

配置

首先从官网下载软件,我下载的是6.03版本。

解压后在syslinux-6.03/bios/文件夹下有官方编译的版本

files

在此,我们选用win32版。

win32

1、将U盘格式为FAT32

2、在U盘根目录建立/boot/syslinux文件夹

3、打开命令行,找到U盘目录,进入上面的syslinux目录,执行

1
>D:\syslinux-6.03\bios\win32\syslinux.exe --mbr --active --directory /boot/syslinux --install G:

G:为U盘盘符

4、在syslinux-*\bios文件夹下搜索以下文件

1
2
3
4
5
6
memdisk             引导IMG镜像文件
menu.c32 窗口模块
vesamenu.c32 窗口模块
chain.c32 指定分区(硬盘)启动
reboot.c32 重新启动计算机
poweroff.c32 关闭计算机

复制到boot/syslinux文件夹下,同时新建配置文件syslinux.cfg

boot files

使用

添加引导

1

U-boot

Uboot需要嵌入式设备,可惜我没有这个先空着。

下一篇:VxWorks入门系列教程16:编译新内核