X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=scripts%2Fqemustart;h=9ce03901aac2d5068542ec83670d2fcb5ee749b2;hb=c70545f397187b36c1220ae16b4db19f39857c93;hp=8daeac69a86d3db65f54d15bdae46f621ef3bbbf;hpb=647356a3d2c7f7694434482061ee66bd76601f3f;p=oweals%2Fopenwrt.git diff --git a/scripts/qemustart b/scripts/qemustart index 8daeac69a8..9ce03901aa 100755 --- a/scripts/qemustart +++ b/scripts/qemustart @@ -124,6 +124,11 @@ parse_args() { o_network= o_qemu_extra=() while [ "$#" -gt 0 ]; do + # Cmdline options for the script itself SHOULD try to be + # prefixed with two dashes to distinguish them from those for + # qemu executables. + # + # Also note that qemu accepts both --opt and -opt case "$1" in --kernel) o_kernel="$2"; shift 2 ;; --rootfs) o_rootfs="$2"; shift 2 ;; @@ -232,11 +237,9 @@ start_qemu_malta() { # one will be actually used as the wan, lan network interface inside the # guest machine [ -z "$o_network" ] || { - o_qemu_extra+=( \ - "-netdev" "bridge,id=wan,br=$BR_WAN,helper=$HELPER" "-device" \ - "virtio-net-pci,id=devwan,netdev=wan,mac=$MAC_WAN" \ - "-netdev" "bridge,id=lan,br=$BR_LAN,helper=$HELPER" \ - "-device" "virtio-net-pci,id=devlan,netdev=lan,mac=$MAC_LAN" \ + o_qemu_extra+=( + -netdev bridge,id=wan,br="$BR_WAN,helper=$HELPER" -device pcnet,netdev=wan,mac="$MAC_WAN" + -netdev bridge,id=lan,br="$BR_LAN,helper=$HELPER" -device pcnet,netdev=lan,mac="$MAC_LAN" ) } @@ -252,7 +255,7 @@ start_qemu_x86() { local mach="${o_mach:-pc}" [ -n "$rootfs" ] || { - rootfs="$o_bindir/openwrt-$o_target-${o_subtarget%-*}-combined-ext4.img" + rootfs="$o_bindir/openwrt-$o_target-${o_subtarget%-*}-generic-ext4-combined.img" if [ ! -f "$rootfs" -a -s "$rootfs.gz" ]; then gunzip "$rootfs.gz" fi @@ -279,12 +282,20 @@ start_qemu_x86() { } [ -z "$o_network" ] || { - o_qemu_extra+=( \ - "-netdev" "bridge,id=lan,br=$BR_LAN,helper=$HELPER" \ - "-device" "virtio-net-pci,id=devlan,netdev=lan,mac=$MAC_LAN" \ - "-netdev" "bridge,id=wan,br=$BR_WAN,helper=$HELPER" "-device" \ - "virtio-net-pci,id=devwan,netdev=wan,mac=$MAC_WAN" \ - ) + case "${o_subtarget%-*}" in + legacy) + o_qemu_extra+=( + -netdev "bridge,id=lan,br=$BR_LAN,helper=$HELPER" -device "e1000,id=devlan,netdev=lan,mac=$MAC_LAN" + -netdev "bridge,id=wan,br=$BR_WAN,helper=$HELPER" -device "e1000,id=devwan,netdev=wan,mac=$MAC_WAN" + ) + ;; + generic|64) + o_qemu_extra+=( + -netdev "bridge,id=lan,br=$BR_LAN,helper=$HELPER" -device "virtio-net-pci,id=devlan,netdev=lan,mac=$MAC_LAN" + -netdev "bridge,id=wan,br=$BR_WAN,helper=$HELPER" -device "virtio-net-pci,id=devwan,netdev=wan,mac=$MAC_WAN" + ) + ;; + esac } case "${o_subtarget%-*}" in