From 188382e04c9d7da68112d33f5cffb854e8956c5f Mon Sep 17 00:00:00 2001 From: Pablo Castellano Date: Sun, 3 Sep 2017 16:01:21 +0200 Subject: [PATCH] qemu: improve networking (#482) * qemu: network improvements (fixes #433) - Use hostfwd instead of -redir, which is deprecated - qemu devices: add interfaces configuration and virtio_net module - redirect telnet ports 23 and 24 (debug) * Added 'interfaces' files * qemu: added aarch64 network device * qemu: use default_ip --- aports/device/device-qemu-aarch64/APKBUILD | 9 +- aports/device/device-qemu-aarch64/deviceinfo | 2 +- aports/device/device-qemu-aarch64/interfaces | 5 + aports/device/device-qemu-vexpress/APKBUILD | 9 +- aports/device/device-qemu-vexpress/interfaces | 5 + aports/main/linux-postmarketos/APKBUILD | 2 +- .../config-postmarketos.aarch64 | 121 ++---------------- pmb/qemu/run.py | 24 +++- 8 files changed, 54 insertions(+), 123 deletions(-) create mode 100644 aports/device/device-qemu-aarch64/interfaces create mode 100644 aports/device/device-qemu-vexpress/interfaces diff --git a/aports/device/device-qemu-aarch64/APKBUILD b/aports/device/device-qemu-aarch64/APKBUILD index ec5625ca..dc363e89 100644 --- a/aports/device/device-qemu-aarch64/APKBUILD +++ b/aports/device/device-qemu-aarch64/APKBUILD @@ -1,6 +1,6 @@ pkgname=device-qemu-aarch64 pkgver=1 -pkgrel=1 +pkgrel=2 pkgdesc="Simulated device in qemu with vexpress soc" url="https://github.com/postmarketOS" arch="noarch" @@ -8,7 +8,7 @@ license="MIT" depends="linux-postmarketos" makedepends="" subpackages="" -source="deviceinfo" +source="deviceinfo interfaces" options="!check" build() { @@ -18,6 +18,9 @@ build() { package() { install -D -m644 "$srcdir"/deviceinfo \ "$pkgdir"/etc/deviceinfo + install -D -m644 "$srcdir"/interfaces \ + "$pkgdir"/etc/network/interfaces } -sha512sums="8df46383685a40a96b7c604c29d413ecdd4b4a9b92cb61f452283042f189b1ca01cb70632fec0711dd67229e0501729762c6841359ac7ea455f516b512abce9c deviceinfo" +sha512sums="56362f2482e94349c8ba821245dfbdec6e6ebc0ed47786ae333791faa8840fe6ef8d5a2f44b599dcfcbba499ed275546ebc2540428765e6eba2f146ba46795f5 deviceinfo +d510ca304066840aa5e6c4fc71ded1b7e83012c93837fa39e37bdb873b3636230030d56f7aa50c93fc688f563cb4cb96c02ad333bbc45a400c1ebee1792a9dd4 interfaces" diff --git a/aports/device/device-qemu-aarch64/deviceinfo b/aports/device/device-qemu-aarch64/deviceinfo index 6548b54a..55c657b0 100644 --- a/aports/device/device-qemu-aarch64/deviceinfo +++ b/aports/device/device-qemu-aarch64/deviceinfo @@ -8,7 +8,7 @@ deviceinfo_date="" deviceinfo_keyboard="true" deviceinfo_nonfree="????" deviceinfo_dtb="" -deviceinfo_modules_initfs="virtio-gpu" +deviceinfo_modules_initfs="virtio-gpu virtio_net" deviceinfo_external_disk="true" deviceinfo_external_disk_install="true" deviceinfo_flash_methods="none" diff --git a/aports/device/device-qemu-aarch64/interfaces b/aports/device/device-qemu-aarch64/interfaces new file mode 100644 index 00000000..104c1a1b --- /dev/null +++ b/aports/device/device-qemu-aarch64/interfaces @@ -0,0 +1,5 @@ +auto lo +iface lo inet loopback + +auto eth0 +iface eth0 inet dhcp diff --git a/aports/device/device-qemu-vexpress/APKBUILD b/aports/device/device-qemu-vexpress/APKBUILD index 31d2fd48..5b931d5e 100644 --- a/aports/device/device-qemu-vexpress/APKBUILD +++ b/aports/device/device-qemu-vexpress/APKBUILD @@ -1,6 +1,6 @@ pkgname=device-qemu-vexpress pkgver=1 -pkgrel=8 +pkgrel=9 pkgdesc="Simulated device in qemu with vexpress soc" url="https://github.com/postmarketOS" arch="noarch" @@ -8,7 +8,7 @@ license="MIT" depends="linux-postmarketos" makedepends="" subpackages="" -source="deviceinfo" +source="deviceinfo interfaces" options="!check" build() { @@ -18,6 +18,9 @@ build() { package() { install -D -m644 "$srcdir"/deviceinfo \ "$pkgdir"/etc/deviceinfo + install -D -m644 "$srcdir"/interfaces \ + "$pkgdir"/etc/network/interfaces } -sha512sums="a18ab789c19d8802be6a9e9c842f4c304f267bd78f46b096b4ba6609430d1544e0a9eca9bc22db67a0728efae3aad6c2def9f7e64157d31aeb31b4bb839076d5 deviceinfo" +sha512sums="a18ab789c19d8802be6a9e9c842f4c304f267bd78f46b096b4ba6609430d1544e0a9eca9bc22db67a0728efae3aad6c2def9f7e64157d31aeb31b4bb839076d5 deviceinfo +d510ca304066840aa5e6c4fc71ded1b7e83012c93837fa39e37bdb873b3636230030d56f7aa50c93fc688f563cb4cb96c02ad333bbc45a400c1ebee1792a9dd4 interfaces" diff --git a/aports/device/device-qemu-vexpress/interfaces b/aports/device/device-qemu-vexpress/interfaces new file mode 100644 index 00000000..104c1a1b --- /dev/null +++ b/aports/device/device-qemu-vexpress/interfaces @@ -0,0 +1,5 @@ +auto lo +iface lo inet loopback + +auto eth0 +iface eth0 inet dhcp diff --git a/aports/main/linux-postmarketos/APKBUILD b/aports/main/linux-postmarketos/APKBUILD index 200bec97..52580e63 100644 --- a/aports/main/linux-postmarketos/APKBUILD +++ b/aports/main/linux-postmarketos/APKBUILD @@ -191,7 +191,7 @@ dev() { sha512sums="8e81b41b253e63233e92948941f44c6482acb52aa3a3fd172f03a38a86f2c35b2ad4fd407acd1bc3964673eba344fe104d3a03e3ff4bf9cd1f22bd44263bd728 linux-4.12.tar.xz 3f4435ce0cf227e4ba64aa7153c913370c53069e34a376e453786d601b5a73706a3f44b002fab1b10a72dc94e896c1d8fb462c2b78e62ed69c468d98aa7220da config-postmarketos.armhf -7a8f407fe7eec177deae1ecab923d97847e47fbdab646f0f6a21135eb228123c4f3c21cbcc8837506ea36d6f35ad8983daa43514c6da037459321ae7fa4efa00 config-postmarketos.aarch64 +d97c84ad303e2dc5cc65703ddf6f749c7ea005d4fc191a3d197b56ab81150499328665de1ccbd8c467e1409151a37a47a9efcb0588c2c759cf9498361b5134db config-postmarketos.aarch64 df0420c373bbc5d52957b504ce154c0a3ef062069da8a163e23aea455879b7c23a12ab518bfae5a6fd245204c2e9460edac6ef3e0d415740b921510e75f5b23b config-postmarketos.x86_64 17c48bb7b4218297bd2be6faa5b6570ce1560a33385237a9962c0884d782c9a722a25a30077b6721d2943a9b98c29dcad6adfef718b0163c559c19a79519319b 0001-rx51-drm-regression-workaround.patch 9463d9335c551376c7cdf45f4aa8f599d7783dbd4de62f87853e1c676f0a7e1a99b25909eac994676786e850137c90897a11c61d59e25674982132b888cfb1f1 patch-4.12.10.xz" diff --git a/aports/main/linux-postmarketos/config-postmarketos.aarch64 b/aports/main/linux-postmarketos/config-postmarketos.aarch64 index d76bcca0..a5e5041a 100644 --- a/aports/main/linux-postmarketos/config-postmarketos.aarch64 +++ b/aports/main/linux-postmarketos/config-postmarketos.aarch64 @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm64 4.12.4 Kernel Configuration +# Linux/arm64 4.12.10 Kernel Configuration # CONFIG_ARM64=y CONFIG_64BIT=y @@ -832,7 +832,6 @@ CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m # CONFIG_NETFILTER_XT_TARGET_HL is not set # CONFIG_NETFILTER_XT_TARGET_HMARK is not set # CONFIG_NETFILTER_XT_TARGET_IDLETIMER is not set -# CONFIG_NETFILTER_XT_TARGET_LED is not set CONFIG_NETFILTER_XT_TARGET_LOG=m # CONFIG_NETFILTER_XT_TARGET_MARK is not set CONFIG_NETFILTER_XT_NAT=m @@ -1025,7 +1024,6 @@ CONFIG_BT_BREDR=y CONFIG_BT_HIDP=m # CONFIG_BT_HS is not set # CONFIG_BT_LE is not set -CONFIG_BT_LEDS=y # CONFIG_BT_SELFTEST is not set # CONFIG_BT_DEBUGFS is not set @@ -1071,14 +1069,12 @@ CONFIG_MAC80211_RC_MINSTREL_HT=y CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" # CONFIG_MAC80211_MESH is not set -CONFIG_MAC80211_LEDS=y # CONFIG_MAC80211_DEBUGFS is not set # CONFIG_MAC80211_MESSAGE_TRACING is not set # CONFIG_MAC80211_DEBUG_MENU is not set CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 # CONFIG_WIMAX is not set CONFIG_RFKILL=m -CONFIG_RFKILL_LEDS=y CONFIG_RFKILL_INPUT=y # CONFIG_RFKILL_GPIO is not set CONFIG_NET_9P=y @@ -1617,7 +1613,7 @@ CONFIG_TUN=y CONFIG_TAP=m # CONFIG_TUN_VNET_CROSS_LE is not set CONFIG_VETH=m -CONFIG_VIRTIO_NET=y +CONFIG_VIRTIO_NET=m # CONFIG_NLMON is not set # CONFIG_ARCNET is not set @@ -1856,7 +1852,6 @@ CONFIG_MDIO_BUS_MUX_MMIOREG=y CONFIG_MDIO_XGENE=y CONFIG_PHYLIB=y CONFIG_SWPHY=y -# CONFIG_LED_TRIGGER_PHY is not set # # MII PHY device drivers @@ -2033,7 +2028,6 @@ CONFIG_XEN_NETDEV_FRONTEND=y # Input device support # CONFIG_INPUT=y -CONFIG_INPUT_LEDS=y # CONFIG_INPUT_FF_MEMLESS is not set CONFIG_INPUT_POLLDEV=m # CONFIG_INPUT_SPARSEKMAP is not set @@ -2063,7 +2057,6 @@ CONFIG_KEYBOARD_GPIO=y # CONFIG_KEYBOARD_TCA6416 is not set # CONFIG_KEYBOARD_TCA8418 is not set # CONFIG_KEYBOARD_MATRIX is not set -# CONFIG_KEYBOARD_LM8323 is not set # CONFIG_KEYBOARD_LM8333 is not set # CONFIG_KEYBOARD_MAX7359 is not set # CONFIG_KEYBOARD_MCS is not set @@ -2077,7 +2070,6 @@ CONFIG_KEYBOARD_GPIO=y # CONFIG_KEYBOARD_SH_KEYSC is not set # CONFIG_KEYBOARD_SUN4I_LRADC is not set # CONFIG_KEYBOARD_OMAP4 is not set -# CONFIG_KEYBOARD_TM2_TOUCHKEY is not set # CONFIG_KEYBOARD_XTKBD is not set CONFIG_KEYBOARD_CROS_EC=y # CONFIG_KEYBOARD_CAP11XX is not set @@ -2129,10 +2121,8 @@ CONFIG_INPUT_PM8941_PWRKEY=y # CONFIG_INPUT_REGULATOR_HAPTIC is not set # CONFIG_INPUT_UINPUT is not set # CONFIG_INPUT_PCF8574 is not set -# CONFIG_INPUT_PWM_BEEPER is not set # CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set # CONFIG_INPUT_ADXL34X is not set -# CONFIG_INPUT_IMS_PCU is not set # CONFIG_INPUT_CMA3000 is not set CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y # CONFIG_INPUT_SOC_BUTTON_ARRAY is not set @@ -2765,7 +2755,6 @@ CONFIG_SENSORS_LM90=m # CONFIG_SENSORS_NCT7904 is not set # CONFIG_SENSORS_PCF8591 is not set # CONFIG_PMBUS is not set -# CONFIG_SENSORS_PWM_FAN is not set # CONFIG_SENSORS_SHT15 is not set # CONFIG_SENSORS_SHT21 is not set # CONFIG_SENSORS_SHT3x is not set @@ -3067,7 +3056,6 @@ CONFIG_REGULATOR_MAX77620=y # CONFIG_REGULATOR_PV88060 is not set # CONFIG_REGULATOR_PV88080 is not set # CONFIG_REGULATOR_PV88090 is not set -CONFIG_REGULATOR_PWM=y CONFIG_REGULATOR_QCOM_SMD_RPM=y CONFIG_REGULATOR_QCOM_SPMI=y CONFIG_REGULATOR_RK808=y @@ -3504,13 +3492,10 @@ CONFIG_LCD_CLASS_DEVICE=m # CONFIG_LCD_HX8357 is not set CONFIG_BACKLIGHT_CLASS_DEVICE=y CONFIG_BACKLIGHT_GENERIC=m -# CONFIG_BACKLIGHT_PWM is not set # CONFIG_BACKLIGHT_PM8941_WLED is not set # CONFIG_BACKLIGHT_ADP8860 is not set # CONFIG_BACKLIGHT_ADP8870 is not set -# CONFIG_BACKLIGHT_LM3630A is not set # CONFIG_BACKLIGHT_LM3639 is not set -CONFIG_BACKLIGHT_LP855X=m # CONFIG_BACKLIGHT_GPIO is not set # CONFIG_BACKLIGHT_LV5207LP is not set # CONFIG_BACKLIGHT_BD6107 is not set @@ -3822,13 +3807,11 @@ CONFIG_HID_A4TECH=y # CONFIG_HID_ACRUX is not set CONFIG_HID_APPLE=y # CONFIG_HID_APPLEIR is not set -# CONFIG_HID_ASUS is not set # CONFIG_HID_AUREAL is not set CONFIG_HID_BELKIN=y # CONFIG_HID_BETOP_FF is not set CONFIG_HID_CHERRY=y CONFIG_HID_CHICONY=y -# CONFIG_HID_CORSAIR is not set # CONFIG_HID_PRODIKEYS is not set # CONFIG_HID_CMEDIA is not set # CONFIG_HID_CP2112 is not set @@ -3841,7 +3824,6 @@ CONFIG_HID_EZKEY=y # CONFIG_HID_GEMBIRD is not set # CONFIG_HID_GFRM is not set # CONFIG_HID_HOLTEK is not set -# CONFIG_HID_GT683R is not set # CONFIG_HID_KEYTOUCH is not set # CONFIG_HID_KYE is not set # CONFIG_HID_UCLOGIC is not set @@ -3851,7 +3833,6 @@ CONFIG_HID_EZKEY=y # CONFIG_HID_TWINHAN is not set CONFIG_HID_KENSINGTON=y # CONFIG_HID_LCPOWER is not set -# CONFIG_HID_LED is not set # CONFIG_HID_LENOVO is not set CONFIG_HID_LOGITECH=y # CONFIG_HID_LOGITECH_HIDPP is not set @@ -3876,7 +3857,6 @@ CONFIG_HID_MONTEREY=y # CONFIG_HID_ROCCAT is not set # CONFIG_HID_SAITEK is not set # CONFIG_HID_SAMSUNG is not set -# CONFIG_HID_SONY is not set # CONFIG_HID_SPEEDLINK is not set # CONFIG_HID_STEELSERIES is not set # CONFIG_HID_SUNPLUS is not set @@ -3885,11 +3865,9 @@ CONFIG_HID_MONTEREY=y # CONFIG_HID_SMARTJOYPLUS is not set # CONFIG_HID_TIVO is not set # CONFIG_HID_TOPSEED is not set -# CONFIG_HID_THINGM is not set # CONFIG_HID_THRUSTMASTER is not set # CONFIG_HID_UDRAW_PS3 is not set # CONFIG_HID_WACOM is not set -# CONFIG_HID_WIIMOTE is not set # CONFIG_HID_XINMO is not set # CONFIG_HID_ZEROPLUS is not set # CONFIG_HID_ZYDACRON is not set @@ -3924,7 +3902,6 @@ CONFIG_USB_OTG=y # CONFIG_USB_OTG_WHITELIST is not set # CONFIG_USB_OTG_BLACKLIST_HUB is not set # CONFIG_USB_OTG_FSM is not set -# CONFIG_USB_LEDS_TRIGGER_USBPORT is not set # CONFIG_USB_MON is not set # CONFIG_USB_WUSB_CBAF is not set @@ -4116,7 +4093,6 @@ CONFIG_USB_RENESAS_USBHS_UDC=m # # USB Power Delivery and Type-C drivers # -# CONFIG_USB_LED_TRIG is not set # CONFIG_USB_ULPI_BUS is not set # CONFIG_UWB is not set CONFIG_MMC=y @@ -4174,67 +4150,7 @@ CONFIG_MMC_BCM2835=y CONFIG_MMC_SDHCI_BRCMSTB=y CONFIG_MMC_SDHCI_XENON=y # CONFIG_MEMSTICK is not set -CONFIG_NEW_LEDS=y -CONFIG_LEDS_CLASS=y -# CONFIG_LEDS_CLASS_FLASH is not set -# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set - -# -# LED drivers -# -# CONFIG_LEDS_BCM6328 is not set -# CONFIG_LEDS_BCM6358 is not set -# CONFIG_LEDS_LM3530 is not set -# CONFIG_LEDS_LM3642 is not set -# CONFIG_LEDS_PCA9532 is not set -CONFIG_LEDS_GPIO=y -# CONFIG_LEDS_LP3944 is not set -# CONFIG_LEDS_LP3952 is not set -# CONFIG_LEDS_LP5521 is not set -# CONFIG_LEDS_LP5523 is not set -# CONFIG_LEDS_LP5562 is not set -# CONFIG_LEDS_LP8501 is not set -# CONFIG_LEDS_LP8860 is not set -# CONFIG_LEDS_PCA955X is not set -# CONFIG_LEDS_PCA963X is not set -# CONFIG_LEDS_DAC124S085 is not set -CONFIG_LEDS_PWM=y -# CONFIG_LEDS_REGULATOR is not set -# CONFIG_LEDS_BD2802 is not set -# CONFIG_LEDS_LT3593 is not set -# CONFIG_LEDS_TCA6507 is not set -# CONFIG_LEDS_TLC591XX is not set -# CONFIG_LEDS_LM355x is not set -# CONFIG_LEDS_IS31FL319X is not set -# CONFIG_LEDS_IS31FL32XX is not set - -# -# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM) -# -# CONFIG_LEDS_BLINKM is not set -CONFIG_LEDS_SYSCON=y -# CONFIG_LEDS_USER is not set - -# -# LED Triggers -# -CONFIG_LEDS_TRIGGERS=y -# CONFIG_LEDS_TRIGGER_TIMER is not set -# CONFIG_LEDS_TRIGGER_ONESHOT is not set -# CONFIG_LEDS_TRIGGER_DISK is not set -# CONFIG_LEDS_TRIGGER_MTD is not set -CONFIG_LEDS_TRIGGER_HEARTBEAT=y -# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set -CONFIG_LEDS_TRIGGER_CPU=y -# CONFIG_LEDS_TRIGGER_GPIO is not set -CONFIG_LEDS_TRIGGER_DEFAULT_ON=y - -# -# iptables trigger is under Netfilter config (LED target) -# -# CONFIG_LEDS_TRIGGER_TRANSIENT is not set -# CONFIG_LEDS_TRIGGER_CAMERA is not set -# CONFIG_LEDS_TRIGGER_PANIC is not set +# CONFIG_NEW_LEDS is not set # CONFIG_ACCESSIBILITY is not set # CONFIG_INFINIBAND is not set CONFIG_EDAC_SUPPORT=y @@ -4463,7 +4379,6 @@ CONFIG_XEN_AUTO_XLATE=y CONFIG_CHROME_PLATFORMS=y # CONFIG_CROS_EC_CHARDEV is not set CONFIG_CROS_EC_PROTO=y -# CONFIG_CROS_KBD_LED_BACKLIGHT is not set CONFIG_CLKDEV_LOOKUP=y CONFIG_HAVE_CLK_PREPARE=y CONFIG_COMMON_CLK=y @@ -4488,7 +4403,6 @@ CONFIG_COMMON_CLK_S2MPS11=y CONFIG_CLK_QORIQ=y CONFIG_COMMON_CLK_XGENE=y # CONFIG_COMMON_CLK_NXP is not set -CONFIG_COMMON_CLK_PWM=y # CONFIG_COMMON_CLK_PXA is not set # CONFIG_COMMON_CLK_PIC32 is not set # CONFIG_COMMON_CLK_VC5 is not set @@ -4991,25 +4905,7 @@ CONFIG_ROCKCHIP_SARADC=m # CONFIG_TSYS02D is not set # CONFIG_NTB is not set # CONFIG_VME_BUS is not set -CONFIG_PWM=y -CONFIG_PWM_SYSFS=y -CONFIG_PWM_BCM_IPROC=y -CONFIG_PWM_BCM2835=m -# CONFIG_PWM_BERLIN is not set -# CONFIG_PWM_BRCMSTB is not set -CONFIG_PWM_CROS_EC=m -# CONFIG_PWM_FSL_FTM is not set -# CONFIG_PWM_HIBVT is not set -CONFIG_PWM_MESON=m -# CONFIG_PWM_MTK_DISP is not set -# CONFIG_PWM_MEDIATEK is not set -# CONFIG_PWM_PCA9685 is not set -# CONFIG_PWM_RCAR is not set -# CONFIG_PWM_RENESAS_TPU is not set -CONFIG_PWM_ROCKCHIP=y -CONFIG_PWM_SAMSUNG=y -# CONFIG_PWM_SUN4I is not set -CONFIG_PWM_TEGRA=m +# CONFIG_PWM is not set CONFIG_IRQCHIP=y CONFIG_ARM_GIC=y CONFIG_ARM_GIC_MAX_NR=1 @@ -5731,15 +5627,15 @@ CONFIG_CRYPTO_CRCT10DIF=y CONFIG_CRYPTO_GHASH=m # CONFIG_CRYPTO_POLY1305 is not set # CONFIG_CRYPTO_MD4 is not set -# CONFIG_CRYPTO_MD5 is not set +CONFIG_CRYPTO_MD5=m # CONFIG_CRYPTO_MICHAEL_MIC is not set # CONFIG_CRYPTO_RMD128 is not set # CONFIG_CRYPTO_RMD160 is not set # CONFIG_CRYPTO_RMD256 is not set # CONFIG_CRYPTO_RMD320 is not set -# CONFIG_CRYPTO_SHA1 is not set +CONFIG_CRYPTO_SHA1=m CONFIG_CRYPTO_SHA256=y -# CONFIG_CRYPTO_SHA512 is not set +CONFIG_CRYPTO_SHA512=m # CONFIG_CRYPTO_SHA3 is not set # CONFIG_CRYPTO_TGR192 is not set # CONFIG_CRYPTO_WP512 is not set @@ -5755,7 +5651,7 @@ CONFIG_CRYPTO_ARC4=m # CONFIG_CRYPTO_CAMELLIA is not set # CONFIG_CRYPTO_CAST5 is not set # CONFIG_CRYPTO_CAST6 is not set -# CONFIG_CRYPTO_DES is not set +CONFIG_CRYPTO_DES=m # CONFIG_CRYPTO_FCRYPT is not set # CONFIG_CRYPTO_KHAZAD is not set # CONFIG_CRYPTO_SALSA20 is not set @@ -5800,6 +5696,7 @@ CONFIG_CRYPTO_HW=y # CONFIG_CRYPTO_DEV_QCE is not set # CONFIG_CRYPTO_DEV_ROCKCHIP is not set CONFIG_CRYPTO_DEV_VIRTIO=m +CONFIG_CRYPTO_DEV_BCM_SPU=m # CONFIG_ASYMMETRIC_KEY_TYPE is not set # diff --git a/pmb/qemu/run.py b/pmb/qemu/run.py index 20cdcfd6..8c31bb30 100644 --- a/pmb/qemu/run.py +++ b/pmb/qemu/run.py @@ -25,6 +25,7 @@ import pmb.chroot import pmb.chroot.apk import pmb.chroot.other import pmb.chroot.initfs +import pmb.config import pmb.helpers.devices import pmb.helpers.run import pmb.parse.arch @@ -72,13 +73,23 @@ def qemu_command(args, arch, device, img_path): cmdline = args.cmdline logging.info("cmdline: " + cmdline) + ssh_port = str(args.port) + telnet_port = str(args.port + 1) + telnet_debug_port = str(args.port + 2) + rootfs = args.work + "/chroot_rootfs_" + device command = [qemu_bin] command += ["-kernel", rootfs + "/boot/vmlinuz-postmarketos"] command += ["-initrd", rootfs + "/boot/initramfs-postmarketos"] command += ["-append", '"' + cmdline + '"'] command += ["-m", str(args.memory)] - command += ["-redir", "tcp:" + str(args.port) + "::22"] + command += ["-netdev", + "user,id=net0," + "hostfwd=tcp::" + ssh_port + "-:22," + "hostfwd=tcp::" + telnet_port + "-:23," + "hostfwd=tcp::" + telnet_debug_port + "-:24" + ",net=172.16.42.0/24,dhcpstart=" + pmb.config.default_ip + ] if deviceinfo["dtb"] != "": dtb_image = rootfs + "/usr/share/dtb/" + deviceinfo["dtb"] + ".dtb" @@ -89,15 +100,18 @@ def qemu_command(args, arch, device, img_path): if arch == "x86_64": command += ["-serial", "stdio"] command += ["-drive", "file=" + img_path + ",format=raw"] + command += ["-device", "e1000,netdev=net0"] elif arch == "arm": command += ["-M", "vexpress-a9"] command += ["-sd", img_path] + command += ["-device", "virtio-net-device,netdev=net0"] elif arch == "aarch64": command += ["-M", "virt"] command += ["-cpu", "cortex-a57"] command += ["-device", "virtio-gpu-pci"] + command += ["-device", "virtio-net-device,netdev=net0"] # add storage command += ["-device", "virtio-blk-device,drive=system"] @@ -140,6 +154,10 @@ def run(args): command = qemu_command(args, arch, device, img_path) logging.info("Command: " + " ".join(command)) - logging.info("You can login to postmarketOS using SSH:") - logging.info("ssh -p " + str(args.port) + " user@localhost") + print() + logging.info("You can connect to the Virtual Machine using the" + " following services:") + logging.info("(ssh) ssh -p " + str(args.port) + " user@localhost") + logging.info("(telnet) telnet localhost " + str(args.port + 1)) + logging.info("(telnet debug) telnet localhost " + str(args.port + 2)) pmb.helpers.run.user(args, command)