HOWTO: (Arch) Linux on a Sentinel DX4000 without original compatible disks


#1

Getting Linux to run on your Sentinel DX4000

Hi all, after a lot of digging and help from topics on these forums I feel like I need to do a tiny (I was expecting this to be shorter, TL;DR at the bottom) writeup on how I managed to get a Arch Linux to run on the Sentinel DX4000 I got second hand with no (compatible) disks.

Failures:

Always good to see the method to my madness… All the things that didn’t work.

Transplant method
First I noticed someone on a blogpost mention that he did a simple install on a disk connected to a different motherboard. Transplanted this disk to his Sentinel and everything worked.
For me this didn’t work. After the attempt I reconnected the disk to the motherboard I installed on (in UEFI only mode etc.) I could not find a single line of proof that the Sentinel ever attempted to boot from this disk in the (Ubuntu) log files.

USB graphics
USB to HDMI and boot into Ubuntu Live CD to get the graphical installer to work (and perhaps fix the boot issues?).
No cigar… 8 euro’s down the drain :cry:

Mini Success

I knew the Ubuntu UEFI loader would load the Live CD,
Get a usb stick with an LED for kicks.
Use Rufus or Etcher to get a proper UEFI boot of Ubuntu to the USB stick.
use the magic button to ‘restore’ and boot from USB stick.
After a little while nMap (or perhaps your DHCP log on your router) will show an IP for the WD MAC Address. (00:90:A9:…)
Ping! and… PONG :smiley: It’s alive! Only the Live Ubuntu doesn’t allow SSH… changes made in persistent mode on a different PC (with a screen) didn’t really help.So I need to get the ssh installed, ubuntu user password configured and firewall disabled while working blind.
After boot. I issued the commands
sudo apt-get -y update [-y stops stupid questions!]
sudo apt-get -y purge ufw [removes firewall, live USB anyway…]
sudo apt-get -y install openssh [ssh server for access]
passwd [then type the same password twice. ‘bullshit’ is acceptable even. as long as you type it twice with enter in between.
Now SSH to the IP worked!
Only to find out that Ubuntu Live CDs don’t offer a console based installation… yeeh. still this succes gave me the confidence to get another cheap DX4000 online :stuck_out_tongue: (yes I have two ^_^)

Medium Succes (or hope?)

Most of my linux experience is with CentOS, RHEL and Debian / Ubuntu based systems. those al proved to require an automated install (kickstart / preseed can work) but no guide gave me the confidence to actually go through the process. Instead I found Arch Linux, which has a chroot type of install procedure where you copy files to a disk and configure all the settings and such from the live USB environment on the disk where you want it to live while in the hardware you want it to work with (meaning that network components will have a good chance of working!)

To get SSH access from the live USB (created in EFI mode with Rufus / etcher.io) you need to start ssh and get the default user a password.
systemctl start sshd.service
passwd (type password twice with enter in between)

The guide I used, specific for the EFI requirement the Sentinel has.

After running through the whole thing, and doing the reboot…NOTHING happened :joy::joy:
At this point I’m second guessing everything in life and let it rest for a while.

Until today!

Great Success

I’d already tried to get the unit to run with the restore media the previous owned of the second one I bought supplied me with, added my disks to the whitelists and everything, but ‘Bad Storage’ (or Storage Bad?) was always the note on the LCD. I was hoping to get this recovery on one disk to work and making it do dual boot on my ‘spare’ motherboard…
This never worked so far (probably because I don’t have a Windows Machine with a sata port in the house and can’t change the disks I used to ‘dynamic disks’ through USB.
I figured why not try to get the Server 2012 running, I probably have some MSDN license for it somewhere so might as well get these boxes doing something useful. I find myself on the page below.


one Thousand thanks to ‘TS Walker’ for this page. I owe you a beer! (or three)

This page notes that during setup you need to manually modify the efi files to get it to work.
Knowing this I connected the disk I installed Arch on before to a USB enclosure on a linux VM, mounted the boot volume and added the ‘startup.nsh’ file in the root of the direcory.
Not knowing the EFI standard in slashes (windows \ or unix / ? ) I opted for the following contents:

fs0:
cd EFI
cd BOOT
BOOTX64.EFI

(not to stupid ey? neatly going around the slash :stuck_out_tongue: )

Now I put the disk back into the Sentinel bay #1 and pressed the power button.
Within a few seconds I notice the disk activity properly resembles a boot sequence, after a while the network interface even blinks… another nmap and the IP is there… and SSH works :smiley:
I do a couple of reboots to ensure it will survive… It does :smile:

Turned it off and put three empty drives in, restart it, no problem! As long as these have no EFI partition I don’t see why it would be a problem either.

TL;DR

Magic!
no but really,

  1. Install Linux OS on other machine or through Arch chroot as linked above,
  2. Create the startup.nsh file in EFI partition with the contents the Sentinel Expects.
  3. ?
  4. Profit!

Hope it helps someone.

(If I am cussing with all these Linux things in the Microsoft community here I’m sorry. :slight_smile: )


#2

Thanks (I guess) LOL


#3

Haha I understand most people already on these forums won’t care about this much. But I’m guessing there will be more people getting a second hand Sentinel in the future and they might try to get it running the same way I did :smiley:

Cheers!


#4

I installed OpenMediaVault on a DX4000. The main motivation was that I could not connect to Windows Server 2008 with Windows 10.
You need:

  • a nother PC to control and prepeare
  • a USB Hub
  • a usb keyboard
  • a usb thumb drive with at least 1 GB for the Debain Image
  • a usb thumb drive with at least 4 GB to install Debian to

For output i used the serial Port on the J23 port on the mainboard. Pinout is VCC, RX, TX, Ground. Like shown here: http://cytekpr.com/index.php/2017/04/13/dx4000/

          |----0----0----0----0---|
          |                       |
     J23  |   Vcc   RX   TX   Gd  |

With an Serial to USB Converter set to 3.3V and Putty (115200n8) you can access the BIOS and change the boot Device and boot from USB thumb drive. Just disable every other boot option.
I prepared the USB thumb drive with Rufus and a debian image, so that I can boot in UEFI mode.
As you only have a serial output you have to change Grub to output to the console and add “console=ttyS1,115200n8” to the boot command. Make sure to use ttyS1 and not ttyS0.
Follow the normal install routine. For Options only choose basic without graphical Desktop. You can install SSH if you like.
After installing Debain follow the OpenMediaVault installation for Debain.
Works well for me.


#5

Nice! even better than booting through the reset function and hoping it will work, during install. The OS permanently on the USB stick also makes it easier to troubleshoot when things go wrong :smiley:
Perhaps I’ll get the terminal to serial to work also when I want to repurpose it (or another one) again, for now it is happily running Ubuntu server in the closet. Nice to know I’m not the only one who wanted to get this working :slight_smile:
Cheers!


#6

would love to see screenshots of the bios as well as a picture of your usb adapter. You had to make the adapter from what materials?
Thanks,
Grey


#7

I thinking about making a video about it.


#8

I would also be extremely interested knowing how in detail you managed to access the BIOS via USB!


#9

So the first video is online: https://youtu.be/amUXkdGdcTg
I hope I can publish the next parts on Sundays.


#10

Not sure I want to solder my mother board :) Need more direction on that as well as what wire goes where on the usb to serial connector. It looks like you soldered 4 wires but only use 3. Need a step by step for us noobs


#11

Since the explanation of the serial connection is a bit short in the video, here a little more detail. It is actually quite simple.
The order from left to right from the front is Power at 3.3V (not used), receive (RX), transmit (TX) and ground. I don’t need the supply voltage from the board as the Adapter gets its power from the USB. So i did not connectet the most left one.
To connect to your PC you need a serial to USB to serial adapter like this one: https://de.aliexpress.com/item/1pcs-USB-to-TTL-converter-UART-module-CH340G-CH340-3-3V-5V-switch/32668180966.html
Then you connect ground with ground, receive (RX) with transmitter (TX) and transmit (TX) with receive (RX). So receive and transmit are connected crossed.
And it shoud work.
I used actually a NodeMCU. A powerful microcontroller with wifi capablility. I used it because my serial to USB Adapter was broken and my ohter only works at 5 V. So i improvised by pulling reset to ground. Thatway the microcontroller was off and works as an USB to Serial adapter.
I you have any further Questitions please let me know.


#12

Interesting work I would like to see part 2
:grinning:


#13

Part 2, 3 and 4 are online. https://www.youtube.com/watch?v=amUXkdGdcTg&list=PL1ahpLrofUVcJHG4dIzFCEKXIANXVB00I


#14

Dankeshoen Martin

Your video is excellent and should be a benefit to others.

During your work did you find out anything that could explain the simultaneous failure of the ethernet ports. I have seen this a few times but never understood what the cause would be.

thank you again


#15

you know that made me think it would be a good idea for everyone to get a usb nic and preload the drivers while the box is working to have just in case.


#16

I agree with this Gramps and I am currently using a box with a usb nic as I don’t trust the onboard nics.

see this post :


#17

Not sure that Gramps post has anything to do with this topic at all. I appreciate the work the author has done.

I unfortunately could not get the keyboard to work during the installer. All else went as planned. I verified all bios settings and tried everything I could think of.