...
| Code Block | ||
|---|---|---|
| ||
# Copy the QCOW2 image and u-boot.bin from the deploy directory cp $HOME/rdkb-cmf-arm/build-armefi64-rdk-broadband/tmp/deploy/images/armefi64-rdk-broadband/{rdk-generic-broadband-image-armefi64-rdk-broadband.wic.qcow2,u-boot.bin} . # It can be helpful to create a snapshot to quickly revert # any changes that are made qemu-img create -f qcow2 -b rdk-generic-broadband-image-armefi64-rdk-broadband.wic.qcow2 -F qcow2 rdk.snapshot.qcow2 # And resize that snapshot to allow space for upgrades qemu-img resize rdk.snapshot.qcow2 10G DISK=${DISK:-rdk.snapshot.qcow2} sudo qemu-system-aarch64 -nographic \ -cpu cortex-a53 -machine virt \ -bios u-boot.bin \ -smp 2 -m 1024 \ -device virtio-rng-pci \ -hda "${DISK}" \ -netdev tap,id=testlan -net nic,netdev=testlan \ -netdev tap,id=testlan2 -net nic,netdev=testlan2 \ -netdev user,id=testwan -net nic,netdev=testwan \ -device pci-serial #using bridge manager: # ensure /usr/local/libexec/qemu-bridge-helper is present and executable # provide /usr/local/etc/qemu/bridge.conf: # allow br10 # allow br100 Create a fresh virtual switch wan feed and LAN clients sudo ip link add name br-wan-test type bridge sudo ip link add name br-lan-test type bridge # Assign both an IPv4 address sudo ip addr add <VIRTUAL_WAN_IP>/24 dev br-wan-test # ex: sudo ip addr add 192.168.50.1/24 dev br-wan-test sudo ip addr add 10.0.0.254/24 dev br-lan-test # Turn on the virtual switch sudo ip link set br-wan-test up sudo ip link set br-lan-test up #If you are using USB-to-Ethernet adapter to connect LAN clinets #check interfae name bu using ip link ex; enx000e0987b9ec sudo ip addr flush dev <interface_name> # Physically link your USB adapter into LAN virtual switch sudo ip link set <interface_name> master br-lan-test sudo ip link set <interface_name> up sudo mkdir -p /etc/qemu echo -e "allow br-wan-test\nallow br-lan-test" | sudo tee /etc/qemu/bridge.conf > /dev/null sudo chmod 4755 /usr/lib/qemu/qemu-bridge-helper #Enable Host Routing, NAT sudo sysctl -w net.ipv4.ip_forward=1 sudo iptables -t nat -F sudo iptables -t nat -A POSTROUTING -o <your_host_internet_card> -j MASQUERADE sudo iptables -F FORWARD sudo iptables -A FORWARD -j ACCEPT # Start Virtual WAN DHCP Engine sudo dnsmasq --interface=br-wan-test \ --dhcp-range=<START_IP>,<END_IP>,<SUBNET_MASK>,12h \ --dhcp-option=option:router,<GATEWAY_IP> \ --dhcp-option=option:dns-server,8.8.8.8 \ --port=0 & ex: sudo dnsmasq --interface=br-wan-test \ --dhcp-range=192.168.50.10,192.168.50.50,255.255.255.0,12h \ --dhcp-option=option:router,192.168.50.1 \ --dhcp-option=option:dns-server,8.8.8.8 \ --port=0 & # It can be helpful to create a snapshot to quickly revert # any changes that are made qemu-img create -f qcow2 -b rdk-generic-broadband-image-armefi64-rdk-broadband.wic.qcow2 -F qcow2 rdk.snapshot.qcow2 # And resize that snapshot to allow space for upgrades qemu-img resize rdk.snapshot.qcow2 10G DISK=${DISK:-rdk.snapshot.qcow2} # Boot sudo qemu-system-aarch64 -nographic \ -cpu cortex-a53 -machine virt \ -bios u-boot.bin \ -smp 2 -m 1024 \ -device virtio-rng-pci \ -hda "${DISK}" \ -netdev bridge,id=testwan,br=br10br-wan-test \ -device virtio-net -pci,netdev=testwan,mac=52:54:00:2d:6e:99 \ -netdev bridge,id=testlan,br=br100br-lan-test \ -device virtio-net-pci,netdev=testlan,mac=52:54:00:2d:6e:98 \ -device pci-serial |
...