[solved] recovering files from a non-bootable norns?

I was messing with drivers again and managed to “brick” my norns (can’t access ssh or serial terminal). I’m guessing my change causes a kernel panic on boot or something. I had a little unsaved work in the local norns directory that I’d like to try to recover. So, I took off the back plate and switched the norns from RUN → DISK, and made a copy of the drive with etcher. I saved the copy on a flash drive, which got renamed to ‘boot’. Here are it’s contents.

ls -l /Volume/boot

total 154362
-rwxrwxrwx  1 tlubke  staff    18693 Jan 20 13:04 COPYING.linux
-rwxrwxrwx  1 tlubke  staff     1594 Jan 20 13:04 LICENCE.broadcom
-rwxrwxrwx  1 tlubke  staff    24270 Jul  3  2022 bcm2708-rpi-b-plus.dtb
-rwxrwxrwx  1 tlubke  staff    27307 Mar  7 00:49 bcm2708-rpi-b-rev1.dtb
-rwxrwxrwx  1 tlubke  staff    24007 Jul  3  2022 bcm2708-rpi-b.dtb
-rwxrwxrwx  1 tlubke  staff    23788 Jul  3  2022 bcm2708-rpi-cm.dtb
-rwxrwxrwx  1 tlubke  staff    24448 Jul  3  2022 bcm2708-rpi-zero-w.dtb
-rwxrwxrwx  1 tlubke  staff    23712 Jul  3  2022 bcm2708-rpi-zero.dtb
-rwxrwxrwx  1 tlubke  staff    25334 Jul  3  2022 bcm2709-rpi-2-b.dtb
-rwxrwxrwx  1 tlubke  staff    25483 Jul  3  2022 bcm2710-rpi-2-b.dtb
-rwxrwxrwx  1 tlubke  staff    27143 Jul  3  2022 bcm2710-rpi-3-b-plus.dtb
-rwxrwxrwx  1 tlubke  staff    26524 Jul  3  2022 bcm2710-rpi-3-b.dtb
-rwxrwxrwx  1 tlubke  staff    25338 Jul  3  2022 bcm2710-rpi-cm3.dtb
-rwxrwxrwx  1 tlubke  staff    30035 Mar  7 00:49 bcm2710-rpi-zero-2-w.dtb
-rwxrwxrwx  1 tlubke  staff    30035 Mar  7 00:49 bcm2710-rpi-zero-2.dtb
-rwxrwxrwx  1 tlubke  staff    41185 Jul  3  2022 bcm2711-rpi-4-b.dtb
-rwxrwxrwx  1 tlubke  staff    51675 Mar  7 00:49 bcm2711-rpi-400.dtb
-rwxrwxrwx  1 tlubke  staff    52116 Mar  7 00:49 bcm2711-rpi-cm4.dtb
-rwxrwxrwx  1 tlubke  staff    48526 Mar  7 00:49 bcm2711-rpi-cm4s.dtb
-rwxrwxrwx  1 tlubke  staff    18695 Jul  3  2022 bcm2835-rpi-a-plus.dtb
-rwxrwxrwx  1 tlubke  staff    18579 Jul  3  2022 bcm2835-rpi-a.dtb
-rwxrwxrwx  1 tlubke  staff    18982 Jul  3  2022 bcm2835-rpi-b-plus.dtb
-rwxrwxrwx  1 tlubke  staff    18858 Jul  3  2022 bcm2835-rpi-b-rev2.dtb
-rwxrwxrwx  1 tlubke  staff    18725 Jul  3  2022 bcm2835-rpi-b.dtb
-rwxrwxrwx  1 tlubke  staff    18690 Jul  3  2022 bcm2835-rpi-cm1-io1.dtb
-rwxrwxrwx  1 tlubke  staff    19173 Jul  3  2022 bcm2835-rpi-zero-w.dtb
-rwxrwxrwx  1 tlubke  staff    18647 Jul  3  2022 bcm2835-rpi-zero.dtb
-rwxrwxrwx  1 tlubke  staff    19558 Jul  3  2022 bcm2836-rpi-2-b.dtb
-rwxrwxrwx  1 tlubke  staff    20196 Mar  7 00:49 bcm2837-rpi-3-a-plus.dtb
-rwxrwxrwx  1 tlubke  staff    21027 Jul  3  2022 bcm2837-rpi-3-b-plus.dtb
-rwxrwxrwx  1 tlubke  staff    20238 Jul  3  2022 bcm2837-rpi-3-b.dtb
-rwxrwxrwx  1 tlubke  staff    19920 Mar  7 00:49 bcm2837-rpi-cm3-io3.dtb
-rwxrwxrwx  1 tlubke  staff    52460 Jan 20 13:04 bootcode.bin
-rwxrwxrwx  1 tlubke  staff      117 Jul  3  2022 cmdline.txt
-rwxrwxrwx  1 tlubke  staff      545 Jul  3  2022 config.txt
-rwxrwxrwx  1 tlubke  staff    43118 Jul  3  2022 dt-blob.bin
-rwxrwxrwx  1 tlubke  staff     7223 Jan 20 13:04 fixup.dat
-rwxrwxrwx  1 tlubke  staff     5354 Jan 20 13:04 fixup4.dat
-rwxrwxrwx  1 tlubke  staff     3145 Jan 20 13:04 fixup4cd.dat
-rwxrwxrwx  1 tlubke  staff     8356 Jan 20 13:04 fixup4db.dat
-rwxrwxrwx  1 tlubke  staff     8356 Jan 20 13:04 fixup4x.dat
-rwxrwxrwx  1 tlubke  staff     3145 Jan 20 13:04 fixup_cd.dat
-rwxrwxrwx  1 tlubke  staff    10201 Jan 20 13:04 fixup_db.dat
-rwxrwxrwx  1 tlubke  staff    10199 Jan 20 13:04 fixup_x.dat
-rwxrwxrwx  1 tlubke  staff      145 Jan 28 00:22 issue.txt
-rwxrwxrwx  1 tlubke  staff  4438528 Jul  3  2022 kernel-4.19.127-16-g4e17fb2a229e-dirty.img
-rwxrwxrwx  1 tlubke  staff  4440168 Feb 24 00:26 kernel-4.19.127-16-g880f3c34c47a.img
-rwxrwxrwx  1 tlubke  staff  4438120 Jul  3  2022 kernel-4.19.127-16-gb73466667fe4-dirty.img
-rwxrwxrwx  1 tlubke  staff  5280208 Feb 26 17:48 kernel-5.10.92-18-g284f3ffeaaca.img
-rwxrwxrwx  1 tlubke  staff  5011072 Mar  7 00:49 kernel-5.10.92-18-g458e2253667a.img
-rwxrwxrwx  1 tlubke  staff  5280512 Mar  6 19:46 kernel-5.10.92-18-v7l-g458e2253667a.img
-rwxrwxrwx  1 tlubke  staff  6017168 Jan 20 13:04 kernel.img
-rwxrwxrwx  1 tlubke  staff  6365472 Jan 20 13:04 kernel7.img
-rwxrwxrwx  1 tlubke  staff  6789704 Jan 20 13:04 kernel7l.img
-rwxrwxrwx  1 tlubke  staff  7915962 Jan 20 13:04 kernel8.img
drwxrwxrwx  1 tlubke  staff    22528 Jan 28 00:22 overlays
-rwxrwxrwx  1 tlubke  staff  2964864 Jan 20 13:04 start.elf
-rwxrwxrwx  1 tlubke  staff  2240608 Jan 20 13:04 start4.elf
-rwxrwxrwx  1 tlubke  staff   800028 Jan 20 13:04 start4cd.elf
-rwxrwxrwx  1 tlubke  staff  3737928 Jan 20 13:04 start4db.elf
-rwxrwxrwx  1 tlubke  staff  2992584 Jan 20 13:04 start4x.elf
-rwxrwxrwx  1 tlubke  staff   800028 Jan 20 13:04 start_cd.elf
-rwxrwxrwx  1 tlubke  staff  4809800 Jan 20 13:04 start_db.elf
-rwxrwxrwx  1 tlubke  staff  3716296 Jan 20 13:04 start_x.elf

Anyone know how I could get to the linux file system from here? Or even use a virtual machine to boot into the kernal of this drive?

There are multiple partitions on the Norns SD card. The boot volume is FAT formatted, and can be read by any computer. The actual files, though, are on a Linux-formatted partition (ext3, probably). It looks like you’re on a Mac? That won’t be able to see those partitions at all, it will just ignore them.

You probably won’t be able to boot the Norns image but you don’t need to either. If you mount the SD card in any Linux VM with a desktop UI (Ubuntu or whatever), you should see all the Linux partitions and be able to copy your files out.

Is it a normal Norns or a Shield? If it’s a Shield, you can also take the Pi out, connect it to a monitor and boot a Raspbian from another SD card, put the Norns one in a USB reader and copy your files to a normal (FAT-formatted) USB stick that your Mac can read.

2 Likes

I had success mounting /dust by using a computer that was running a linux operating system.

1 Like

You could try this route norns shield - #127 by ngwese

1 Like

Thanks, this worked!

1 Like