HowTo: Stora – Debian Stretch and OMV4

HowTo: Stora – Debian Stretch and OMV4 
December 29, 2019 06:54PM
MyStora is going away next year, rendering many thousands of Stora devices useless. 

Thanks to information found mainly here (but also a little found elsewhere), I have made my Stora into an Open Media Vault. Note that the current release of OMV, OMV4, is NOT supported on Buster and does not install. You must install Stretch 

First I made a kernel 4.4.0 USB Stick from the tarball from 20th Feb 2016 found here: https://forum.doozan.com/read.php?2,12096 

I then connected to the serial port via PuTTY so that I was on the console of the box. I found that here: https://github.com/Dees7/openstora/blob/master/pages/Root_Access_Via_Serial_Console.md

I backed up all data and removed the disks from the box before starting 

I had to change some boot environment variables. When booting, you will see the following in the console: 

       __  __                      _ _          |  \/  | __ _ _ ____   _____| | |          | |\/| |/ _` | '__\ \ / / _ \ | |          | |  | | (_| | |   \ V /  __/ | |          |_|  |_|\__,_|_|    \_/ \___|_|_|   _   _     ____              _  | | | |   | __ )  ___   ___ | |_   | | | |___|  _ \ / _ \ / _ \| __|   | |_| |___| |_) | (_) | (_) | |_    \___/    |____/ \___/ \___/ \__|    ** MARVELL BOARD: RD-88F6281A LE     U-Boot 1.1.4 (Sep  4 2009 - 09:36:11) Marvell version: 3.4.14    U-Boot code: 00600000 -> 0067FFF0  BSS: -> 006CEE60    Soc: 88F6281 A0 (DDR2)  CPU running @ 1000Mhz L2 running @ 333Mhz  SysClock = 333Mhz , TClock = 200Mhz     DRAM CAS Latency = 5 tRP = 5 tRAS = 18 tRCD=6  DRAM CS[0] base 0x00000000   size  64MB   DRAM CS[1] base 0x04000000   size  64MB   DRAM Total size 128MB  16bit width  Flash:  0 kB  Addresses 8M - 0M are saved for the U-Boot usage.  Mem malloc Initialization (8M - 7M): Done  NAND:256 MB  CRC in Flash: ac06e162, Calculated CRC: ac06e162    CPU : Marvell Feroceon (Rev 1)    Streaming disabled   Write allocate disabled    Module 0 is RGMII  Module 1 is TDM    USB 0: host mode  PEX 0: interface detected no Link.  Net:   egiga0, egiga1 [PRIME]  Hit any key to stop autoboot:  3 :



At this point, hit any key to stop the autoboot. Enter the following at the prompt: 

setenv bootcmd_usb 'usb start; ext2load usb 0:1 0x800000 /boot/uImage; ext2load usb 0:1 0x1100000 /boot/uInitrd'  setenv bootcmd 'setenv bootargs $(console) root=LABEL=rootfs rootdelay=10; run bootcmd_usb; bootm 0x800000 0x1100000; reset'  setenv console 'console=ttyS0,115200 mtdparts=orion_nand:0x100000@0(uboot),0xff00000@0x100000(root)'  saveenv  reset


The box will reboot into the debian image from the USB stick, login with root/root 

Update the uBoot following the instructions here: https://forum.doozan.com/read.php?3,12381 

Some of the steps will fail, but that is OK, this box is a little different from others, see here https://forum.doozan.com/read.php?3,33178,33183 and here https://forum.doozan.com/read.php?2,29259 

Once the uBoot is updated, you can proceed to boot with Stretch and install the OS on the disks so you don’t have to keep the USB stick in the device. 

1. Install Debian Stretch (OMV4 is not supported on Buster) 
Install one disk in the left hand bay 
Boot from USB stick made from image 4.12.1 from the 24th July 2017 found here: https://forum.doozan.com/read.php?2,12096 
Using fdisk, delete the existing partition 
Create two partitions on /dev/sda, 1st one 8GB, second one 256MB. Make sure to use ‘t’ command for partition 2 and set it to type 82 
Create EXT4 partition on /dev/sda1 and label it rootfs – mkfs.ext4 -l rootfs /dev/sda1 
Create swap partition on /dev/sda2 and label it swap – mkswap -L swap /dev/sda2 
cd to /root and download the tarball from the 24th July 2017 found here: https://forum.doozan.com/read.php?2,12096 using wget 
Mount partition /dev/sda1 on /mnt. Unzip tarball into /mnt 
cd to /mnt 
edit /mnt/etc/fstab – change file system type from EXT3 to EXT4 for rootfs entry and add “LABEL=swap swap swap default 0 0” 
edit /mnt/etc/hosts. Add “127.0.1.1 stora.lan stora” 
replace the contents of /mnt/etc/hostname with “stora” 


2. Boot and update 
Reboot – remove USB stick when uBoot starts 
once booted run: 

    apt update      apt upgrade      cd /boot      mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs-4.12.1-kirkwood-tld-1 -d initrd.img-4.12.1-kirkwood-tld-1 uInitrd



3. Update kernel to 5.2.9 
Download the kernel 5.2.9 tarball from 18th August 2019 at https://forum.doozan.com/read.php?2,12096 
run the following: 

    cd      mkdir boot_4.12.1      cd boot_4.12.1      cp -r /boot/* .      cd /boot      tar xjf /root/linux-5.2.9-kirkwood-tld-1-bodhi.tar.bz2      tar xf linux-dtb-5.2.9-kirkwood-tld-1.tar      apt-get remove flash-kernel      dpkg -i linux-image-5.2.9-kirkwood-tld-1_1.0_armel.deb      mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-5.2.9-kirkwood-tld-1 -d vmlinuz-5.2.9-kirkwood-tld-1 uImage      mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs-5.2.9-kirkwood-tld-1 -d initrd.img-5.2.9-kirkwood-tld-1 uInitrd

OMV4 requires systemd, so add it to boot env 

    fw_setenv set_bootargs 'setenv bootargs console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 $mtdparts $custom_params init=/bin/systemd'

systemd requires a larger /run tmpfs than the default, so add “none /run tmpfs defaults,size=20M 0 0” to /etc/fstab 
reboot 


4. Install OMV4 
Backup current /boot 

    cd      mkdir boot_5.2.9_pre-OMV4      cd boot_5.2.9_pre-OMV4      cp -r /boot/* .

Prepare for OMV4 install 

    apt install -y aptitude curl apt-transport-https

Set up sources 

    echo "deb http://packages.openmediavault.org/public arrakis main" > /etc/apt/sources.list.d/openmediavault.list      curl -k -s http://packages.openmediavault.org/public/archive.key | apt-key add -      apt update

Start Installation 

    export LANG=C.UTF-8      export DEBIAN_FRONTEND=noninteractive      export APT_LISTCHANGES_FRONTEND=none      apt-get --yes --auto-remove --show-upgraded \  	--allow-downgrades --allow-change-held-packages \  	--no-install-recommends \  	--option Dpkg::Options::="--force-confdef" \  	--option DPkg::Options::="--force-confold" \  	install postfix openmediavault-keyring openmediavault      cp /usr/share/openmediavault/templates/config.xml /etc/openmediavault/      omv-initsystem      omv-mkconf interfaces      omv-mkconf issue

If there are problems with masked services: 

    systemctl unmask openmediavault-beep-up      systemctl unmask openmediavault-beep-down      systemctl unmask openmediavault-cleanup-monit      systemctl unmask openmediavault-cleanup-php      systemctl unmask openmediavault-engined      systemctl unmask openmediavault-issue      apt install -y openmediavault      omv-initsystem

If network interface has stopped working after a reboot, add the following to /etc/network/interfaces: 
auto eth0 
allow-hotplug eth0 
iface eth0 inet dhcp 


5. Set up raid 
Insert the second disk 
Partition /dev/sdb the same as /dev/sda in step 1 but don’t create filesystems 
Create RAID 1 arrays on second drive and create filesystems: 

    mdadm --create /dev/md0 --metadata=0.90 --level=1 --raid-devices=2 missing /dev/sdb1      mdadm --create /dev/md1 --metadata=0.90 --level=1 --raid-devices=2 missing /dev/sdb2      mkfs.ext4 -L rootfs /dev/md0      mkswap -L swap /dev/md1

In the DEVICE section of /etc/mdadm/mdadm.conf add “DEVICE /dev/sd?*” 
run: 

    mdadm --detail --scan >> /etc/mdadm/mdadm.conf      dpkg-reconfigure mdadm      cd /boot      mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-5.2.9-kirkwood-tld-1 -d vmlinuz-5.2.9-kirkwood-tld-1 uImage      mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs-5.2.9-kirkwood-tld-1 -d initrd.img-5.2.9-kirkwood-tld-1 uInitrd

clone rootfs from /dev/sda1: 

    mkdir /tmp/mnt      mount /dev/md0 /tmp/mnt      rsync -auHxv --exclude=/proc/* --exclude=/sys/* --exclude=/tmp/* /* /tmp/mnt

Power off the unit and remove disk 1 
Power on the unit and make sure it boots off md0 
check that swap mounts using the “free” command 
Insert Disk 1. Note that this becomes /dev/sdb 
Add the Disk 1 partitions to the RAID 1 Arrays: 

    mdadm --add /dev/md0 /dev/sdb1      mdadm --add /dev/md1 /dev/sdb2

Create partitions on the drives taking up the remaining free space 
Create a third array: 

    mdadm --create /dev/md2 --level=1 --raid-devices=2 missing /dev/sda3      mdadm --add /dev/md2 /dev/sdb3



6. Add OMV Extras: 
Install dependancies: 

    apt install -y dirmngr


install Extras: 

    wget -O - https://github.com/OpenMediaVault-Plugin-Developers/packages/raw/master/install | bash




Thanks to Bodhi for all your hard work 

Resources: 

Serial port console: https://github.com/Dees7/openstora/blob/master/pages/Root_Access_Via_Serial_Console.md
Installing Debian on Stora: https://forum.doozan.com/read.php?2,12096 
Upgrading uBoot on Stora: https://forum.doozan.com/read.php?3,12381 
Installing OMV: https://forum.openmediavault.org/index.php/Thread/21234-Install-OMV4-on-Debian-9-Stretch/ 
OMV Extras: http://omv-extras.org/ 
Setting up mdadm on Stora: https://forum.doozan.com/read.php?2,27308 

Edit: There were a few errors and omissions corrected



Edited 3 time(s). Last edit at 12/30/2019 08:02PM by fcollingwood.