Linux is successfully booting on the WING!

There is just a broken busybox right now​:eyes:

Yeah, congratulations!!! :smiling_face_with_sunglasses: :tada:

So we need the schematics for the DSPs and fpga and I can port OpenX32 to the WING

Wohoooo!!! :rocket:

Just a few hours ago I looked at my Wing and thought “When will the time come?” :rofl:

Thanks!

I took some pictures of the DSPs and FPGA - I’ll send them over shortly.

Also my first goal is to get networking, then the display, and then doom running :smiley:

sounds like the classic approach :wink:

@niklasarnitz I tried it and I don’t get a console via screen :cry:

the ACM device is there, but it doesn’t respond

Wait a second

This is what my Wing Compact said to me :melting_face:

BusyBox v1.36.1 (2026-05-21 17:12:20 UTC) built-in shell (ash)

wing# dmesg
<6>[    0.000000] Booting Linux on physical CPU 0x0
<5>[    0.000000] Linux version 6.6.30 (@b73629d8a81f) (arm-linux-gnueabihf-gcc (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40) #8 SMP Thu May 21 20:12:29 UTC 2026
<6>[    0.000000] CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c5387d
<6>[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
<6>[    0.000000] OF: fdt: Machine model: Behringer Wing Compact USB console test
<6>[    0.000000] printk: debug: ignoring loglevel setting.
<6>[    0.000000] Memory policy: Data cache writeback
<6>[    0.000000] cma: Reserved 64 MiB at 0x4c000000 on node -1
<6>[    0.000000] Zone ranges:
<6>[    0.000000]   Normal   [mem 0x0000000010000000-0x000000003fffffff]
<6>[    0.000000]   HighMem  [mem 0x0000000040000000-0x000000004fffffff]
<6>[    0.000000] Movable zone start for each node
<6>[    0.000000] Early memory node ranges
<6>[    0.000000]   node   0: [mem 0x0000000010000000-0x000000004fffffff]
<6>[    0.000000] Initmem setup node 0 [mem 0x0000000010000000-0x000000004fffffff]
<6>[    0.000000] CPU: All CPU(s) started in SVC mode.
<6>[    0.000000] percpu: Embedded 13 pages/cpu s22356 r8192 d22700 u53248
<7>[    0.000000] pcpu-alloc: s22356 r8192 d22700 u53248 alloc=13*4096
<7>[    0.000000] pcpu-alloc: [0] 0 [0] 1 
<5>[    0.000000] Kernel command line: console=ttyGS0,115200 console=ttymxc0,115200 ignore_loglevel loglevel=8 g_serial.use_acm=1 root=/dev/ram0 rdinit=/init rw
<6>[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes, linear)
<6>[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
<6>[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 260608
<6>[    0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off
<6>[    0.000000] Memory: 957968K/1048576K available (8192K kernel code, 1124K rwdata, 1952K rodata, 2048K init, 357K bss, 25072K reserved, 65536K cma-reserved, 196608K highmem)
<6>[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
<6>[    0.000000] rcu: Hierarchical RCU implementation.
<6>[    0.000000] rcu:  RCU event tracing is enabled.
<6>[    0.000000] rcu:  RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
<6>[    0.000000]       Tracing variant of Tasks RCU enabled.
<6>[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
<6>[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
<6>[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
<6>[    0.000000] L2C-310 erratum 769419 enabled
<6>[    0.000000] L2C-310 enabling early BRESP for Cortex-A9
<6>[    0.000000] L2C-310 full line of zeros enabled for Cortex-A9
<6>[    0.000000] L2C-310 ID prefetch enabled, offset 16 lines
<6>[    0.000000] L2C-310 dynamic clock gating enabled, standby mode enabled
<6>[    0.000000] L2C-310 cache controller enabled, 16 ways, 512 kB
<6>[    0.000000] L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x76450001
<6>[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
<6>[    0.000000] Switching to timer-based delay loop, resolution 333ns
<6>[    0.000001] sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 715827882841ns
<6>[    0.000016] clocksource: mxc_timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 637086815595 ns
<6>[    0.000950] Calibrating delay loop (skipped), value calculated using timer frequency.. 6.00 BogoMIPS (lpj=30000)
<6>[    0.000966] CPU: Testing write buffer coherency: ok
<6>[    0.001002] CPU0: Spectre v2: using BPIALL workaround
<6>[    0.001010] pid_max: default: 32768 minimum: 301
<6>[    0.001123] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
<6>[    0.001139] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
<6>[    0.001908] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
<6>[    0.002901] RCU Tasks Trace: Setting shift to 1 and lim to 1 rcu_task_cb_adjust=1.
<6>[    0.003051] Setting up static identity map for 0x10100000 - 0x10100078
<6>[    0.003247] rcu: Hierarchical SRCU implementation.
<6>[    0.003253] rcu:  Max phase no-delay instances is 1000.
<6>[    0.003954] smp: Bringing up secondary CPUs ...
<6>[    0.004586] smp: Brought up 1 node, 1 CPU
<6>[    0.004598] SMP: Total of 1 processors activated (6.00 BogoMIPS).
<6>[    0.004606] CPU: All CPU(s) started in SVC mode.
<6>[    0.005065] devtmpfs: initialized
<6>[    0.011238] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
<6>[    0.011488] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
<6>[    0.011510] futex hash table entries: 512 (order: 3, 32768 bytes, linear)
<6>[    0.013937] pinctrl core: initialized pinctrl subsystem
<6>[    0.015287] NET: Registered PF_NETLINK/PF_ROUTE protocol family
<6>[    0.020664] DMA: preallocated 256 KiB pool for atomic coherent allocations
<6>[    0.021670] thermal_sys: Registered thermal governor 'step_wise'
<6>[    0.021769] cpuidle: using governor menu
<6>[    0.021857] CPU identified as i.MX6DL, silicon rev 1.3
<6>[    0.026820] platform soc: Fixed dependency cycle(s) with /soc/bus@2000000/gpc@20dc000
<6>[    0.032812] platform 20dc000.gpc: Fixed dependency cycle(s) with /soc/bus@2000000/clock-controller@20c4000
<6>[    0.033316] platform 20e0000.iomuxc-gpr:ipu1_csi0_mux: Fixed dependency cycle(s) with /soc/ipu@2400000
<6>[    0.033470] platform 20e0000.iomuxc-gpr:ipu1_csi1_mux: Fixed dependency cycle(s) with /soc/ipu@2400000
<6>[    0.036546] platform 20e0000.iomuxc-gpr:ipu1_csi1_mux: Fixed dependency cycle(s) with /soc/ipu@2400000
<6>[    0.036636] platform 20e0000.iomuxc-gpr:ipu1_csi0_mux: Fixed dependency cycle(s) with /soc/ipu@2400000
<6>[    0.036717] platform 2400000.ipu: Fixed dependency cycle(s) with /soc/bus@2000000/iomuxc-gpr@20e0000/ipu1_csi1_mux
<6>[    0.036791] platform 2400000.ipu: Fixed dependency cycle(s) with /soc/bus@2000000/iomuxc-gpr@20e0000/ipu1_csi0_mux
<6>[    0.038138] No ATAGs?
<6>[    0.040431] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
<6>[    0.040445] hw-breakpoint: maximum watchpoint size is 4 bytes.
<6>[    0.041623] imx6dl-pinctrl 20e0000.pinctrl: no groups defined in /soc/bus@2000000/pinctrl@20e0000
<6>[    0.041647] imx6dl-pinctrl 20e0000.pinctrl: initialized IMX pinctrl driver
<6>[    0.044002] kprobes: kprobe jump-optimization is enabled. All kprobes are optimized if possible.
<4>[    0.045489] gpio gpiochip0: Static allocation of GPIO base is deprecated, use dynamic allocation.
<4>[    0.047288] gpio gpiochip1: Static allocation of GPIO base is deprecated, use dynamic allocation.
<4>[    0.049039] gpio gpiochip2: Static allocation of GPIO base is deprecated, use dynamic allocation.
<4>[    0.050858] gpio gpiochip3: Static allocation of GPIO base is deprecated, use dynamic allocation.
<4>[    0.052630] gpio gpiochip4: Static allocation of GPIO base is deprecated, use dynamic allocation.
<4>[    0.054381] gpio gpiochip5: Static allocation of GPIO base is deprecated, use dynamic allocation.
<4>[    0.056193] gpio gpiochip6: Static allocation of GPIO base is deprecated, use dynamic allocation.
<6>[    0.059333] usbcore: registered new interface driver usbfs
<6>[    0.059372] usbcore: registered new interface driver hub
<6>[    0.059411] usbcore: registered new device driver usb
<4>[    0.059555] usb_phy_generic usbphynop1: dummy supplies not allowed for exclusive requests
<4>[    0.059821] usb_phy_generic usbphynop2: dummy supplies not allowed for exclusive requests
<6>[    0.060819] imx-i2c 21a0000.i2c: can't get pinctrl, bus recovery not supported
<6>[    0.060958] i2c i2c-0: IMX I2C adapter registered
<6>[    0.061248] imx-i2c 21a4000.i2c: can't get pinctrl, bus recovery not supported
<6>[    0.061374] i2c i2c-1: IMX I2C adapter registered
<6>[    0.061625] imx-i2c 21a8000.i2c: can't get pinctrl, bus recovery not supported
<6>[    0.061740] i2c i2c-2: IMX I2C adapter registered
<6>[    0.061927] pps_core: LinuxPPS API ver. 1 registered
<6>[    0.061933] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
<6>[    0.061958] PTP clock support registered
<6>[    0.063195] clocksource: Switched to clocksource mxc_timer1
<5>[    0.063443] VFS: Disk quotas dquot_6.6.0
<6>[    0.063484] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
<6>[    0.065064] NET: Registered PF_INET protocol family
<6>[    0.065320] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear)
<6>[    0.066842] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
<6>[    0.066868] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
<6>[    0.066880] TCP established hash table entries: 8192 (order: 3, 32768 bytes, linear)
<6>[    0.066941] TCP bind hash table entries: 8192 (order: 5, 131072 bytes, linear)
<6>[    0.067133] TCP: Hash tables configured (established 8192 bind 8192)
<6>[    0.067224] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
<6>[    0.067263] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
<6>[    0.067399] NET: Registered PF_UNIX/PF_LOCAL protocol family
<4>[    0.074187] armv7-pmu pmu: hw perfevents: no interrupt-affinity property, guessing.
<6>[    0.074604] hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
<5>[    0.076144] Initialise system trusted keyrings
<6>[    0.083321] workingset: timestamp_bits=30 max_order=18 bucket_order=0
<6>[    0.177089] jitterentropy: Initialization failed with host not compliant with requirements: 9
<6>[    0.211940] Trying to unpack rootfs image as initramfs...
<6>[    0.262231] Freeing initrd memory: 1044K
<5>[    0.262304] Key type asymmetric registered
<5>[    0.262317] Asymmetric key parser 'x509' registered
<6>[    0.262433] bounce: pool size: 64 pages
<6>[    0.262462] io scheduler mq-deadline registered
<6>[    0.262470] io scheduler kyber registered
<6>[    0.262494] io scheduler bfq registered
<6>[    0.266637] mxs-dma 110000.dma-controller: initialized
<6>[    0.271233] 2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 268, base_baud = 5000000) is a IMX
<6>[    0.271281] printk: console [ttymxc0] enabled
<6>[    1.146699] 21e8000.serial: ttymxc1 at MMIO 0x21e8000 (irq = 269, base_baud = 5000000) is a IMX
<6>[    1.156445] 21ec000.serial: ttymxc2 at MMIO 0x21ec000 (irq = 270, base_baud = 5000000) is a IMX
<6>[    1.166129] 21f0000.serial: ttymxc3 at MMIO 0x21f0000 (irq = 271, base_baud = 5000000) is a IMX
<6>[    1.175770] 21f4000.serial: ttymxc4 at MMIO 0x21f4000 (irq = 272, base_baud = 5000000) is a IMX
<6>[    1.186838] imx-ipuv3 2400000.ipu: IPUv3H probed
<6>[    1.200755] brd: module loaded
<6>[    1.209682] loop: module loaded
<6>[    1.497399] g_serial gadget.0: Gadget Serial v2.4
<6>[    1.502123] g_serial gadget.0: g_serial ready
<6>[    1.508557] snvs_rtc 20cc000.snvs:snvs-rtc-lp: registered as rtc0
<6>[    1.514802] snvs_rtc 20cc000.snvs:snvs-rtc-lp: setting system clock to 1970-01-01T00:00:00 UTC (0)
<6>[    1.523965] i2c_dev: i2c /dev entries driver
<6>[    1.532223] sdhci: Secure Digital Host Controller Interface driver
<6>[    1.538485] sdhci: Copyright(c) Pierre Ossman
<6>[    1.542842] sdhci-pltfm: SDHCI platform and OF driver helper
<6>[    1.549803] caam 2100000.crypto: Entropy delay = 3200
<4>[    1.555247] sdhci-esdhc-imx 2190000.mmc: could not get pinctrl
<4>[    1.561702] sdhci-esdhc-imx 2194000.mmc: could not get pinctrl
<4>[    1.568050] sdhci-esdhc-imx 2198000.mmc: could not get pinctrl
<6>[    1.574121] caam 2100000.crypto: Instantiated RNG4 SH0
<6>[    1.586598] caam 2100000.crypto: Instantiated RNG4 SH1
<4>[    1.592460] sdhci-esdhc-imx 219c000.mmc: could not get pinctrl
<6>[    1.600307] caam 2100000.crypto: device ID = 0x0a16010000000100 (Era 4)
<6>[    1.606998] caam 2100000.crypto: job rings = 2, qi = 0
<6>[    1.615413] caam algorithms registered in /proc/crypto
<6>[    1.620760] caam 2100000.crypto: registering rng-caam
<6>[    1.638487] mmc1: SDHCI controller on 2194000.mmc [2194000.mmc] using ADMA
<6>[    1.645553] mmc3: SDHCI controller on 219c000.mmc [219c000.mmc] using ADMA
<5>[    1.652607] random: crng init done
<6>[    1.656375] mmc2: SDHCI controller on 2198000.mmc [2198000.mmc] using ADMA
<6>[    1.663509] caam 2100000.crypto: rng crypto API alg registered prng-caam
<6>[    1.670414] mmc0: SDHCI controller on 2190000.mmc [2190000.mmc] using ADMA
<6>[    1.682742] NET: Registered PF_INET6 protocol family
<6>[    1.689582] Segment Routing with IPv6
<6>[    1.693558] In-situ OAM (IOAM) with IPv6
<6>[    1.697669] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
<6>[    1.704473] NET: Registered PF_PACKET protocol family
<5>[    1.711241] Registering SWP/SWPB emulation handler
<5>[    1.721617] Loading compiled-in X.509 certificates
<6>[    1.752755] pps pps0: new PPS source ptp0
<3>[    1.758082] fec 2188000.ethernet: Invalid MAC address: 00:00:00:00:00:00
<6>[    1.764868] fec 2188000.ethernet: Using random MAC address: 02:14:f8:93:50:77
<6>[    1.841472] mmc2: new DDR MMC card at address 0001
<6>[    1.847311] mmcblk2: mmc2:0001 004GA1 3.69 GiB
<6>[    1.854171]  mmcblk2: p1 p2
<6>[    1.863840] mmcblk2boot0: mmc2:0001 004GA1 2.00 MiB
<6>[    1.874028] mmcblk2boot1: mmc2:0001 004GA1 2.00 MiB
<6>[    1.894014] mmcblk2rpmb: mmc2:0001 004GA1 512 KiB, chardev (247:0)
<6>[    1.935744] fec 2188000.ethernet eth0: registered PHC device 0
<6>[    1.942352] imx_thermal 20c8000.anatop:tempmon: Commercial CPU temperature grade - max:95C critical:90C passive:85C
<6>[    1.957175] clk: Disabling unused clocks
<3>[    1.961440] Warning: unable to open an initial console.
<6>[    1.968220] Freeing unused kernel image (initmem) memory: 2048K
<6>[    1.974358] Run /init as init process
<7>[    1.978028]   with arguments:
<7>[    1.980997]     /init
<7>[    1.983308]   with environment:
<7>[    1.986446]     HOME=/
<7>[    1.988809]     TERM=linux

yeah there are still some things broken - i’m currently diagnosing build issues but after that i want to finalize networking.

wing# cat /proc/cpuinfo
processor       : 0
model name      : ARMv7 Processor rev 10 (v7l)
BogoMIPS        : 2.38
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpd32 
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x2
CPU part        : 0xc09
CPU revision    : 10

1 Like

Good big news! :rocket:

Linux and userland tools building now without issues and I can boot Linux on my Wing Compact and log in via SSH :heart_eyes:

@niklasarnitz did a great Job!

Even the display works!

Buttons, Faders and Displays work, but none of the audio hardware (yet).