ubuntu 12.04 create a vmdk with boot

#!/bin/sh
echo dd
rm -f 1.raw
rm -f 2.vmdk
dd if=/dev/zero of=1.raw bs=1024 count=`expr 6000 \* 1024` || exit "dd error!"
parted 1.raw mklabel msdos || exit
parted 1.raw mkpart primary ext2 1 500M || exit
parted 1.raw mkpart primary ext2 500M 100% || exit
parted 1.raw set 1 boot on || exit

kpartx -a -v 1.raw || exit
sleep 2
losetup /dev/loop1 /dev/mapper/loop0p1 || exit
sleep 2
mkfs.ext2 /dev/loop1 || exit
sleep 2
mount /dev/loop1 ./1 || exit

mkdir -p ./1/boot/grub
cat > ./1/boot/grub/device.map <<EOF
(hd0)   /dev/loop0
EOF

sleep 2

cat > ./1/boot/grub/grub.cfg <<EOF
set default=0
set timeout=10

menuentry "1" {
    set root="hd0,msdos1"
    linux /boot/bzImage root=/dev/sda2 rw
}
EOF

echo "copy boot"
cd ./1/boot/grub/ && ln -sf grub.cfg menu.lst && cd ../../../ || exit "error"
echo "copy boot end"

grub-install --no-floppy --grub-mkdevicemap=./1/boot/grub/device.map --root-directory=./1 --modules="biosdisk part_msdos ext2 configfile normal multiboot" /dev/loop0 || exit

mount wrlinux-image-glibc-std-intel-xeon-core.ext3 ./2 || exit
sleep 2
 
cd 2/boot && cp * ../../1/boot && cd ../../ || exit
cd 1/boot && ln -sf bzImage_standard bzImage && ls -l && cd ../../

echo "loop3"
losetup /dev/loop3 /dev/mapper/loop0p2 || exit
mkfs.ext2 /dev/loop3 || exit
mount /dev/loop3 ./3 || exit

echo "copy rootfs"
cp -Rf ./2/* ./3 || exit
echo "copy rootfs end"
#grub-install --no-floppy --grub-mkdevicemap=./1/boot/grub/device.map --root-directory=./1 --modules="biosdisk part_msdos ext2 configfile normal multiboot" /dev/loop0 || exit

umount ./1
sleep 2
umount ./2
sleep 2
umount ./3
sleep 2
losetup -d /dev/loop1
sleep 2
losetup -d /dev/loop3
sleep 2
kpartx -d 1.raw

echo "convert from raw to vmdk"
qemu-img convert -O vmdk 1.raw 2.vmdk

echo "test qemu"
qemu-system-x86_64 -drive file=./2.vmdk -net nic,model=e1000 -net use
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mounter625

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值