direct.sh 738 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #!/bin/sh
  2. vmname=test
  3. memorystamp=2048M
  4. # create a tap interface
  5. # ifconfig tap1 create
  6. # add to bridge
  7. # ifconfig bridge0 addm tap1
  8. # kill (if any)
  9. bhyvectl --vm=${vmname} --destroy
  10. list_sda () {
  11. hddisk="./"`ls -1 -t direct*.sda | head -1`
  12. }
  13. hddisk=${1}
  14. [ -z ${hddisk} ] && list_sda
  15. echo "building map file for grub"
  16. echo "(hd0) "${hddisk} > direct.map
  17. grub-bhyve -m direct.map -r hd0,msdos1 -M ${memorystamp} ${vmname}
  18. # at prompt, type
  19. # linux (hd0,msdos1)/vmlinuz root=/dev/vda2
  20. # boot
  21. echo "starting linux on root=" ${hddisk}
  22. bhyve -A -H -P -s 0:0,hostbridge \
  23. -s 1:0,lpc \
  24. -s 2:0,virtio-net,tap1 \
  25. -s 3:0,virtio-blk,${hddisk} \
  26. -l com1,stdio \
  27. -c 2 -m ${memorystamp} ${vmname}
  28. bhyvectl --vm=${vmname} --destroy