1. 在KVM x86_64虚拟机上安装ONIE
1.1. 交叉编译ONIE
使用命令获取源码(需要先安装git)
git clone https://github.com/opencomputeproject/onie.gitss
切换目录到build-config,使用如下命令进行编译:
$ cd build-config
$ make -j4 MACHINE=kvm_x86_64 all recovery-iso
一旦编译完成,ONIE二进制映象位于build/image目录中:
-rw-r--r-- 1 3963992 Jan 30 16:38 kvm_x86_64-r0.initrd
-rw-r--r-- 1 3091328 Jan 30 10:58 kvm_x86_64-r0.vmlinuz
-rw-r--r-- 1 7067253 Jan 30 16:38 onie-updater-x86_64-kvm_x86_64-r0
-rw-r--r-- 1 17825792 Apr 25 09:56 onie-recovery-x86_64-kvm_x86_64-r0.iso
其中:
- kvm_x86_64-r0.vmlinuz – 这是ONIE内核映象
- kvm_x86_64-r0.initrd – 这是ONIE initramfs(文件系统)
- onie-updater-x86_64-kvm_x86_64-r0 – 这是ONIE自更新映象。此映象是用于安装ONIE的自解压存档。
- onie-recovery-x86_64-kvm_x86_64-r0.iso – 这是一个可以作为CDROM映象安装的恢复ISO映象。
1.2. 使用ISO映象创建一个新的x86_64虚拟机
ISO映象可以与Legacy BIOS或UEFI固件机器一起使用。
为了使用UEFI固件启动qemu,您需要从UEFI下载OVMF固件。
创建VM:
- 创建一个1GB的空白磁盘映象作为虚拟机的硬盘。将文件命名为onie-x86-demo.img,并放在您的主目录中
$ qemu-img create -f qcow2 onie-x86-demo.img 1G
-
编辑mk-vm.sh:
- 设置DISK变量指向你在第一步中创建的硬盘如
$ DISK="/home/skunlin/onie-x86-demo.img"
- 设置CDROM变量指向ISO映象,如
$ CDROM="/home/skunlin/onie-kvm/onie-recovery-x86_64-kvm_x86_64-r0.iso"
- 设置mode变量为cdrom,这将启动上面设置的iso映象
- 对于UEFI固件启动方式:
- 设置OVMF变量指向OVFM.fd固件路径
- 设置firmware变量为uefi
- 设置DISK变量指向你在第一步中创建的硬盘如
运行mk-vm.sh
-
在grub引导菜单中选择“embed”用于安装ONIE到VM硬盘上。
-
当安装完成时,杀死kvm进程,重新修改mk-vm.sh,将mode设置为“disk”,直接从硬盘启动。
-
安装OS之后,就一直处于发现阶段,直到发现NOS安装包