1199536Smr#!/bin/sh 2199536Smr# 3199536Smr# $FreeBSD$ 4199536Smr# 5199536Smr 6199536Smr_run () { 7199536Smr case "$1" in 8199536Smr "alix_dsk") 9199536Smr ARG="-cpu pentium" 10199536Smr ARG="$ARG -hda /usr/obj/nanobsd.alix_dsk/_.disk.full -boot c" 11199536Smr ARG="$ARG -hdb /z/scratch/scratch" 12199536Smr ARG="$ARG -net nic,model=e1000" 13199536Smr ARG="$ARG -net tap,ifname=tap0,script=no,downscript=no" 14199536Smr ARG="$ARG -m 1024 -k de -localtime -nographic" 15199536Smr break 16199536Smr ;; 17199536Smr "alix_nfs") 18199536Smr ARG="-cpu pentium" 19199536Smr ARG="$ARG -hda /usr/obj/nanobsd.alix_nfs/_.disk.full -boot c" 20199536Smr ARG="$ARG -hdb /z/scratch/scratch" 21199536Smr ARG="$ARG -net nic,model=e1000" 22199536Smr ARG="$ARG -net tap,ifname=tap0,script=no,downscript=no" 23199536Smr ARG="$ARG -m 1024 -k de -localtime -nographic" 24199536Smr break 25199536Smr ;; 26199536Smr 27199536Smr esac 28199536Smr qemu-system-x86_64 -kernel-kqemu $ARG 29199536Smr} 30199536Smr 31199536Smr_init () { 32199536Smr kldstat -n kqemu || kldload kqemu 33199536Smr kldstat -n aio || kldload aio 34199536Smr kldstat -n if_tap || kldload if_tap 35199536Smr kldstat -n if_bridge || kldload if_bridge 36199536Smr sysctl net.link.tap.up_on_open=1 37199536Smr ifconfig bridge0 down destroy 38199536Smr ifconfig tap0 down destroy 39199536Smr ifconfig tap0 create up 40199536Smr ifconfig bridge0 create 41199536Smr ifconfig bridge0 addm nfe0 addm tap0 up 42199536Smr} 43199536Smr 44199536Smr_ifup () { 45199536Smr sleep 2; 46199536Smr ifconfig bridge0 -learn nfe0 47199536Smr ifconfig tap0 up 48199536Smr ifconfig bridge0 up 49199536Smr} 50199536Smr 51199536Smr_clear () { 52199536Smr ifconfig bridge0 down destroy 53199536Smr ifconfig tap0 down destroy 54199536Smr} 55199536Smr 56199536Smr_init 57199536Smr(_ifup) & 58199536Smr_run "$1" 59199536Smr_clear 60