2stein
ViX Beta Tester
in case of problems with multiboot on dm9xx the box is sometimes left in a non-bootable state. recovery involves reinstallation of a vix image or in some cases installation of a dreamos image before a vix image can be installed using rescue loader.
i found a simpler solution if you have the box hooked up to the pc using a usb cable and serial console.
when the box doesnt boot you boot into rescue loader, then enter the rescue loader command line interface in the serial console.
using the rescue loader command line interface lets you view/modify/reset the startup configuration.
for convenience i wrote a little script multi.sh.
here's a little demo:
the script goes into /data
i found a simpler solution if you have the box hooked up to the pc using a usb cable and serial console.
when the box doesnt boot you boot into rescue loader, then enter the rescue loader command line interface in the serial console.
using the rescue loader command line interface lets you view/modify/reset the startup configuration.
for convenience i wrote a little script multi.sh.
here's a little demo:
Code:
root@dm900:~# # mount /data
root@dm900:~# mkdir /mnt/data
root@dm900:~# mount /dev/mmcblk0p3 /mnt/data
[ 153.535569] EXT4-fs (mmcblk0p3): mounted filesystem with ordered data mode. Opts: (null)
root@dm900:~# ls -la /mnt/data
drwxr-xr-x 11 root root 4096 May 4 2026 .
drwxr-xr-x 3 root root 0 Dec 1 10:51 ..
drwxr-xr-x 3 root root 4096 May 4 2026 TVC
drwxr-xr-x 2 root root 4096 Dec 1 10:55 boot_backup
drwxr-xr-x 23 root root 4096 Jan 1 1970 linuxrootfs1
drwxr-xr-x 16 root root 4096 Apr 29 2026 linuxrootfs2
drwxr-xr-x 16 root root 4096 May 1 2026 linuxrootfs3
drwxr-xr-x 16 root root 4096 Mar 19 2026 linuxrootfs4
drwxr-xr-x 16 root root 4096 May 1 2026 linuxrootfs5
-rw-r--r-- 1 root root 156 May 3 2026 log.txt
drwx------ 2 root root 16384 Oct 20 2016 lost+found
-rwxr-xr-x 1 root root 8231 May 4 2026 multi.sh
drwxr-xr-x 2 root root 4096 May 4 2026 picons
root@dm900:~# # use multi.sh
root@dm900:~# cd /mnt/data
root@dm900:/mnt/data# ./multi.sh
Dreambox DM900 Multi-Boot Recovery Tool v0.1.0
Usage: ./multi.sh <command> [args]
mount Mount boot partition (/dev/mmcblk0boot1 -> /mnt/boot)
umount Unmount boot partition
list List all STARTUP* files with slot info
active Show the current active boot config (STARTUP)
activate <N> Set STARTUP = STARTUP_N (switch active slot)
set_slot <N> <rootsubdir> [root] Write a new boot line into STARTUP_N
reset Delete all STARTUP* files (reverts to default boot)
backup Copy all STARTUP* files to ./boot_backup
restore Restore STARTUP* files from ./boot_backup
help Show this help
Examples:
./multi.sh mount
./multi.sh list
./multi.sh active
./multi.sh activate 2
./multi.sh set_slot 3 linuxrootfs3 /dev/mmcblk0p3
./multi.sh reset
./multi.sh umount
root@dm900:/mnt/data# #
# list startup config
root@dm900:/mnt/data# ./multi.sh mount
Mounted /dev/mmcblk0boot1 at /mnt/boot
root@dm900:/mnt/data# ./multi.sh list
File Root device Rootsubdir Status
------------ ------------------ -------------------- -------
STARTUP /dev/mmcblk0p2 linuxrootfs1 [active boot]
STARTUP_1 /dev/mmcblk0p2 linuxrootfs1 <-- matches active
STARTUP_2 /dev/mmcblk0p3 linuxrootfs2
STARTUP_3 /dev/mmcblk0p3 linuxrootfs3
STARTUP_4 /dev/mmcblk0p3 linuxrootfs4
STARTUP_5 /dev/mmcblk0p3 linuxrootfs5
STARTUP_6 /dev/mmcblk0p3 linuxrootfs6
root@dm900:/mnt/data# #
root@dm900:/mnt/data# ./multi.sh active
Active boot configuration (STARTUP):
kernel=/dev/mmcblk0p1 root=/dev/mmcblk0p2 rootsubdir=linuxrootfs1
the script goes into /data