如何制作嵌入式Linux虚拟机
2016-12-05 17:10
573 查看
简介
本文介绍如何在ESXi虚拟化平台下,利用内核文件(bzImage)和内存文件(initrd.img)制作嵌入式Linux虚拟机模板。虚拟机创建
可以通过vSphere Client来创建一个Linux虚拟机,其中一些选项:1. Guest Operation System: Other Linux(32-bit)
2. Create a disk: 4GB Thin Provision
注:手工创建方法:
1. 通过vmkfstools创建虚拟磁盘
2. 通过vi编辑.vmx配置文件
3. vim-cmd solo/registervm注册虚拟机
创建分区和文件系统
将新创建的虚拟机磁盘添加到Ubuntu 9.04的虚拟机上,磁盘挂载在/dev/sdb上。用户创建时,将"/dev/sdb"修改相应的实际磁盘标识。1. 通过"fdisk /dev/sdb"创建分区。最终作者创建的分区情况如下,其中/dev/sdb1设置为启动分区:
Command (m for help): p Disk /dev/sdb: 4294 MB, 4294967296 bytes 255 heads, 63 sectors/track, 522 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0x94007daa Device Boot Start End Blocks Id System /dev/sdb1 * 1 9 72261 83 Linux /dev/sdb2 10 18 72292+ 83 Linux /dev/sdb3 19 27 72292+ 83 Linux /dev/sdb4 28 522 3976087+ 5 Extended /dev/sdb5 28 487 3694918+ 83 Linux /dev/sdb6 488 522 281106 83 Linux2. 初始化文件系统
通过mkfs.ext4将相应的分区格式为ext4文件系统,如:
root@sv-changeme-desktop:/home/infinera# mkfs.ext4 /dev/sdb1 mke2fs 1.41.4 (27-Jan-2009) Filesystem label= OS type: Linux Block size=1024 (log=0) Fragment size=1024 (log=0) 18072 inodes, 72260 blocks 3613 blocks (5.00%) reserved for the super user First data block=1 Maximum filesystem blocks=67371008 9 block groups 8192 blocks per group, 8192 fragments per group 2008 inodes per group Superblock backups stored on blocks: 8193, 24577, 40961, 57345 Writing inode tables: done Creating journal (4096 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 25 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. root@sv-changeme-desktop:/home/infinera#
安装和配置GRUB
作者使用的GRUB版本为1.99,具体如何编译安装grub,见参考资料。1. 安装GRUB
将启动分区/dev/sdb1挂载到/home/bob/sdb/boot。通过grub-install安装GRUB。
root@sv-changeme-desktop:~# mount /dev/sdb1 /home/bob/sdb/boot root@sv-changeme-desktop:~# grub-install --no-floppy --root-directory=/home/bob/sdb/boot/ /dev/sdb Installation finished. No error reported.2. 配置GRUB
进入/home/bob/sdb/boot/grub目录,通过grub-mkconfig命令生成grub.cfg缺省配置文件。用户可以根据自己需要编辑grub.cfg,并将自己的bzImage和initrd.img文件拷贝到/home/bob/sdb/boot目录下。
root@sv-changeme-desktop:/home/bob/sdb/boot/grub# grub-mkconfig -o grub.cfg Generating grub.cfg ... cat: /boot/grub/video.lst: No such file or directory Found linux image: /boot/vmlinuz-2.6.28.9-custom Found initrd image: /boot/initrd.img-2.6.28.9-custom Found linux image: /boot/vmlinuz-2.6.28-11-generic Found initrd image: /boot/initrd.img-2.6.28-11-generic done
虚拟机上电
经过上面的步骤,Linux虚拟机创建完成(用户可以根据自己项目需要配置其它分区的内容)。后面就可以将虚拟机上电,测试Linux是否能够正常启动。参考资料
1. GRUB编译与安装相关文章推荐
- 如何制作嵌入式Linux文件系统
- 如何制作嵌入式Linux文件系统
- 如何制作嵌入式Linux文件系统
- 如何制作嵌入式Linux文件系统
- 如何制作嵌入式linux提供给第三方的开发包
- 如何制作嵌入式Linux文件系统
- 【嵌入式Linux学习七步曲之第一篇 Linux主机开发环境】虚拟机下Linux和windows的文件共享――共享方式
- 如何在嵌入式LINUX中增加自己的设备驱动程序
- 在linux下如何制作自己的动态连接库
- 用busybox制作嵌入式Linux的文件系统
- 如何在嵌入式Linux产品中做立体、覆盖产品生命期的调试 ( 4 )
- 如何在嵌入式Linux产品中做立体、覆盖产品生命期的调试 ( 3 )
- 如何在SBC-2410X上安装嵌入式Linux
- linux如何制作grub启动光盘
- Busybox制作嵌入式Linux的文件系统
- 用Busybox制作嵌入式Linux的文件系统
- linux嵌入式开发建立交叉编译环境(2.6内核)的制作
- 如何在嵌入式LINUX中添加设备驱动程序
- 如何在嵌入式Linux产品中做立体、覆盖产品生命期的调试 (5)
- 如何制作软盘Linux