Show newer

ah, yes.. where did we leave off... oh yes.. it boots, it works.. wow even attempting the emulation was a waste of time. running FreeBSD 11.. so even pretty recent (for SPARC)... check it out.. 1G RAM.. but no swap. and there's some data on the drive I should preserve before I nuke it. Start the tar.. go to bed.

Show thread

Relent. give up. Hardware time.
Go downstairs, find most convenient box pick it up, clean it off, bring it up, plug in, turn on.
WTF.. It boots. Its is sitting at a login prompt?! EVEN THE NVRAM IS VALID?!?!?!

Show thread

IT BOOTS. yay..
wait.

interrupt storm detected on "vec2016:"; throttling interrupt source

after kernel takes over. search, find:
bugs.freebsd.org/bugzilla/show

Try recompiling as suggested, try turning off DMA on FreeBSD... try booting virtio.. sparc64 doesn't support virtio. try booting scsi, qemu doesn't support SCSI on sparc64 (non virtio)

Show thread

wtf... search... search... search, find:
bugs.freebsd.org/bugzilla//sho

Ok, implement the workaround (set environment variable.. .BUILD. Success. run...

Show thread

Step one... compile... get the following error:

warning: POSIX Yacc does not support %define [

the build doesn't even exit cleanly.

Show thread

my sparc64 hardware is OLD. *OOOOOLD*. ok, qemu has sparc64 support... lets do that, that will be easier than dealing with hardware...

Show thread

Look at the data.. yup, its there, lets see what I can do.. this will be maddening to walk by hand.. screw it. sparc64 we go....

Show thread

Could it be the IV for geli is endian specific.... YES IT IS. Patch kernel to force endianness on it.. BOOM it works.. I have access.

Show thread

I look at the raw data from geli.. look at drive 1.. totally random.. I GUESS it could be in the middle of a data block.. look at drive 2.. a clear UFS header... OK.. so this clearly works. Look at a few more blocks... randomness. I SHOULD be seeing inode blocks, I know what they look like.. what gives?.. and which is the GEOM_STRIPE footer missing?

Show thread

So, first I decide to just bring them over to x86, I know UFS will be a problem with the endianness, but I can just get a good poke at the data, make sure it is even there. Get the disks attach, geli attach... accepts the passwords, but the stripe doesn't show up?!

Show thread

This old copy was on USB external disks, striped (2 of them) geli encrypted and written to on SPARC64/FreeBSD.. I think now you know the trajectory of the story (Maybe I should have opened with that)

Show thread

The beginning: Recently I have gotten back to some old projects, and I started to re-hydrate some OLD data files. One of these was curiously corrupt. After tracking down how (looks like it got truncated in one of the copies), I remember I still had a SUPER old copy on a backup from WAY back when (think 10 + years)

Show thread

I figured I would chronicle my latest journey here, because I know some people will get a kick out it it. The theme: Retro computing with a side of data recovery.. or is that data recovery with a side of retro computing..... first in a series 🧵

ugh, so apparently geli IVs are host endian specific. well, that is going to complicate things.

Ok. So I guess i need to explain it. The car’s license plate begins ARJ. Which is a compression standard. Get it? Compact Car 🤣. Thank you

Show thread

medical, TMI! 

just irrigated my ears to remove some earwax.. zomg the chunks that came out... but now I have super hearing!

“Welcome to the App Store” :smug:
(It’s not live yet, but stay tuned)

Show thread
Show older
Cross Family's Mastodon

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!