Adding OpenWrt support for Promise ns4600 nas

A very interesting NAS architecture, looking at the stock bootlog you should expect a debian kernel, converted to a uImage, to be able to boot from a sata drive or tftp.

There may be some unsupported devices though - doesn't look like this is a common target. As boba suggests, first step is to boot the kernel and see what works.

To get a full OS operating I'd suggest the easiest path is to ignore the NAND flash and run straight Debian from one of the hard drives.

As this is x86 (mostly) you can install debian onto a drive in another machine, create the uImage and uInitrd, install the drive into the NAS and then use fsload to load the images in uBoot.

Example commands for creating uImage / uInitrd;

mkimage -A x86 -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-5.11.0-37 -d vmlinuz-5.11.0-37-generic uImage
mkimage -A x86 -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initrd.img-5.11.0-37-generic -d initrd.img-5.11.0-37-generic uInitrd

So I kind of threw myself in the deep end, It sort of seemed that way lol. This is really helpful, I have no connections with anyone who does this stuff, so its good to hear something like this. In regards to the gui tools, I want to wean myself off them, I want to properly understand the bare bones versions. Its like moving from windows to Linux I feel, It just needs the effort put in to learn. I see people using qemu to play around with u-boot, maybe ill play around with it that way before trying on real hardware. Ill give Debian ago, I diddnt see this before but apparently the nas has its own proprietary raid controller, maybe this will be a big issue for support. Thanks again for the reply.

Ill give this a try, do you think the proprietary raid controller will be an issue for support?

https://scratchpad.fandom.com/wiki/NS4600#CPU:_Intel_EP80579

This guy got Debian going on his ppc version of my nas would it be a similar process?

https://github.com/alexeicolin/javelin

Thanks for the reply

I doubt you can run a "normal" x86 linux kernel from a distribution like debian as the minimal boot environment with u-boot doesn't provide acpi tables, which are the common way on x86 systems to detect the hardware and configure the drivers by the kernel.

So you have to use something like device trees or the ancient mach files to configure the drivers...

Hi,

I can't imagine the raid controller being an issue, linux has kernel modules for just about every controller ever created.

For the javelin instructions - you won't need to do anything this complex. Any i686 / i386 Debian root filesystem will be sufficient. Just install Debian i686 onto a usb drive or hard disk and that will be fine as a rootfs.

First step is to try booting a kernel and seeing if it bombs out. As Juppin says - x86 with uboot is pretty unique, the kernel may freak out - or it may boot with minimal hardware support. Can only try it and see.

just got my 4600 misfunctional because of faulty hdd and couple of hard reboots leads to unusable state so will be glad to participate in any kind of testing.

Ill give this ago after my end of years, this seems like a better way to do it instead of writing to NAND.

Thanks for the reply

Sad to hear that, ill try get something running after my end of years. Ill make sure to update you unless you figure something out before me.