Updating compressors for NyBLE

Compressing tools like gzip and bzip2 have been around quite a long time. They are, well, mature. Almost boring. You depend upon them for many things.

You don’t really pay attention to them until you use them for significant work. Like with NyBLE, compression and decompression are important, and time sensitive steps … well … decompression is anyway … in the boot process.

My preference is generally for tools that enable me to use the full processing power of an underlying machine. I want to run compressors and decompressors across all CPUs. Turn a computational problem into an IO bound problem. As I am good at optimizing the IO side as well, this generally makes for a very snappy system when done right.

But compressors, they are mature. You set them. And forget them. Because, they just work.

Today, an article appeared on Hacker News about Zstandard or zstd. This article was about needing reviewers for including zstd into zfs. As NyBLE includes zfs capability, I looked a bit at it. I’m not qualified to do the code review, but was curious as to why would people want to add yet another compressor/decompressor to zfs? Didn’t we have enough?

Well, gentle reader, I was making a specific assumption. The assumption I was making was that zstd gave similar compression for similar time usage. That is, the assumption was “meh, might be a little better or a little worse, who knows.”

Given that this was a somewhat lazy Sunday, I decided to look into zstd some more. Educate myself. Some online material exists, along with some benchmarking. This is what caught my eye. I played with lbzip2, pbzip2, pxz/xz, and zstd to see what would happen with a large, difficult to compress tarball … something I’ve had to move around to various machines as a build environment for partners of the $dayjob. It’s called JoeBE, and it is about 7.3 GB compressed, 14.2 GB uncompressed.

I figured compression speed would be far worse than decompression speed, so if something were faster at decompression, it should take longer at compression. I wanted to see what the compressors could do.

The idea was simple. Using a 12GB ramdisk for writing, as I didn’t want real IO to impact the compressor/tar process, I basically ran this command for each compressor ($comp)

/usr/bin/time tar -I "$comp" -cf /t/JoeBE.tar.$ext JoeBE

I tried lbzip2 (hadn’t heard of it before today), pbzip2 (my standard), and zstd. I know gzip/pigz very well, but it doesn’t compress as well as bzip2 in my use cases, and I don’t mind waiting a few extra seconds to get the better compression. Pbzip2 and pigz both decompress reasonably well for my case (NyBLE).

Or so I thought.

With this in mind, here are my wall clock results from the time command.

CompressorFinal size (GB)Wall clock time (s)
lbzip2 (running 8 threads)7.3242.88
pbzip2 (running 8 threads)7.3434.97
zstd (running 1 thread)7.351.98
zstd (running 8 threads, seeming to max out at 2-3 )7.321.3

Yeah … zstd single threaded is about 5x faster on compress than lbzip2, which is twice as fast as my default pbzip2. Then, try to run it multi-threaded and … well … faster.

So, I double checked. And it gave the same times. I tried pxz/xz and … well … that took even longer than pbzip2. I stopped it at 10 minutes wall clock, it wasn’t even 1/6 of the way done.

And here I thought the world of compressors was boring.

So … what to do with this.

Obviously, apply this learning to NyBLE. And use this as an excuse to refactor some … er … unhappy code … yeah. That’s it. Unhappy code.

Now NyBLE has the ability to use a number of compressor/decompressor pairs. And the zstd version, is now the default. And it is very … fast.

joe@gandalf:~$ virsh console test
Connected to domain test
Escape character is ^]
[    0.000000] Linux version 4.19.0-9-amd64 (debian-kernel@lists.debian.org) (gcc version 8.3.0 (Debian 8.3.0-6)) #1 SMP Debian 4.19.118-2 (2020-04-29)
[    0.000000] Command line: image=keep root=ram rootfstype=ramdisk simplenet=1 verbose udev.children-max=4 rootpw=nyble ramdisktype=zram ramdisksize=12 console=tty0 console=ttyS0
[    0.000000] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'
[    0.000000] x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'
[    0.000000] x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'
[    0.000000] x86/fpu: xstate_offset[2]:  576, xstate_sizes[2]:  256
[    0.000000] x86/fpu: Enabled xstate features 0x7, context size is 832 bytes, using 'standard' format.
[    0.000000] BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
[    0.000000] BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000bffdffff] usable
[    0.000000] BIOS-e820: [mem 0x00000000bffe0000-0x00000000bfffffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000feffc000-0x00000000feffffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fffc0000-0x00000000ffffffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000100000000-0x000000032dffffff] usable
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] SMBIOS 2.8 present.
[    0.000000] DMI: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1ubuntu1 04/01/2014
[    0.000000] Hypervisor detected: KVM
[    0.000000] kvm-clock: Using msrs 4b564d01 and 4b564d00
[    0.000000] kvm-clock: cpu 0, msr 18f7e8001, primary cpu clock
[    0.000000] kvm-clock: using sched offset of 1004960333 cycles
[    0.000006] clocksource: kvm-clock: mask: 0xffffffffffffffff max_cycles: 0x1cd42e4dffb, max_idle_ns: 881590591483 ns
[    0.000011] tsc: Detected 2807.998 MHz processor
[    0.001696] last_pfn = 0x32e000 max_arch_pfn = 0x400000000
[    0.001757] x86/PAT: Configuration [0-7]: WB  WC  UC- UC  WB  WP  UC- WT  
[    0.001768] last_pfn = 0xbffe0 max_arch_pfn = 0x400000000
[    0.009276] found SMP MP-table at [mem 0x000f6a60-0x000f6a6f]
[    0.009815] RAMDISK: [mem 0x44354000-0x7fffffff]
[    0.009836] ACPI: Early table checksum verification disabled
[    0.009888] ACPI: RSDP 0x00000000000F6860 000014 (v00 BOCHS )
[    0.009894] ACPI: RSDT 0x00000000BFFE1667 00002C (v01 BOCHS  BXPCRSDT 00000001 BXPC 00000001)
[    0.009898] ACPI: FACP 0x00000000BFFE14E3 000074 (v01 BOCHS  BXPCFACP 00000001 BXPC 00000001)
[    0.009903] ACPI: DSDT 0x00000000BFFE0040 0014A3 (v01 BOCHS  BXPCDSDT 00000001 BXPC 00000001)
[    0.009906] ACPI: FACS 0x00000000BFFE0000 000040
[    0.009908] ACPI: APIC 0x00000000BFFE15D7 000090 (v01 BOCHS  BXPCAPIC 00000001 BXPC 00000001)
[    0.010194] No NUMA configuration found
[    0.010195] Faking a node at [mem 0x0000000000000000-0x000000032dffffff]
[    0.010200] NODE_DATA(0) allocated [mem 0x32dff3000-0x32dff7fff]
[    0.010380] Zone ranges:
[    0.010381]   DMA      [mem 0x0000000000001000-0x0000000000ffffff]
[    0.010382]   DMA32    [mem 0x0000000001000000-0x00000000ffffffff]
[    0.010383]   Normal   [mem 0x0000000100000000-0x000000032dffffff]
[    0.010384]   Device   empty
[    0.010384] Movable zone start for each node
[    0.010385] Early memory node ranges
[    0.010386]   node   0: [mem 0x0000000000001000-0x000000000009efff]
[    0.010386]   node   0: [mem 0x0000000000100000-0x00000000bffdffff]
[    0.010387]   node   0: [mem 0x0000000100000000-0x000000032dffffff]
[    0.010960] Zeroed struct page in unavailable ranges: 8322 pages
[    0.010962] Initmem setup node 0 [mem 0x0000000000001000-0x000000032dffffff]
[    0.071526] ACPI: PM-Timer IO Port: 0x608
[    0.071540] ACPI: LAPIC_NMI (acpi_id[0xff] dfl dfl lint[0x1])
[    0.071612] IOAPIC[0]: apic_id 0, version 17, address 0xfec00000, GSI 0-23
[    0.071616] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.071618] ACPI: INT_SRC_OVR (bus 0 bus_irq 5 global_irq 5 high level)
[    0.071619] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[    0.071625] ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 high level)
[    0.071626] ACPI: INT_SRC_OVR (bus 0 bus_irq 11 global_irq 11 high level)
[    0.071632] Using ACPI (MADT) for SMP configuration information
[    0.071638] smpboot: Allowing 4 CPUs, 0 hotplug CPUs
[    0.071658] PM: Registered nosave memory: [mem 0x00000000-0x00000fff]
[    0.071659] PM: Registered nosave memory: [mem 0x0009f000-0x0009ffff]
[    0.071660] PM: Registered nosave memory: [mem 0x000a0000-0x000effff]
[    0.071660] PM: Registered nosave memory: [mem 0x000f0000-0x000fffff]
[    0.071661] PM: Registered nosave memory: [mem 0xbffe0000-0xbfffffff]
[    0.071662] PM: Registered nosave memory: [mem 0xc0000000-0xfeffbfff]
[    0.071662] PM: Registered nosave memory: [mem 0xfeffc000-0xfeffffff]
[    0.071663] PM: Registered nosave memory: [mem 0xff000000-0xfffbffff]
[    0.071663] PM: Registered nosave memory: [mem 0xfffc0000-0xffffffff]
[    0.071665] [mem 0xc0000000-0xfeffbfff] available for PCI devices
[    0.071666] Booting paravirtualized kernel on KVM
[    0.071669] clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645519600211568 ns
[    0.135221] random: get_random_bytes called from start_kernel+0x93/0x52c with crng_init=0
[    0.135228] setup_percpu: NR_CPUS:512 nr_cpumask_bits:512 nr_cpu_ids:4 nr_node_ids:1
[    0.135484] percpu: Embedded 45 pages/cpu s144408 r8192 d31720 u524288
[    0.135509] KVM setup async PF for cpu 0
[    0.135513] kvm-stealtime: cpu 0, msr 321e161c0
[    0.135520] Built 1 zonelists, mobility grouping on.  Total pages: 3023849
[    0.135521] Policy zone: Normal
[    0.135523] Kernel command line: image=keep root=ram rootfstype=ramdisk simplenet=1 verbose udev.children-max=4 rootpw=nyble ramdisktype=zram ramdisksize=12 console=tty0 console=ttyS0
[    0.164227] Memory: 11023740K/12287480K available (10252K kernel code, 1241K rwdata, 3316K rodata, 1588K init, 2276K bss, 1263740K reserved, 0K cma-reserved)
[    0.164467] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.164472] Kernel/User page tables isolation: enabled
[    0.164516] ftrace: allocating 31879 entries in 125 pages
[    0.174522] rcu: Hierarchical RCU implementation.
[    0.174524] rcu: 	RCU restricting CPUs from NR_CPUS=512 to nr_cpu_ids=4.
[    0.174525] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[    0.176452] NR_IRQS: 33024, nr_irqs: 456, preallocated irqs: 16
[    0.185580] Console: colour VGA+ 80x25
[    0.215019] console [tty0] enabled
[    0.302150] console [ttyS0] enabled
[    0.302773] ACPI: Core revision 20180810
[    0.303493] APIC: Switch to symmetric I/O mode setup
[    0.304526] x2apic enabled
[    0.305335] Switched APIC routing to physical x2apic.
[    0.307366] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
[    0.308557] clocksource: tsc-early: mask: 0xffffffffffffffff max_cycles: 0x2879c456dd4, max_idle_ns: 440795285767 ns
[    0.311348] Calibrating delay loop (skipped) preset value.. 5615.99 BogoMIPS (lpj=11231992)
[    0.315340] pid_max: default: 32768 minimum: 301
[    0.316306] Security Framework initialized
[    0.317149] Yama: disabled by default; enable with sysctl kernel.yama.*
[    0.319351] AppArmor: AppArmor initialized
[    0.322635] Dentry cache hash table entries: 2097152 (order: 12, 16777216 bytes)
[    0.324524] Inode-cache hash table entries: 1048576 (order: 11, 8388608 bytes)
[    0.325828] Mount-cache hash table entries: 32768 (order: 6, 262144 bytes)
[    0.327355] Mountpoint-cache hash table entries: 32768 (order: 6, 262144 bytes)
[    0.329207] Last level iTLB entries: 4KB 0, 2MB 0, 4MB 0
[    0.331336] Last level dTLB entries: 4KB 0, 2MB 0, 4MB 0, 1GB 0
[    0.332564] Spectre V1 : Mitigation: usercopy/swapgs barriers and __user pointer sanitization
[    0.334235] Spectre V2 : Mitigation: Full generic retpoline
[    0.335336] Spectre V2 : Spectre v2 / SpectreRSB mitigation: Filling RSB on context switch
[    0.336961] Spectre V2 : Enabling Restricted Speculation for firmware calls
[    0.338307] Spectre V2 : mitigation: Enabling conditional Indirect Branch Prediction Barrier
[    0.339337] Speculative Store Bypass: Vulnerable
[    0.340313] MDS: Vulnerable: Clear CPU buffers attempted, no microcode
[    0.341787] Freeing SMP alternatives memory: 24K
[    0.344699] smpboot: CPU0: Intel Core Processor (Broadwell, no TSX, IBRS) (family: 0x6, model: 0x3d, stepping: 0x2)
[    0.346872] Performance Events: unsupported p6 CPU model 61 no PMU driver, software events only.
[    0.347334] rcu: Hierarchical SRCU implementation.
[    0.347621] random: crng done (trusting CPU's manufacturer)
[    0.348736] NMI watchdog: Perf NMI watchdog permanently disabled
[    0.349985] smp: Bringing up secondary CPUs ...
[    0.350984] x86: Booting SMP configuration:
[    0.351340] .... node  #0, CPUs:      #1
[    0.134706] kvm-clock: cpu 1, msr 18f7e8041, secondary cpu clock
[    0.354131] KVM setup async PF for cpu 1
[    0.354131] kvm-stealtime: cpu 1, msr 321e961c0
[    0.355414]  #2
[    0.134706] kvm-clock: cpu 2, msr 18f7e8081, secondary cpu clock
[    0.359347] KVM setup async PF for cpu 2
[    0.361373] kvm-stealtime: cpu 2, msr 321f161c0
[    0.362287]  #3
[    0.134706] kvm-clock: cpu 3, msr 18f7e80c1, secondary cpu clock
[    0.363347] KVM setup async PF for cpu 3
[    0.365310] kvm-stealtime: cpu 3, msr 321f961c0
[    0.366226] smp: Brought up 1 node, 4 CPUs
[    0.366226] smpboot: Max logical packages: 1
[    0.367351] smpboot: Total of 4 processors activated (22463.98 BogoMIPS)
[    0.369599] devtmpfs: initialized
[    0.369599] x86/mm: Memory block size: 128MB
[    0.372082] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.373300] futex hash table entries: 1024 (order: 4, 65536 bytes)
[    0.375408] pinctrl core: initialized pinctrl subsystem
[    0.376589] NET: Registered protocol family 16
[    0.377558] audit: initializing netlink subsys (disabled)
[    0.378661] audit: type=2000 audit(1589763100.124:1): state=initialized audit_enabled=0 res=1
[    0.379347] cpuidle: using governor ladder
[    0.380031] cpuidle: using governor menu
[    0.380251] ACPI: bus type PCI registered
[    0.381091] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
[    0.383436] PCI: Using configuration type 1 for base access
[    0.384590] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[    0.384679] ACPI: Added _OSI(Module Device)
[    0.387343] ACPI: Added _OSI(Processor Device)
[    0.388238] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.389190] ACPI: Added _OSI(Processor Aggregator Device)
[    0.390264] ACPI: Added _OSI(Linux-Dell-Video)
[    0.391167] ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio)
[    0.391711] ACPI: 1 ACPI AML tables successfully acquired and loaded
[    0.393709] ACPI: Interpreter enabled
[    0.394530] ACPI: (supports S0 S5)
[    0.395341] ACPI: Using IOAPIC for interrupt routing
[    0.396243] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
[    0.398159] ACPI: Enabled 2 GPEs in block 00 to 0F
[    0.400604] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[    0.403342] acpi PNP0A03:00: _OSC: OS supports [ASPM ClockPM Segments MSI]
[    0.404595] acpi PNP0A03:00: _OSC failed (AE_NOT_FOUND); disabling ASPM
[    0.405662] acpi PNP0A03:00: fail to add MMCONFIG information, can't access extended PCI configuration space under this bridge.
[    0.407551] acpiphp: Slot [3] registered
[    0.408436] acpiphp: Slot [4] registered
[    0.409277] acpiphp: Slot [6] registered
[    0.410117] acpiphp: Slot [7] registered
[    0.410958] acpiphp: Slot [8] registered
[    0.411368] acpiphp: Slot [9] registered
[    0.412210] acpiphp: Slot [10] registered
[    0.413063] acpiphp: Slot [11] registered
[    0.413913] acpiphp: Slot [12] registered
[    0.414767] acpiphp: Slot [13] registered
[    0.415366] acpiphp: Slot [14] registered
[    0.416859] acpiphp: Slot [15] registered
[    0.417726] acpiphp: Slot [16] registered
[    0.418580] acpiphp: Slot [17] registered
[    0.419368] acpiphp: Slot [18] registered
[    0.420229] acpiphp: Slot [19] registered
[    0.421092] acpiphp: Slot [20] registered
[    0.421946] acpiphp: Slot [21] registered
[    0.422822] acpiphp: Slot [22] registered
[    0.423371] acpiphp: Slot [23] registered
[    0.424226] acpiphp: Slot [24] registered
[    0.425078] acpiphp: Slot [25] registered
[    0.425927] acpiphp: Slot [26] registered
[    0.426776] acpiphp: Slot [27] registered
[    0.427366] acpiphp: Slot [28] registered
[    0.428221] acpiphp: Slot [29] registered
[    0.429111] acpiphp: Slot [30] registered
[    0.430059] acpiphp: Slot [31] registered
[    0.430898] PCI host bridge to bus 0000:00
[    0.431340] pci_bus 0000:00: root bus resource [io  0x0000-0x0cf7 window]
[    0.432629] pci_bus 0000:00: root bus resource [io  0x0d00-0xffff window]
[    0.434050] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff window]
[    0.435339] pci_bus 0000:00: root bus resource [mem 0xc0000000-0xfebfffff window]
[    0.436815] pci_bus 0000:00: root bus resource [mem 0x340000000-0x3bfffffff window]
[    0.438347] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.442380] pci 0000:00:01.1: legacy IDE quirk: reg 0x10: [io  0x01f0-0x01f7]
[    0.443340] pci 0000:00:01.1: legacy IDE quirk: reg 0x14: [io  0x03f6]
[    0.445274] pci 0000:00:01.1: legacy IDE quirk: reg 0x18: [io  0x0170-0x0177]
[    0.446645] pci 0000:00:01.1: legacy IDE quirk: reg 0x1c: [io  0x0376]
[    0.447864] pci 0000:00:01.3: quirk: [io  0x0600-0x063f] claimed by PIIX4 ACPI
[    0.449314] pci 0000:00:01.3: quirk: [io  0x0700-0x070f] claimed by PIIX4 SMB
[    0.491220] ACPI: PCI Interrupt Link [LNKA] (IRQs 5 *10 11)
[    0.491426] ACPI: PCI Interrupt Link [LNKB] (IRQs 5 *10 11)
[    0.492585] ACPI: PCI Interrupt Link [LNKC] (IRQs 5 10 *11)
[    0.493736] ACPI: PCI Interrupt Link [LNKD] (IRQs 5 10 *11)
[    0.494874] ACPI: PCI Interrupt Link [LNKS] (IRQs *9)
[    0.495656] pci 0000:00:02.0: vgaarb: setting as boot VGA device
[    0.497333] pci 0000:00:02.0: vgaarb: VGA device added: decodes=io+mem,owns=io+mem,locks=none
[    0.499351] pci 0000:00:02.0: vgaarb: bridge control possible
[    0.500467] vgaarb: loaded
[    0.501164] pps_core: LinuxPPS API ver. 1 registered
[    0.502155] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.503351] PTP clock support registered
[    0.504169] EDAC MC: Ver: 3.0.0
[    0.505072] PCI: Using ACPI for IRQ routing
[    0.505072] clocksource: Switched to clocksource kvm-clock
[    0.511050] VFS: Disk quotas dquot_6.6.0
[    0.511892] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    0.513003] AppArmor: AppArmor Filesystem Enabled
[    0.513784] pnp: PnP ACPI init
[    0.514591] pnp: PnP ACPI: found 5 devices
[    0.521354] clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns
[    0.523689] NET: Registered protocol family 2
[    0.524834] tcp_listen_portaddr_hash hash table entries: 8192 (order: 5, 131072 bytes)
[    0.526401] TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
[    0.527966] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
[    0.529131] TCP: Hash tables configured (established 131072 bind 65536)
[    0.530290] UDP hash table entries: 8192 (order: 6, 262144 bytes)
[    0.531329] UDP-Lite hash table entries: 8192 (order: 6, 262144 bytes)
[    0.532519] NET: Registered protocol family 1
[    0.533277] NET: Registered protocol family 44
[    0.534072] pci 0000:00:01.0: PIIX3: Enabling Passive Release
[    0.535007] pci 0000:00:00.0: Limiting direct PCI/PCI transfers
[    0.535980] pci 0000:00:01.0: Activating ISA DMA hang workarounds
[    0.537021] pci 0000:00:02.0: Video device with shadowed ROM at [mem 0x000c0000-0x000dffff]
[    0.551522] PCI Interrupt Link [LNKA] enabled at IRQ 10
[    0.570711] pci 0000:00:05.0: quirk_usb_early_handoff+0x0/0x6c1 took 31529 usecs
[    0.586949] PCI Interrupt Link [LNKB] enabled at IRQ 11
[    0.603664] pci 0000:00:05.1: quirk_usb_early_handoff+0x0/0x6c1 took 30954 usecs
[    0.621032] PCI Interrupt Link [LNKC] enabled at IRQ 11
[    0.635390] pci 0000:00:05.2: quirk_usb_early_handoff+0x0/0x6c1 took 29668 usecs
[    0.652704] PCI Interrupt Link [LNKD] enabled at IRQ 10
[    0.667600] pci 0000:00:05.7: quirk_usb_early_handoff+0x0/0x6c1 took 30085 usecs
[    0.669062] Unpacking initramfs...
[    1.950879] Freeing initrd memory: 979632K
[    1.951832] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
[    1.953096] software IO TLB: mapped [mem 0xbbfe0000-0xbffe0000] (64MB)
[    1.954380] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x2879c456dd4, max_idle_ns: 440795285767 ns
[    1.956767] Initialise system trusted keyrings
[    1.957703] Key type blacklist registered
[    1.958606] workingset: timestamp_bits=40 max_order=22 bucket_order=0
[    1.960415] zbud: loaded
[    2.055159] Key type asymmetric registered
[    2.056126] Asymmetric key parser 'x509' registered
[    2.057029] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
[    2.058419] io scheduler noop registered
[    2.059158] io scheduler deadline registered
[    2.060008] io scheduler cfq registered (default)
[    2.060818] io scheduler mq-deadline registered
[    2.061756] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
[    2.063161] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    2.087064] 00:04: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
[    2.089136] Linux agpgart interface v0.103
[    2.090084] AMD IOMMUv2 driver by Joerg Roedel <jroedel@suse.de>
[    2.091022] AMD IOMMUv2 functionality not available on this system
[    2.092419] i8042: PNP: PS/2 Controller [PNP0303:KBD,PNP0f13:MOU] at 0x60,0x64 irq 1,12
[    2.094498] serio: i8042 KBD port at 0x60,0x64 irq 1
[    2.095447] serio: i8042 AUX port at 0x60,0x64 irq 12
[    2.096345] mousedev: PS/2 mouse device common for all mice
[    2.097304] rtc_cmos 00:00: RTC can wake from S4
[    2.098523] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0
[    2.099438] rtc_cmos 00:00: registered as rtc0
[    2.100865] rtc_cmos 00:00: alarms up to one day, y3k, 114 bytes nvram
[    2.102037] ledtrig-cpu: registered to indicate activity on CPUs
[    2.103226] NET: Registered protocol family 10
[    2.110807] Segment Routing with IPv6
[    2.111760] mip6: Mobile IPv6
[    2.112997] NET: Registered protocol family 17
[    2.114131] mpls_gso: MPLS GSO support
[    2.115311] mce: Using 10 MCE banks
[    2.116250] sched_clock: Marking stable (1985492415, 130706297)->(2143674556, -27475844)
[    2.118389] registered taskstats version 1
[    2.119396] Loading compiled-in X.509 certificates
[    2.145554] Loaded X.509 cert 'Debian Secure Boot CA: 6ccece7e4c6c0d1f6149f3dd27dfcc5cbb419ea1'
[    2.147319] Loaded X.509 cert 'Debian Secure Boot Signer: 00a7468def'
[    2.148611] zswap: loaded using pool lzo/zbud
[    2.149673] AppArmor: AppArmor sha1 policy hashing enabled
[    2.151016] rtc_cmos 00:00: setting system clock to 2020-05-18 00:51:41 UTC (1589763101)
[    2.154200] Freeing unused kernel image memory: 1588K
[    2.175389] Write protecting the kernel read-only data: 16384k
[    2.177677] Freeing unused kernel image memory: 2028K
[    2.178830] Freeing unused kernel image memory: 780K
[    2.184917] x86/mm: Checked W+X mappings: passed, no W+X pages found.
[    2.186254] x86/mm: Checking user space page tables
[    2.192137] x86/mm: Checked W+X mappings: passed, no W+X pages found.
[    2.193425] Run /init as init process
Loading, please wait...
Starting version 241
[    2.242178] piix4_smbus 0000:00:01.3: SMBus Host Controller at 0x700, revision 0
[    2.253150] SCSI subsystem initialized
[    2.255066] ACPI: bus type USB registered
[    2.255903] usbcore: registered new interface driver usbfs
[    2.256888] usbcore: registered new interface driver hub
[    2.257847] usbcore: registered new device driver usb
[    2.260011] FDC 0 is a S82078B
[    2.265728] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    2.271458] uhci_hcd: USB Universal Host Controller Interface driver
[    2.275878] scsi host0: ata_piix
[    2.277062] scsi host1: ata_piix
[    2.278439] ata1: PATA max MWDMA2 cmd 0x1f0 ctl 0x3f6 bmdma 0xc100 irq 14
[    2.279989] ata2: PATA max MWDMA2 cmd 0x170 ctl 0x376 bmdma 0xc108 irq 15
[    2.306473] uhci_hcd 0000:00:05.0: UHCI Host Controller
[    2.307964] uhci_hcd 0000:00:05.0: new USB bus registered, assigned bus number 1
[    2.309569] uhci_hcd 0000:00:05.0: detected 2 ports
[    2.319604] uhci_hcd 0000:00:05.0: irq 10, io base 0x0000c080
[    2.320820] usb usb1: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 4.19
[    2.322576] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.325592] usb usb1: Product: UHCI Host Controller
[    2.326775] usb usb1: Manufacturer: Linux 4.19.0-9-amd64 uhci_hcd
[    2.328107] usb usb1: SerialNumber: 0000:00:05.0
[    2.329247] hub 1-0:1.0: USB hub found
[    2.330155] hub 1-0:1.0: 2 ports detected
[    2.345740] uhci_hcd 0000:00:05.1: UHCI Host Controller
[    2.346762] uhci_hcd 0000:00:05.1: new USB bus registered, assigned bus number 2
[    2.348429] uhci_hcd 0000:00:05.1: detected 2 ports
[    2.349537] uhci_hcd 0000:00:05.1: irq 11, io base 0x0000c0a0
[    2.350774] usb usb2: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 4.19
[    2.352415] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.353906] usb usb2: Product: UHCI Host Controller
[    2.355657] usb usb2: Manufacturer: Linux 4.19.0-9-amd64 uhci_hcd
[    2.356919] usb usb2: SerialNumber: 0000:00:05.1
[    2.358046] hub 2-0:1.0: USB hub found
[    2.358872] hub 2-0:1.0: 2 ports detected
[    2.375715] uhci_hcd 0000:00:05.2: UHCI Host Controller
[    2.376817] uhci_hcd 0000:00:05.2: new USB bus registered, assigned bus number 3
[    2.378477] uhci_hcd 0000:00:05.2: detected 2 ports
[    2.379557] uhci_hcd 0000:00:05.2: irq 11, io base 0x0000c0c0
[    2.380763] usb usb3: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 4.19
[    2.382425] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.383955] usb usb3: Product: UHCI Host Controller
[    2.385319] usb usb3: Manufacturer: Linux 4.19.0-9-amd64 uhci_hcd
[    2.386483] usb usb3: SerialNumber: 0000:00:05.2
[    2.387562] hub 3-0:1.0: USB hub found
[    2.388375] hub 3-0:1.0: 2 ports detected
[    2.390747] ehci-pci: EHCI PCI platform driver
[    2.406098] ehci-pci 0000:00:05.7: EHCI Host Controller
[    2.407215] ehci-pci 0000:00:05.7: new USB bus registered, assigned bus number 4
[    2.408846] ehci-pci 0000:00:05.7: irq 10, io mem 0xfc097000
[    2.427432] ehci-pci 0000:00:05.7: USB 2.0 started, EHCI 1.00
[    2.428791] usb usb4: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.19
[    2.430546] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.432045] usb usb4: Product: EHCI Host Controller
[    2.433084] usb usb4: Manufacturer: Linux 4.19.0-9-amd64 ehci_hcd
[    2.434363] usb usb4: SerialNumber: 0000:00:05.7
[    2.435480] hub 4-0:1.0: USB hub found
[    2.436326] hub 4-0:1.0: 6 ports detected
[    2.452041] cryptd: max_cpu_qlen set to 1000
[    2.457845] AVX2 version of gcm_enc/dec engaged.
[    2.458862] AES CTR mode by8 optimization enabled
[    2.463489] hub 1-0:1.0: USB hub found
[    2.464427] hub 1-0:1.0: 2 ports detected
[    2.495476] hub 2-0:1.0: USB hub found
[    2.496389] hub 2-0:1.0: 2 ports detected
[    2.527567] hub 3-0:1.0: USB hub found
[    2.528504] hub 3-0:1.0: 2 ports detected
[    2.586005] virtio_net virtio0 ens3: renamed from eth0
Begin: Loading essential drivers ... [    2.658262] dca service started, version 1.12.1
[    2.667126] igb: unknown parameter 'RSS' ignored
[    2.668241] igb: unknown parameter 'VMDQ' ignored
[    2.669250] igb: unknown parameter 'InterruptThrottleRate' ignored
[    2.670588] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.4.0-k
[    2.672073] igb: Copyright (c) 2007-2014 Intel Corporation.
[    2.684580] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
[    2.685829] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[    2.700337] i40e: Intel(R) Ethernet Connection XL710 Network Driver - version 2.3.2-k
[    2.702063] i40e: Copyright (c) 2013 - 2014 Intel Corporation.
[    2.717271] ixgbe: unknown parameter 'DCA' ignored
[    2.718130] ixgbe: unknown parameter 'dmac_watchdog' ignored
[    2.719044] ixgbe: unknown parameter 'InterruptThrottleRate' ignored
[    2.720137] ixgbe: Intel(R) 10 Gigabit PCI Express Network Driver - version 5.1.0-k
[    2.721501] ixgbe: Copyright (c) 1999-2016 Intel Corporation.
[    2.775370] usb 4-1: new high-speed USB device number 2 using ehci-pci
[    2.786039] zram: Added device: zram0
[    2.801579] VFIO - User Level meta-driver version: 0.3
[    2.816344] Loading iSCSI transport class v2.0-870.
[    2.821870] iscsi: registered transport (tcp)
[    2.907404] raid6: sse2x1   gen() 12047 MB/s
[    2.933453] usb 4-1: New USB device found, idVendor=0627, idProduct=0001, bcdDevice= 0.00
[    2.935104] usb 4-1: New USB device strings: Mfr=1, Product=3, SerialNumber=5
[    2.936311] usb 4-1: Product: QEMU USB Tablet
[    2.937064] usb 4-1: Manufacturer: QEMU
[    2.937906] usb 4-1: SerialNumber: 42
[    2.948335] hidraw: raw HID events driver (C) Jiri Kosina
[    2.953722] usbcore: registered new interface driver usbhid
[    2.954954] usbhid: USB HID core driver
[    2.956776] input: QEMU QEMU USB Tablet as /devices/pci0000:00/0000:00:05.7/usb4/4-1/4-1:1.0/0003:0627:0001.0001/input/input3
[    2.959191] hid-generic 0003:0627:0001.0001: input,hidraw0: USB HID v0.01 Mouse [QEMU QEMU USB Tablet] on usb-0000:00:05.7-1/input0
[    2.975363] raid6: sse2x1   xor()  7340 MB/s
[    3.043375] raid6: sse2x2   gen() 15004 MB/s
[    3.111373] raid6: sse2x2   xor()  9690 MB/s
[    3.179385] raid6: sse2x4   gen() 15340 MB/s
[    3.247380] raid6: sse2x4   xor() 10639 MB/s
[    3.268853] input: ImExPS/2 Generic Explorer Mouse as /devices/platform/i8042/serio1/input/input2
[    3.315400] raid6: avx2x1   gen() 23528 MB/s
[    3.383404] raid6: avx2x1   xor() 16801 MB/s
[    3.451390] raid6: avx2x2   gen() 28907 MB/s
[    3.519398] raid6: avx2x2   xor() 19111 MB/s
[    3.587380] raid6: avx2x4   gen() 34357 MB/s
[    3.655399] raid6: avx2x4   xor() 19942 MB/s
[    3.656459] raid6: using algorithm avx2x4 gen() 34357 MB/s
[    3.657359] raid6: .... xor() 19942 MB/s, rmw enabled
[    3.658208] raid6: using avx2x2 recovery algorithm
[    3.659890] xor: automatically using best checksumming function   avx       
[    3.662124] async_tx: api initialized (async)
done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... + PREREQ=
+ NS=nyble_snap.tar.zst
+ CB=/usr/bin/zstd
+ grep -q 'break=preunpack' /proc/cmdline
+ grep -q debug /proc/cmdline
+ grep -q 'rootfstype=ramdisk' /proc/cmdline
+ echo 'Creating and mounting ramdisk'
Creating and mounting ramdisk
+ mkdir -p /root
+ grep -q 'ramdisksize=' /proc/cmdline
+ RAMDISKSIZE=12
+ echo 'ramdisk size set to ' 12
ramdisk size set to  12
+ grep -q 'ramdisktype=zram' /proc/cmdline
+ modprobe -v zram 'num_devices=1'
+ echo 12G
[    3.701664] zram0: detected capacity change from 0 to 12884901888
+ echo 12G
+ mkfs.ext4 -q -m 0 -b 4096 -O sparse_super,dir_index,extent -L root /dev/zram0
+ mount -o relatime -t ext4 /dev/zram0 /root
[    3.900333] EXT4-fs (zram0): mounted filesystem with ordered data mode. Opts: (null)
+ echo

+ echo 'Unpacking file system into ramdisk'
Unpacking file system into ramdisk
+ cd /root
+ /bin/tar -I /usr/bin/zstd -xSf /nyble_snap.tar.zst -C /root
+ echo

+ grep -q 'image=keep' /proc/cmdline
+ echo 'keeping image'
keeping image
+ mv -fv /nyble_snap.tar.zst /root
'/nyble_snap.tar.zst' -> '/root/nyble_snap.tar.zst'
+ echo 'Make sys proc dev'
Make sys proc dev
+ mkdir -p /root/proc
+ mkdir -p /root/sys
+ mkdir -p /root/dev
+ echo

+ grep -q 'break=postunpack' /proc/cmdline
done.
Begin: Running /scripts/local-premount ... done.
Warning: fsck not present, so skipping root file system
done.
Begin: Running /scripts/local-bottom ... done.
Begin: Running /scripts/init-bottom ... done.
[   10.303620] systemd[1]: Inserted module 'autofs4'
[   10.313429] systemd[1]: systemd 241 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN -PCRE2 default-hierarchy=hybrid)
[   10.317314] systemd[1]: Detected virtualization kvm.
[   10.318310] systemd[1]: Detected architecture x86-64.

Welcome to Debian GNU/Linux 10 (buster)!

[   10.323242] systemd[1]: Set hostname to <NyBLE-ramboot>.
[   10.370755] systemd[1]: Created slice system-serial\x2dgetty.slice.
[  OK  ] Created slice system-serial\x2dgetty.slice.
[   10.373518] systemd[1]: Set up automount Arbitrary Executable File Formats File System Automount Point.
[  OK  ] Set up automount Arbitrary…s File System Automount Point.
[   10.376823] systemd[1]: Listening on udev Kernel Socket.
[  OK  ] Listening on udev Kernel Socket.
[   10.378910] systemd[1]: Reached target System Time Synchronized.
[  OK  ] Reached target System Time Synchronized.
[   10.381207] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[  OK  ] Started Dispatch Password …ts to Console Directory Watch.
[   10.383735] systemd[1]: Listening on initctl Compatibility Named Pipe.
[  OK  ] Listening on initctl Compatibility Named Pipe.
[  OK  ] Listening on udev Control Socket.
[  OK  ] Created slice User and Session Slice.
[  OK  ] Listening on RPCbind Server Activation Socket.
[  OK  ] Reached target Slices.
[  OK  ] Started Forward Password R…uests to Wall Directory Watch.
[  OK  ] Reached target Paths.
[  OK  ] Reached target Local Encrypted Volumes.
[  OK  ] Listening on Journal Audit Socket.
[  OK  ] Created slice system-getty.slice.
[  OK  ] Reached target Network is Online.
[  OK  ] Listening on Journal Socket (/dev/log).
[  OK  ] Listening on Syslog Socket.
[  OK  ] Listening on Journal Socket.
         Starting Journal Service...
         Mounting RPC Pipe File System...
         Starting udev Coldplug all Devices...
         Starting Load Kernel Modules...
         Starting Create list of re…odes for the current kernel...
         Mounting Kernel Debug File System...
         Mounting POSIX Message Queue File System...
         Starting Remount Root and Kernel File Systems...
[  OK  ] Reached target Swap.
         Mounting Huge Pages File System...
[  OK  ] Started Create list of req… nodes for the current kernel.
[  OK  ] Mounted Kernel Debug File System.
[  OK  ] Mounted POSIX Message Queue File System.
[  OK  ] Started Load Kernel Modules.
[  OK  ] Mounted Huge Pages File System.
         Starting Apply Kernel Variables...
[   10.455707] RPC: Registered named UNIX socket transport module.
[   10.457042] RPC: Registered udp transport module.
[   10.458159] RPC: Registered tcp transport module.
[   10.459043] RPC: Registered tcp NFSv4.1 backchannel transport module.
[  OK  ] Mounted RPC Pipe File System.
[  OK  ] Started udev Coldplug all Devices.
[  OK  ] Started Journal Service.
[   10.708687] systemd-sysctl (306): drop_caches: 3
[   10.716277] EXT4-fs (zram0): Unrecognized mount option "size=8G" or missing value
[FAILED] Failed to start Apply Kernel Variables.
See 'systemctl status systemd-sysctl.service' for details.
[FAILED] Failed to start Remount Root and Kernel File Systems.
See 'systemctl status systemd-remount-fs.service' for details.
         Starting Load/Save Random Seed...
         Starting Create System Users...
         Starting Flush Journal to Persistent Storage...
[  OK  ] Started Load/Save Random Seed.
[   10.751898] systemd-journald[296]: Received request to flush runtime journal from PID 1
[  OK  ] Started Create System Users.
         Starting Create Static Device Nodes in /dev...
[  OK  ] Started Create Static Device Nodes in /dev.
         Starting udev Kernel Device Manager...
[  OK  ] Reached target Local File Systems (Pre).
[  OK  ] Reached target Local File Systems.
         Starting Load AppArmor profiles...
         Starting Preprocess NFS configuration...
[  OK  ] Started Flush Journal to Persistent Storage.
[  OK  ] Started Preprocess NFS configuration.
[  OK  ] Reached target NFS client services.
         Starting Create Volatile Files and Directories...
[  OK  ] Started udev Kernel Device Manager.
[  OK  ] Started Create Volatile Files and Directories.
         Starting Update UTMP about System Boot/Shutdown...
         Starting RPC bind portmap service...
[  OK  ] Started Update UTMP about System Boot/Shutdown.
[   10.852611] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input4
[   10.854401] ACPI: Power Button [PWRF]
[  OK  ] Started RPC bind portmap service.
[  OK  ] Reached target Remote File Systems (Pre).
[  OK  ] Reached target Remote File Systems.
[  OK  ] Reached target RPC Port Mapper.
[   10.887610] audit: type=1400 audit(1589763110.236:2): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe" pid=333 comm="apparmor_parser"
[   10.890799] audit: type=1400 audit(1589763110.236:3): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe//kmod" pid=333 comm="apparmor_parser"
[   10.928815] audit: type=1400 audit(1589763110.276:4): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/bin/man" pid=334 comm="apparmor_parser"
[   10.931617] audit: type=1400 audit(1589763110.276:5): apparmor="STATUS" operation="profile_load" profile="unconfined" name="man_filter" pid=334 comm="apparmor_parser"
[   10.934216] audit: type=1400 audit(1589763110.276:6): apparmor="STATUS" operation="profile_load" profile="unconfined" name="man_groff" pid=334 comm="apparmor_parser"
[   10.938490] audit: type=1400 audit(1589763110.284:7): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/sbin/ntpd" pid=335 comm="apparmor_parser"
[  OK  ] Started Load AppArmor profiles.
[  OK  ] Reached target System Initialization.
[  OK  ] Started Daily man-db regeneration.
[  OK  ] Listening on D-Bus System Message Bus Socket.
[  OK  ] Reached target Sockets.
[  OK  ] Reached target Basic System.
         Starting LSB: network benchmark...
         Starting OpenBSD Secure Shell server...
         Starting System Logging Service...
         Starting LSB: OpenIPMI Driver init script...
         Starting Login Service...
         Starting Network Time Service...
[  OK  ] Started D-Bus System Message Bus.
[  OK  ] Started ipmiutil Watchdog Timer Service using cron.
[  OK  ] Started Daily apt download activities.
[  OK  ] Started Daily apt upgrade and clean activities.
         Starting LSB: Load kernel …d to enable cpufreq scaling...
[  OK  ] Started Daily rotation of log files.
[  OK  ] Started Regular background program processing daemon.
         Starting Initialize hardware monitoring sensors...
[  OK  ] Started Daily Cleanup of Temporary Directories.
[  OK  ] Reached target Timers.
         Starting Permit User Sessions...
         Starting LSB: nyble post boot configuration script...
[  OK  ] Started System Logging Service.
[  OK  ] Started Network Time Service.
[  OK  ] Started Permit User Sessions.
[  OK  ] Started OpenBSD Secure Shell server.
[  OK  ] Started Initialize hardware monitoring sensors.
[  OK  ] Started LSB: network benchmark.
[  OK  ] Started Getty on tty1.
[  OK  ] Started Login Service.
[   11.064411] version 39.2
[   11.066498] ipmi device interface
[   11.077470] IPMI System Interface driver.
[   11.080329] ipmi_si: Unable to find any System Interface(s)
[FAILED] Failed to start LSB: OpenIPMI Driver init script.
See 'systemctl status openipmi.service' for details.
[  OK  ] Started LSB: Load kernel m…ded to enable cpufreq scaling.
         Starting LSB: set CPUFreq kernel parameters...
[  OK  ] Started LSB: set CPUFreq kernel parameters.
[   11.260082] input: PC Speaker as /devices/platform/pcspkr/input/input5
         Starting LSB: Set sysfs variables from /etc/sysfs.conf...
[  OK  ] Started LSB: Set sysfs variables from /etc/sysfs.conf.
[  OK  ] Found device /dev/ttyS2.
[  OK  ] Found device /dev/ttyS1.
[  OK  ] Started Serial Getty on ttyS1.
[   11.301082] [drm] Device Version 0.0
[   11.301973] [drm] Compression level 0 log level 0
[   11.303018] [drm] 12286 io pages at offset 0x1000000
[   11.303019] [drm] 16777216 byte draw area at offset 0x0
[   11.303020] [drm] RAM header offset: 0x3ffe000
[   11.305428] [TTM] Zone  kernel: Available graphics memory: 6003896 kiB
[   11.305429] [TTM] Zone   dma32: Available graphics memory: 2097152 kiB
[   11.305429] [TTM] Initializing pool allocator
[   11.305432] [TTM] Initializing DMA pool allocator
[   11.305458] [drm] qxl: 16M of VRAM memory size
[   11.305458] [drm] qxl: 63M of IO pages memory ready (VRAM domain)
[   11.305458] [drm] qxl: 64M of Surface memory size
[   11.315831] [drm] main mem slot 1 [f4000000,3ffe000]
[   11.332776] [drm] surface mem slot 2 [f8000000,4000000]
[  OK  ] Started Serial Gett[   11.335171] [drm] fb mappable at 0xF4000000, size 3145728
y on ttyS2.
[   11.336378] [drm] fb: depth 24, pitch 4096, width 1024, height 768
[   11.338935] fbcon: qxldrmfb (fb0) is primary device
[   11.352037] snd_hda_codec_generic hdaudioC0D0: autoconfig for Generic: line_outs=1 (0x3/0x0/0x0/0x0/0x0) type:line
[   11.352039] snd_hda_codec_generic hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[   11.352040] snd_hda_codec_generic hdaudioC0D0:    hp_outs=0 (0x0/0x0/0x0/0x0/0x0)
[   11.352041] snd_hda_codec_generic hdaudioC0D0:    mono: mono_out=0x0
[   11.352042] snd_hda_codec_generic hdaudioC0D0:    inputs:
[   11.352043] snd_hda_codec_generic hdaudioC0D0:      Line=0x5
[   11.358044] Console: switching to colour frame buffer device 128x48
[   11.370101] qxl 0000:00:02.0: fb0: qxldrmfb frame buffer device
[  OK  ] Found device /dev/ttyS0.
[  OK  ] Started Serial Getty on ttyS0.
[  OK  ] Reached target Login Prompts.
[   11.395563] [drm] Initialized qxl 0.1.0 20120117 for 0000:00:02.0 on minor 0
[  OK  ] Reached target Sound Card.

Debian GNU/Linux 10 NyBLE-ramboot ttyS0

NyBLE-ramboot login: