嵌入式linux 用虚拟机,如何制作嵌入式Linux虚拟机
简介
本文介绍如何在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系统启动流程(4)制作自定义linux之一
Linux系统启动流程(4)制作自定义linux之一 平时使用的服务器类型的linux系统一般都会装载各种软件与服务,而在某些情况下,并不能一直直接使用公司管理的系统,一是可能会出现故障,二是在处理一 ...
- 嵌入式 linux ramdisk 保存文件,制作嵌入式linux文件系统(ramdisk,cramfs,squashfs)...
一.什么是文件系统 (Filesystem): A directory structure contained within a disk drive or disk area. The total ...
- 制作arch linux安装u盘,制作 Arch Linux 内存系统启动盘
之前尝试过Arch Linux in RAM 完全运行在内存中的轻量业务系统,最近在维护一些物理服务器看到没有安装系统的服务器不断重启,想到了可以制作类似的内存系统启动盘,以高效完成系统测试.安装.远 ...
- 制作嵌入式Linux根文件系统
文章目录 1. 根文件系统布局 2. 使用BusyBox生成二进制工具 2-1. 获取BusyBox源码 2-2. 配置BusyBox 2-2-1. 选择编译静态库 2-2-2. 选择交叉编译工具链 ...
- arm linux rcs文件分析,详细解析:如何制作嵌入式Linux文件系统【转载】
一.什么是文件系统 (Filesystem) A directory structure contained within a disk drive or disk area. The total a ...
- 嵌入式linux rootfs,【转】制作 嵌入式 linux 根文件系统 rootfs
一.什么是文件系统 (Filesystem) 文件系统是包括在一个磁盘(包括光盘.软盘.闪盘及其它存储设备)或分区的目录结构:一个可应用的磁盘设备可以包含一个或多个文件系统:如果您想进入一个文件系统, ...
- RedHat 系列 Linux 安装后,建立嵌入式开发环境
RedHat 系列 Linux 安装后,建立嵌入式开发环境 from:https://segmentfault.com/a/1190000005881355 做开发的时候,经常为了某系列的项目,专门就 ...
- Ubuntu Linux 安装后,建立嵌入式开发环境
Ubuntu Linux 安装后,建立嵌入式开发环境 from:http://xfenglin.com/a/12001485885.html 浏览: 10 发布日期: 2016-08-17 分类: u ...
- pc安装linux内核,PC/104平台嵌入式Linux系统核心定制方法
摘 要:基于PC/104平台的嵌入式Linux技术在海洋自动观测系统中具有广泛的应用前景,Linux核心定制方法的研究是嵌入式Linux系统研制的关键工作.本文结合PC/104平台嵌入式Linux系统 ...
最新文章
- 中安消布局东三省智慧城市市场
- 一起探讨NLP的边界和未来,学术界与工业界在“语言与智能高峰论坛”上擦出火花...
- leetcode 235. 二叉搜索树的最近公共祖先
- php中post,php中post的用法是什么
- php for linux配置文件,linux配置php运行环境
- [Reinforcement Learning] 动态规划(Planning)
- java解压zip和rar文件
- 3.取色精灵V2.0-非模态对话框自建消息队列、VS2008风格对话框、使用Common Controls、悬浮透明窗口、使用SLIDER控件
- 高薪利器:四大热门云计算认证推荐
- 素质的冰山模型,成就动机 笔记
- 工厂食堂3D指纹考勤系统解决方案
- WY-2000B空气质量检测系统
- 【工程应用】用Redis存储特征
- REW声学测试(六):信号与测量
- MySQL的计算时间差
- [转]基于SNMP的MIB库访问实现的研究
- my.宝石 --- --- ZC 收集
- 他山之石 | 预训练模型在华为推荐中的应用与探索
- git——合并时的冲突解决
- ArcGIS中样式管理器中的各种样式(指南针样式,色带样式等等)丢失,显示为空白的解决方案