kwindrem / SetupHelper

Helper functions to simplify writing setup scripts that modify VenusOs functionality. The package includes automatic reinstallation of the package after a VenusOs update.
153 stars 18 forks source link

Issues in v3.20~18 or slightly before #55

Closed mpvader closed 6 months ago

mpvader commented 6 months ago

background here: https://community.victronenergy.com/questions/240314/venus-os-v32014-available-for-testing.html

Issues found after some discussion:

  1. setuphelper install doesn't stop when it sees an error
  2. disk is full, use resize2fs.sh rather than remount-rw.sh
  3. why not use diff and patch commands to install changes; and make sure to somehow do it atomic, or a test run first. BUT: that is a rather large change in how all this works, perhaps better to spend that time for mods on guiv2.

Some more about disk full: what setuphelper does is mv all files that it wnats to modify to a [filename]-original or something very similar. Then it copies over its wanted copy from the data partition onto the rootfs, resulting in needing more diskspace.

what we did in v3.20~16, or 17 or 18, is add the new gui-v2 binaries to run on the local LCD, which also drags in Qt6, which needs lots of space so we reduced the amount of free space in the standard image.

And that, in combination with setup helper not running resize2fs.sh but remount-rw.sh, makes it all go wrong.

Some diskspace notes

Freespace on a Cerbo v3.12~1:

root@einstein:~# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root               320.3M    242.6M     56.2M  81% /
devtmpfs                454.5M      4.0K    454.5M   0% /dev
tmpfs                   503.0M    904.0K    502.1M   0% /run
tmpfs                   503.0M    284.0K    502.7M   0% /var/volatile
/dev/mmcblk1p5            1.1G    123.0M    955.7M  11% /data
tmpfs                   503.0M    904.0K    502.1M   0% /service
overlay                 503.0M    284.0K    502.7M   0% /var/lib

Freespace after installing v3.20~18 large, and without running resize2fs.sh

root@einstein:~# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root              1006.3M    997.2M         0 100% /
devtmpfs                454.5M      4.0K    454.5M   0% /dev
tmpfs                   503.0M    948.0K    502.0M   0% /run
tmpfs                   503.0M    228.0K    502.7M   0% /var/volatile
/dev/mmcblk1p5            1.1G    123.1M    955.7M  11% /data
tmpfs                   503.0M    948.0K    502.0M   0% /service
overlay                 503.0M    228.0K    502.7M   0% /var/lib
root@einstein:~# 

How to reproduce:

Step 1. install venus os large v2.30~18 on a cerbo. Step 2. login on ssh, and install Kevin his setuphelper package from the commandline as per instructions in his readme:

wget -qO - https://github.com/kwindrem/SetupHelper/archive/latest.tar.gz | tar -xzf - -C /data
mv /data/SetupHelper-latest /data/SetupHelper
/data/SetupHelper/setup

Then follow the onscreen instructions a bit, which has two interesting error messages. The first being all the disk full warnings. And the second the one in the end, most likely due to us changing gui start scripts:

--- starting setup script v5.10
making the rootfs writable...
creating root setup options directory /data/setupOptions
creating package options directory /data/setupOptions/SetupHelper

This package provides support functions and utilities for Venus modification packages
Packages are automatically reinstalled following a Venus OS update
All actions are controlled via /Settings/PackageMonitor in the GUI
  Packages may be automatically updated from GitHub or a USB stick
  Previously uninstalled packages can also be downloaded an installed

Available actions:
  Install and activate (i)
  Reinstall (r) based on options provided at last install
  Uninstall (u) and restores all files to stock
  Quit (q) without further action
  Display setup log (s) outputs the last 100 lines of the log

Choose an action from the list above: i
cp: write error: No space left on device
cp: write error: No space left on device
cp: write error: No space left on device
cp: write error: No space left on device
cp: write error: No space left on device
cp: write error: No space left on device
cp: write error: No space left on device
cp: write error: No space left on device
cp: write error: No space left on device
cp: write error: No space left on device
cp: write error: No space left on device
installing PackageManager service
cp: can't create directory '/opt/victronenergy/service/PackageManager': No space left on device
waiting for PackageManager service to start
waiting for PackageManager service to start
waiting for PackageManager service to start
service PackageManager running
adding SetupHelper/setup to reinstallScriptsList
creating /data/rcS.local
cp: write error: No space left on device
Restart the GUI now (y) or issue a do it manually later (n): y
restarting GUI ...
svc: warning: unable to chdir to /service/gui: file does not exist
root@einstein:~# ```
Here is a log of running setuphelper setup, two issues in there, one is continuing even though there is no space, and two is that it seems to be incompatible with our recent change in how the gui is started.

root@einstein:~# /data/SetupHelper/setup --- starting setup script v5.10 making the rootfs writable... creating root setup options directory /data/setupOptions creating package options directory /data/setupOptions/SetupHelper

This package provides support functions and utilities for Venus modification packages Packages are automatically reinstalled following a Venus OS update All actions are controlled via /Settings/PackageMonitor in the GUI Packages may be automatically updated from GitHub or a USB stick Previously uninstalled packages can also be downloaded an installed

Available actions: Install and activate (i) Reinstall (r) based on options provided at last install Uninstall (u) and restores all files to stock Quit (q) without further action Display setup log (s) outputs the last 100 lines of the log

Choose an action from the list above: i cp: write error: No space left on device cp: write error: No space left on device cp: write error: No space left on device cp: write error: No space left on device cp: write error: No space left on device cp: write error: No space left on device cp: write error: No space left on device cp: write error: No space left on device cp: write error: No space left on device cp: write error: No space left on device cp: write error: No space left on device installing PackageManager service cp: can't create directory '/opt/victronenergy/service/PackageManager': No space left on device waiting for PackageManager service to start waiting for PackageManager service to start waiting for PackageManager service to start service PackageManager running adding SetupHelper/setup to reinstallScriptsList creating /data/rcS.local cp: write error: No space left on device Restart the GUI now (y) or issue a do it manually later (n): y restarting GUI ... svc: warning: unable to chdir to /service/gui: file does not exist root@einstein:~#

mpvader commented 6 months ago

After above it ends up being in a reboot loop every few minutes (some watchdog I expect), and the GX Touch shows totally black except for a short blip

U-Boot SPL 2018.05 (Apr 12 2023 - 23:29:03 +0000)
DRAM: 1024 MiB
CPU: 912000000Hz, AXI/AHB/APB: 3/2/2
Trying to boot from MMC2

U-Boot 2018.05 (Apr 12 2023 - 23:29:03 +0000) Allwinner Technology

CPU:   Allwinner A20 (SUN7I)
Model: Cubietech Cubieboard2
I2C:   ready
DRAM:  1 GiB
MMC:   SUNXI SD/MMC: 0, SUNXI SD/MMC: 1
Loading Environment from MMC... OK
In:    serial@01c28000
Out:   serial@01c28000
Err:   serial@01c28000
Net:   No ethernet found.
Setting bus to 1
Hit any key to stop autoboot:  0
30726 bytes read in 8 ms (3.7 MiB/s)
3825376 bytes read in 222 ms (16.4 MiB/s)
## Flattened Device Tree blob at 43000000
   Booting using the fdt blob at 0x43000000
   Loading Device Tree to 49ff5000, end 49fff805 ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 5.10.109-venus-12 (oe-user@oe-host) (arm-ve-linux-gnueabi-gcc (GCC) 9.5.0, GNU ld (GNU Binutils) 2.34.0.20200910) #1 SMP Sun Nov 5 22:57:12 UTC 2023
[    0.000000] CPU: ARMv7 Processor [410fc074] revision 4 (ARMv7), cr=10c5387d
[    0.000000] CPU: div instructions available: patching division code
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: Cerbo GX
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] Reserved memory: created CMA memory pool at 0x4a000000, size 96 MiB
[    0.000000] OF: reserved mem: initialized node default-pool, compatible id shared-dma-pool
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000040000000-0x000000006fffffff]
[    0.000000]   HighMem  [mem 0x0000000070000000-0x000000007fffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000040000000-0x000000007fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x000000007fffffff]
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: Using PSCI v0.1 Function IDs from DT
[    0.000000] percpu: Embedded 15 pages/cpu s31564 r8192 d21684 u61440
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 260608
[    0.000000] Kernel command line: console=ttyS0,115200 root=/dev/mmcblk1p3 rootwait ro rootfstype=ext4 vt.global_cursor_default=0
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes, linear)
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 930756K/1048576K available (6144K kernel code, 647K rwdata, 1304K rodata, 1024K init, 221K bss, 19516K reserved, 98304K cma-reserved, 262144K highmem)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
[    0.000000]  Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] random: get_random_bytes called from start_kernel+0x314/0x4ac with crng_init=0
[    0.000000] arch_timer: cp15 timer(s) running at 24.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[    0.000008] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[    0.000023] Switching to timer-based delay loop, resolution 41ns
[    0.000469] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[    0.000812] clocksource: hstimer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 6370868154 ns
[    0.001088] Console: colour dummy device 80x30
[    0.001163] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
[    0.001187] pid_max: default: 32768 minimum: 301
[    0.001328] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
[    0.001348] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
[    0.002090] CPU: Testing write buffer coherency: ok
[    0.002448] /cpus/cpu@0 missing clock-frequency property
[    0.002478] /cpus/cpu@1 missing clock-frequency property
[    0.002493] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.003158] Setting up static identity map for 0x40100000 - 0x40100060
[    0.003316] rcu: Hierarchical SRCU implementation.
[    0.004058] smp: Bringing up secondary CPUs ...
[    0.014835] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.014996] smp: Brought up 1 node, 2 CPUs
[    0.015017] SMP: Total of 2 processors activated (96.00 BogoMIPS).
[    0.015026] CPU: All CPU(s) started in HYP mode.
[    0.015034] CPU: Virtualization extensions available.
[    0.015789] devtmpfs: initialized
[    0.022473] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 4
[    0.022710] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.022743] futex hash table entries: 512 (order: 3, 32768 bytes, linear)
[    0.026074] pinctrl core: initialized pinctrl subsystem
[    0.027264] NET: Registered protocol family 16
[    0.028656] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.029855] thermal_sys: Registered thermal governor 'step_wise'
[    0.030182] cpuidle: using governor menu
[    0.030380] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[    0.030393] hw-breakpoint: maximum watchpoint size is 8 bytes.
[    0.054745] cryptd: max_cpu_qlen set to 1000
[    0.056634] iommu: Default domain type: Translated
[    0.056954] usbcore: registered new interface driver usbfs
[    0.057014] usbcore: registered new interface driver hub
[    0.057066] usbcore: registered new device driver usb
[    0.058667] clocksource: Switched to clocksource arch_sys_counter
[    0.066972] NET: Registered protocol family 2
[    0.067210] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.068342] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear)
[    0.068384] TCP established hash table entries: 8192 (order: 3, 32768 bytes, linear)
[    0.068471] TCP bind hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.068599] TCP: Hash tables configured (established 8192 bind 8192)
[    0.068807] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
[    0.068884] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
[    0.069096] NET: Registered protocol family 1
[    0.069948] hw perfevents: no interrupt-affinity property for /pmu, guessing.
[    0.070219] hw perfevents: enabled with armv7_cortex_a7 PMU driver, 5 counters available
[    0.072381] Initialise system trusted keyrings
[    0.072648] workingset: timestamp_bits=30 max_order=18 bucket_order=0
[    0.077075] Key type asymmetric registered
[    0.077102] Asymmetric key parser 'x509' registered
[    0.077165] bounce: pool size: 64 pages
[    0.078270] sun4i-usb-phy 1c13400.phy: Couldn't get regulator usb0_vbus... Deferring probe
[    0.080485] sun4i-pinctrl 1c20800.pinctrl: supply vcc-pi not found, using dummy regulator
[    0.082470] sun4i-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[    0.091973] Serial: 8250/16550 driver, 8 ports
[    0.092301] sun4i-pinctrl 1c20800.pinctrl: supply vcc-pb not found, using dummy regulator
[    0.112820] 1c28000.serial: ttyS0 at MMIO 0x1c28000 (irq = 56, base_baud = 1500000) is a U6_16550A
[    0.729059] printk: console [ttyS0] enabled
[    0.756434] 1c28800.serial: ttyS2 at MMIO 0x1c28800 (irq = 57, base_baud = 1500000) is a U6_16550A
[    0.765648] serial serial0: tty port ttyS2 registered
[    0.771151] sun4i-pinctrl 1c20800.pinctrl: supply vcc-ph not found, using dummy regulator
[    0.799810] 1c28c00.serial: ttyS3 at MMIO 0x1c28c00 (irq = 58, base_baud = 1500000) is a U6_16550A
[    0.829810] 1c29000.serial: ttyS4 at MMIO 0x1c29000 (irq = 59, base_baud = 1500000) is a U6_16550A
[    0.859960] 1c29400.serial: ttyS5 at MMIO 0x1c29400 (irq = 60, base_baud = 1500000) is a U6_16550A
[    0.890177] 1c29800.serial: ttyS6 at MMIO 0x1c29800 (irq = 61, base_baud = 1500000) is a U6_16550A
[    0.920149] 1c29c00.serial: ttyS7 at MMIO 0x1c29c00 (irq = 62, base_baud = 1500000) is a U6_16550A
[    0.931745] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    0.938284] ehci-platform: EHCI generic platform driver
[    0.944123] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    0.950384] ohci-platform: OHCI generic platform driver
[    0.958100] sunxi-rtc 1c20d00.rtc: registered as rtc1
[    0.963421] i2c /dev entries driver
[    0.968213] axp20x-i2c 0-0034: AXP20x variant AXP209 found
[    0.981275] vdd-rtc: supplied by regulator-dummy
[    0.986683] avcc: supplied by regulator-dummy
[    0.992422] ldo3: supplied by regulator-dummy
[    0.996891] ldo4: Bringing 3300000uV into 2800000-2800000uV
[    1.003035] ldo4: supplied by regulator-dummy
[    1.008020] ldo5: supplied by regulator-dummy
[    1.012985] vdd-cpu: supplied by regulator-dummy
[    1.018292] vdd-sys: Bringing 1250000uV into 1400000-1400000uV
[    1.024516] vdd-sys: supplied by regulator-dummy
[    1.029721] axp20x-i2c 0-0034: AXP20X driver loaded
[    1.035955] at24 1-0050: supply vcc not found, using dummy regulator
[    1.043239] at24 1-0050: 256 byte 24c02 EEPROM, read-only
[    1.052052] rtc-pcf8523 1-0068: registered as rtc0
[    1.058267] rtc-pcf8523 1-0068: setting system clock to 2023-11-07T21:56:52 UTC (1699394212)
[    1.067586] i2c i2c-2: using pinctrl states for GPIO recovery
[    1.073494] gpio-52 (scl): enforced open drain please flag it properly in DT/ACPI DSDT/board file
[    1.082409] i2c i2c-2: using generic GPIOs for recovery
[    1.091205] sunxi-wdt 1c20c90.watchdog: Watchdog enabled (timeout=16 sec, nowayout=1)
[    1.099871] watchdog: watchdog0 running and kernel based pre-userspace handler disabled
[    1.113952] NET: Registered protocol family 10
[    1.119989] Segment Routing with IPv6
[    1.120120] sunxi-mmc 1c0f000.mmc: Got CD GPIO
[    1.123745] NET: Registered protocol family 17
[    1.130153] sunxi-mmc 1c12000.mmc: allocated mmc-pwrseq
[    1.132735] Registering SWP/SWPB emulation handler
[    1.144902] registered taskstats version 1
[    1.149106] Loading compiled-in X.509 certificates
[    1.153595] sunxi-mmc 1c11000.mmc: initialized, max. request size: 16384 KB
[    1.161597] sunxi-mmc 1c12000.mmc: initialized, max. request size: 16384 KB
[    1.167189] hdmi-vcc: supplied by usb0-vbus
[    1.169527] sunxi-mmc 1c0f000.mmc: initialized, max. request size: 16384 KB
[    1.174904] ehci-platform 1c14000.usb: EHCI Host Controller
[    1.185813] ehci-platform 1c14000.usb: new USB bus registered, assigned bus number 1
[    1.189238] random: fast init done
[    1.197251] ehci-platform 1c14000.usb: irq 43, io mem 0x01c14000
[    1.203000] mmc2: queuing unknown CIS tuple 0x80 (2 bytes)
[    1.210280] mmc2: queuing unknown CIS tuple 0x80 (3 bytes)
[    1.217280] mmc2: queuing unknown CIS tuple 0x80 (3 bytes)
[    1.225453] mmc2: queuing unknown CIS tuple 0x80 (7 bytes)
[    1.228692] ehci-platform 1c14000.usb: USB 2.0 started, EHCI 1.00
[    1.234265] mmc2: queuing unknown CIS tuple 0x81 (9 bytes)
[    1.237272] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.10
[    1.250816] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.253924] mmc2: new high speed SDIO card at address 0001
[    1.258032] usb usb1: Product: EHCI Host Controller
[    1.258039] usb usb1: Manufacturer: Linux 5.10.109-venus-12 ehci_hcd
[    1.258051] usb usb1: SerialNumber: 1c14000.usb
[    1.279473] mmc1: new DDR MMC card at address 0001
[    1.279952] hub 1-0:1.0: USB hub found
[    1.288209] hub 1-0:1.0: 1 port detected
[    1.288783] mmcblk1: mmc1:0001 SEM04G 3.69 GiB
[    1.293446] ehci-platform 1c1c000.usb: EHCI Host Controller
[    1.297159] mmcblk1boot0: mmc1:0001 SEM04G partition 1 2.00 MiB
[    1.302763] ehci-platform 1c1c000.usb: new USB bus registered, assigned bus number 2
[    1.308892] mmcblk1boot1: mmc1:0001 SEM04G partition 2 2.00 MiB
[    1.316411] ehci-platform 1c1c000.usb: irq 47, io mem 0x01c1c000
[    1.324038]  mmcblk1: p1 p2 p3 p4 < p5 >
[    1.348711] ehci-platform 1c1c000.usb: USB 2.0 started, EHCI 1.00
[    1.355062] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.10
[    1.363366] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.370597] usb usb2: Product: EHCI Host Controller
[    1.375473] usb usb2: Manufacturer: Linux 5.10.109-venus-12 ehci_hcd
[    1.381839] usb usb2: SerialNumber: 1c1c000.usb
[    1.386999] hub 2-0:1.0: USB hub found
[    1.390850] hub 2-0:1.0: 1 port detected
[    1.395789] ohci-platform 1c14400.usb: Generic Platform OHCI controller
[    1.402773] ohci-platform 1c14400.usb: new USB bus registered, assigned bus number 3
[    1.410837] ohci-platform 1c14400.usb: irq 44, io mem 0x01c14400
[    1.482894] usb usb3: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 5.10
[    1.491198] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.498414] usb usb3: Product: Generic Platform OHCI controller
[    1.504345] usb usb3: Manufacturer: Linux 5.10.109-venus-12 ohci_hcd
[    1.510705] usb usb3: SerialNumber: 1c14400.usb
[    1.515844] hub 3-0:1.0: USB hub found
[    1.519709] hub 3-0:1.0: 1 port detected
[    1.524595] ohci-platform 1c1c400.usb: Generic Platform OHCI controller
[    1.531624] ohci-platform 1c1c400.usb: new USB bus registered, assigned bus number 4
[    1.539808] ohci-platform 1c1c400.usb: irq 48, io mem 0x01c1c400
[    1.612888] usb usb4: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 5.10
[    1.621183] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.628400] usb usb4: Product: Generic Platform OHCI controller
[    1.634334] usb usb4: Manufacturer: Linux 5.10.109-venus-12 ohci_hcd
[    1.640709] usb usb4: SerialNumber: 1c1c400.usb
[    1.645849] hub 4-0:1.0: USB hub found
[    1.649708] hub 4-0:1.0: 1 port detected
[    1.654696] usb_phy_generic usb_phy_generic.0.auto: supply vcc not found, using dummy regulator
[    1.664167] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
[    1.670516] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 5
[    1.678550] usb usb5: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.10
[    1.686881] usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.694125] usb usb5: Product: MUSB HDRC host driver
[    1.699100] usb usb5: Manufacturer: Linux 5.10.109-venus-12 musb-hcd
[    1.705449] usb usb5: SerialNumber: musb-hdrc.1.auto
[    1.711001] hub 5-0:1.0: USB hub found
[    1.714801] hub 5-0:1.0: 1 port detected
[    2.158687] usb 5-1: new high-speed USB device number 2 using musb-hdrc
[    2.338836] usb 5-1: New USB device found, idVendor=0424, idProduct=2422, bcdDevice= 0.a0
[    2.347013] usb 5-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    2.354793] hub 5-1:1.0: USB hub found
[    2.358612] hub 5-1:1.0: 2 ports detected
[    2.678681] usb 5-1.1: new high-speed USB device number 3 using musb-hdrc
[    2.808963] usb 5-1.1: config 1 interface 0 altsetting 0 has an ignored endpoint with address 0x81, skipping
[    2.818816] usb 5-1.1: config 1 interface 0 altsetting 0 has an ignored endpoint with address 0x2, skipping
[    2.828549] usb 5-1.1: config 1 interface 0 altsetting 0 has an ignored endpoint with address 0x82, skipping
[    2.838375] usb 5-1.1: config 1 interface 1 altsetting 0 has an ignored endpoint with address 0x3, skipping
[    2.848117] usb 5-1.1: config 1 interface 1 altsetting 0 has an ignored endpoint with address 0x83, skipping
[    2.857948] usb 5-1.1: config 1 interface 1 altsetting 1 has an ignored endpoint with address 0x3, skipping
[    2.867697] usb 5-1.1: config 1 interface 1 altsetting 1 has an ignored endpoint with address 0x83, skipping
[    2.877548] usb 5-1.1: config 1 interface 1 altsetting 2 has an ignored endpoint with address 0x3, skipping
[    2.887295] usb 5-1.1: config 1 interface 1 altsetting 2 has an ignored endpoint with address 0x83, skipping
[    2.897127] usb 5-1.1: config 1 interface 1 altsetting 3 has an ignored endpoint with address 0x3, skipping
[    2.906873] usb 5-1.1: config 1 interface 1 altsetting 3 has an ignored endpoint with address 0x83, skipping
[    2.916704] usb 5-1.1: config 1 interface 1 altsetting 4 has an ignored endpoint with address 0x3, skipping
[    2.926448] usb 5-1.1: config 1 interface 1 altsetting 4 has an ignored endpoint with address 0x83, skipping
[    2.936286] usb 5-1.1: config 1 interface 1 altsetting 5 has an ignored endpoint with address 0x3, skipping
[    2.946028] usb 5-1.1: config 1 interface 1 altsetting 5 has an ignored endpoint with address 0x83, skipping
[    2.956066] usb 5-1.1: New USB device found, idVendor=0bda, idProduct=b720, bcdDevice= 2.00
[    2.964443] usb 5-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    2.971759] usb 5-1.1: Product: 802.11n WLAN Adapter
[    2.976720] usb 5-1.1: Manufacturer: Realtek
[    2.981000] usb 5-1.1: SerialNumber: 00e04c000001
[    3.289326] at24 2-0050: 256 byte 24c02 EEPROM, read-only
[    3.295905] input: button as /devices/platform/button/input/input0
[    3.309325] EXT4-fs (mmcblk1p3): INFO: recovery required on readonly filesystem
[    3.316648] EXT4-fs (mmcblk1p3): write access will be enabled during recovery
[    3.462056] EXT4-fs (mmcblk1p3): recovery complete
[    3.469058] EXT4-fs (mmcblk1p3): mounted filesystem with ordered data mode. Opts: (null)
[    3.477239] VFS: Mounted root (ext4 filesystem) readonly on device 179:3.
[    3.484785] devtmpfs: mounted
[    3.489251] Freeing unused kernel memory: 1024K
[    3.493964] Run /sbin/init as init process
INIT: version 2.96 booting
mount: /proc: can't find in /etc/fstab.
data partition is not mounted!
/etc/rcS.d/S03test-data-partition.sh: line 42: /run/data-partition-state: Read-only file system
mkdir: can't create directory '/run/lock': File exists
Starting udev
mkdir: can't create directory '/var/volatile/tmp': Read-only file system
[    3.972650] udevd[112]: could not create /run/udev: Read-only file system

WARN: conflicting configurations in /etc/fstab and /etc/default/rcS
      regarding the writability of rootfs. Please fix one of them.

[    4.108595] EXT4-fs (mmcblk1p3): re-mounted. Opts: (null)
mkdir: can't create directory '/run/overlays/': No space left on device
cp: can't create directory '/run/overlays/service/dbus-adc': No such file or directory
cp: can't create directory '/run/overlays/service/dbus-ble-sensors': No such file or directory
cp: can't create directory '/run/overlays/service/dbus-digitalinputs': No such file or directory
cp: can't create directory '/run/overlays/service/dbus-fronius': No such file or directory
cp: can't create directory '/run/overlays/service/dbus-generator-starter': No such file or directory
cp: can't create directory '/run/overlays/service/dbus-modbus-client': No such file or directory
cp: can't create directory '/run/overlays/service/dbus-pump': No such file or directory
cp: can't create directory '/run/overlays/service/dbus-qwacs': No such file or directory
cp: can't create directory '/run/overlays/service/dbus-shelly': No such file or directory
cp: can't create directory '/run/overlays/service/dbus-systemcalc-py': No such file or directory
cp: can't create directory '/run/overlays/service/dbus-tempsensor-relay': No such file or directory
cp: can't create directory '/run/overlays/service/dbus-vebus-to-pvinverter': No such file or directory
cp: can't create directory '/run/overlays/service/flashmq': No such file or directory
cp: can't create directory '/run/overlays/service/hub4control': No such file or directory
cp: can't create directory '/run/overlays/service/llmnrd': No such file or directory
cp: can't create directory '/run/overlays/service/localsettings': No such file or directory
cp: can't create directory '/run/overlays/service/netmon': No such file or directory
cp: can't create directory '/run/overlays/service/nginx': No such file or directory
cp: can't create directory '/run/overlays/service/node-red-venus': No such file or directory
cp: can't create directory '/run/overlays/service/ppp': No such file or directory
cp: can't create directory '/run/overlays/service/serial-starter': No such file or directory
cp: can't create directory '/run/overlays/service/service-advertiser': No such file or directory
cp: can't create directory '/run/overlays/service/signalk-server': No such file or directory
cp: can't create directory '/run/overlays/service/simple-upnpd': No such file or directory
cp: can't create directory '/run/overlays/service/start-gui': No such file or directory
cp: can't create directory '/run/overlays/service/venus-access': No such file or directory
cp: can't create directory '/run/overlays/service/venus-button-handler': No such file or directory
cp: can't create directory '/run/overlays/service/venus-html5-logger': No such file or directory
cp: can't create directory '/run/overlays/service/venus-platform': No such file or directory
cp: can't create directory '/run/overlays/service/vrmlogger': No such file or directory
mount: /service: special device /run/overlays/service does not exist.
[    5.205041] random: crng init done
mkdir: can't create directory '/var/volatile/log': No space left on device
chown: /var/volatile/log: No such file or directory
Failed to set owner -root- for -/var/volatile/log-.
chmod: /var/volatile/log: No such file or directory
Failed to set mode -0755- for -/var/volatile/log-.
mkdir: can't create directory '/var/volatile/tmp': No space left on device
chown: /var/volatile/tmp: No such file or directory
Failed to set owner -root- for -/var/volatile/tmp-.
chmod: /var/volatile/tmp: No such file or directory
Failed to set mode -1777- for -/var/volatile/tmp-.
mkdir: can't create directory '/var/lock/subsys': No space left on device
chown: /var/lock/subsys: No such file or directory
Failed to set owner -root- for -/var/lock/subsys-.
chmod: /var/lock/subsys: No such file or directory
Failed to set mode -0755- for -/var/lock/subsys-.
touch: /var/volatile/log/wtmp: No such file or directory
chown: /var/volatile/log/wtmp: No such file or directory
Failed to set owner -root- for -/var/volatile/log/wtmp-.
chmod: /var/volatile/log/wtmp: No such file or directory
Failed to set mode -0664- for -/var/volatile/log/wtmp-.
mkdir: can't create directory '/var/run/connman': No space left on device
chown: /var/run/connman: No such file or directory
Failed to set owner -root- for -/var/run/connman-.
chmod: /var/run/connman: No such file or directory
Failed to set mode -0755- for -/var/run/connman-.
mkdir: can't create directory '/var/run/ppp': No space left on device
chown: /var/run/ppp: No such file or directory
Failed to set owner -root- for -/var/run/ppp-.
chmod: /var/run/ppp: No such file or directory
Failed to set mode -0755- for -/var/run/ppp-.
/etc/rcS.d/S37populate-volatile.sh: line 251: /var/volatile/tmp/tmp_volatile.81: No such file or directory
/etc/rcS.d/S37populate-volatile.sh: line 251: /var/volatile/tmp/tmp_volatile.81: No such file or directory
/etc/rcS.d/S37populate-volatile.sh: line 251: /var/volatile/tmp/tmp_volatile.81: No such file or directory
/etc/rcS.d/S37populate-volatile.sh: line 251: /var/volatile/tmp/tmp_volatile.81: No such file or directory
/etc/rcS.d/S37populate-volatile.sh: line 251: /var/volatile/tmp/tmp_volatile.81: No such file or directory
/etc/rcS.d/S37populate-volatile.sh: line 251: /var/volatile/tmp/tmp_volatile.81: No such file or directory
/etc/rcS.d/S37populate-volatile.sh: line 251: /var/volatile/tmp/tmp_volatile.81: No such file or directory
/etc/rcS.d/S37populate-volatile.sh: line 120: /var/volatile/tmp/tmpdefined.81: No such file or directory
/etc/rcS.d/S37populate-volatile.sh: line 121: /var/volatile/tmp/tmp.81: No such file or directory
grep: /var/volatile/tmp/tmp_volatile.81: No such file or directory
/etc/rcS.d/S37populate-volatile.sh: line 122: /var/volatile/tmp/tmpcombined.81: No such file or directory
cat: can't open '/var/volatile/tmp/tmpdefined.81': No such file or directory
cat: can't open '/var/volatile/tmp/tmp.81': No such file or directory
/etc/rcS.d/S37populate-volatile.sh: line 123: /var/volatile/tmp/tmpdefined.81: No such file or directory
/etc/rcS.d/S37populate-volatile.sh: line 124: /var/volatile/tmp/tmpcombined.81: No such file or directory
/etc/rcS.d/S37populate-volatile.sh: line 126: [: : integer expression expected
/etc/rcS.d/S37populate-volatile.sh: line 134: /var/volatile/tmp/tmpdefined.81: No such file or directory
/etc/rcS.d/S37populate-volatile.sh: line 135: /var/volatile/tmp/tmp.81: No such file or directory
grep: /var/volatile/tmp/tmp_volatile.81: No such file or directory
/etc/rcS.d/S37populate-volatile.sh: line 136: /var/volatile/tmp/tmpcombined.81: No such file or directory
cat: can't open '/var/volatile/tmp/tmpdefined.81': No such file or directory
cat: can't open '/var/volatile/tmp/tmp.81': No such file or directory
/etc/rcS.d/S37populate-volatile.sh: line 138: /var/volatile/tmp/tmpdefined.81: No such file or directory
/etc/rcS.d/S37populate-volatile.sh: line 139: /var/volatile/tmp/tmpcombined.81: No such file or directory
/etc/rcS.d/S37populate-volatile.sh: line 141: [: : integer expression expected
rm: can't remove '/var/volatile/tmp/tmp.81': No such file or directory
rm: can't remove '/var/volatile/tmp/tmpdefined.81': No such file or directory
rm: can't remove '/var/volatile/tmp/tmpcombined.81': No such file or directory
sed: /var/volatile/tmp/tmp_volatile.81: No such file or directory
rm: can't remove '/var/volatile/tmp/tmp_volatile.81': No such file or directory
urandom start: failed.
[Errno 28] No space left on device: '/data/venus'
Starting watchdog
/etc/rcS.d/S80watchdog: line 32: /tmp/last_boot_type: No such file or directory
cp: can't stat '/tmp/last_boot_type': No such file or directory
mkdir: can't create directory '/run/watchdog': No space left on device
watchdog: Cannot create directory /var/volatile/log/watchdog (No such file or directory)
mkdir: can't create directory '/data/venus': No space left on device
/etc/rcS.d/S90machine-conf.sh: line 6: /data/venus/unique-id: No such file or directory
mkdir: can't create directory '/run/venus': No space left on device
/etc/rcS.d/S90machine-conf.sh: line 25: /run/venus/$(basename ${conf}): No such file or directory
/etc/rcS.d/S90machine-conf.sh: line 25: /run/venus/$(basename ${conf}): No such file or directory
/etc/rcS.d/S90machine-conf.sh: line 25: /run/venus/$(basename ${conf}): No such file or directory
INIT: Entering runlevel: 5
Configuring network interfaces... ifconfig: SIOCGIFFLAGS: No such device
ifconfig: SIOCSIFADDR: No such device
Could not write to /var/lib/dbus/machine-id.TbM2737o: No space left on device
Starting system message bus: failed to load external entity "/data/conf/settings.xml"
/etc/rc5.d/S02dbus-1: line 51: [: =: unary operator expected
Setting up watches.
Couldn't watch /var/run/dbus: No such file or directory
Starting haveged: haveged: command socket is listening at fd 3
dbus-daemon[343]: Failed to start message bus: Failed to bind socket "/run/dbus/system_bus_socket": No such file or directory
haveged: haveged starting up
[  OK  ]touch: /var/lock/subsys/haveged: No such file or directory

Starting bluetooth: bluetoothd.
starting DNS forwarder and DHCP server: dnsmasq...
dnsmasq: directory /run/resolv.conf for resolv-file is missing, cannot poll
starting DNS forwarder and DHCP server: dnsmasq.ap...
dnsmasq: failed to create listening socket for 172.24.24.1: Cannot assign requested address
[    7.474027] Bluetooth: Core ver 2.22
[    7.477762] NET: Registered protocol family 31
[    7.482363] Bluetooth: HCI device and connection manager initialized
[    7.488801] Bluetooth: HCI socket layer initialized
[    7.493719] Bluetooth: L2CAP socket layer initialized
Starting syslogd/klogd: done
 * Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon
cat: can't open '/data/venus/serial-number': No such file or directory
mkdir: can't create directory '/run/avahi/': No space left on device
/etc/rc5.d/S21avahi-daemon: line 133: /etc/avahi/services/raymarine.service: No such file or directory
Timeout reached while wating for return value
 *uld not receive return value from daemon process.                      [fail]
Starting php-fpm mkdir: can't create directory '/run/media': No space left on device
Couldn't watch /media: No such file or directory
[07-Nov-2023 21:57:20] ERROR: failed to open error_log (/var/volatile/log/php-fpm.log): No such file or directory (2)
[07-Nov-2023 21:57:20] ERROR: failed to post process the configuration
[07-Nov-2023 21:57:20] ERROR: FPM initialization failed
 failed
Starting Connection Manager
ls: /data/var/lib/connman: No such file or directory
starting IPv4LL configuration daemon: avahi-autoipd... Cannot find device "eth0"
start-stop-daemon: unable to close pidfile '/var/run/avahi-autoipd.pid' (No space left on device)
start-stop-daemon: child returned error exit status 2
done.
starting resolv.conf manager: resolv-watch... start-stop-daemon: unable to close pidfile '/var/run/resolv-watch.pid' (No space left on device)
start-stop-daemon: child returned error exit status 2
done.
Starting crond: OK
cat: can't open '/tmp/last_boot_type': No such file or directory
Checking available software versions...
Active rootfs: 2
tee: /var/run/versions: I/O error
Active version: 20231105204412 v3.20~18
[   30.536394] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Opts: (null)
tee: /var/run/versions: I/O error
Backup version: 20231027124454 v3.12~1

Victron Energy v3.20~18 einstein ttyS0

root@einstein:~#

U-Boot SPL 2018.05 (Apr 12 2023 - 23:29:03 +0000)
DRAM: 1024 MiB
mpvader commented 6 months ago

this probably doesn't help either:

root@einstein:~# cat /etc/fstab
root@einstein:~#
kwindrem commented 6 months ago

SetupHelper v5.18 has been released that should fix this issue. With this release, the root partition is resized (I thought I was doing this already but was NOT so now it's fixed). I also check the root partition for space to install a package before doing so.

The issue of nonfunctioning systems still remains. Matthijs has provided some instructions in https://github.com/kwindrem/SetupHelper/issues/56 but in many cases you will need to reimage the system. For those on a Raspberry PI you may be able to switch to the alternate root FS using the boot loader:

editenv version change 1 to 2 or 2 to 1

saveenv

boot