Hi guys,
Long time lurker, first time poster.
I've been trying to get Xpenology running on the ODROID H2. Its an awesome little piece of hardware. 4 cores, up to 32gb ddr4 ram, nvme, 2 x sata, 2 x realtek 8111G lan in the size slightly larger than a nuc.
Anyway, Im getting off topic here but basically I'm running into the following issues:
a) If I use loader 1.04b and try to install ds918 I get error 13 right after the installation reaches 56%.
b) If I use any loader prior to that, the system doesn't even boot into grub, just hangs at the bios screen right before grub
Regarding issue a)
I've tried installing the system with various options in the bios, setting the USB Drive to be detected as HDD, Floppy, Forced floppy .... there's even a south bridge setting for making the device more Linux or Windows compatible, I've tried playing with that .... still doesn't work.
I've tried installing the system with 1 stick of ram, 1 hdd, no nvme drive connected.
I've tried 5 different brands of USB's including a USB 2.0 card reader. Each time of course I would update the PID and VID accordingly to the USB stick used.
I've tried the following images:
DSM_DS918+_23739.pat
DSM_DS918+_23824.pat
I just keep getting error 13.
Regarding issue b)
I've tried different imaging tools: Win32Imager, Rufus etc .... nothing seems to allow the device to boot correctly. I've even tried running Genesys MBR version of the loaders and that doesn't work either. Same problem, system just gets stuck before getting to grub.
It would be awesome to get ds918 running on this little box as perhaps I could make use of the nvme caching ?
Unfortunately troubleshooting this is proving difficult as there's no COM ports that I can break out to on this board, even though there is console redirection in the bios.
My grub config:
if serial --port=0x3F8 --speed=115200;then
set has_serial=true
terminal_input --append serial
terminal_output --append serial
else
clear
fi
terminal_input --append console
terminal_output --append console
if [ x"${grub_platform}" = xefi ]; then
insmod efi_gop
insmod efi_uga
else
insmod vbe
fi
set extra_initrd="extra.lzma"
set info="info.txt"
set vid=0x0781
set pid=0x5583
set sn=1780PDN123456
set mac1=001E064xxxxx
set mac2=001E064xxxxx
set rootdev=/dev/md0
set netif_num=1
#set extra_args_918='earlycon=uart8250,io,0x3f8,115200n8 earlyprintk loglevel=15 memmap=0x1000$223515000'
set extra_args_918=''
set common_args_918='syno_hdd_powerup_seq=1 HddHotplug=0 syno_hw_version=DS918+ vender_format_version=2 console=ttyS0,115200n8 withefi elevator=elevator quiet syno_hdd_detect=0 syno_port_thaw=1'
#for testing on VM
set sata_args='SataPortMap=4'
set default='0'
set timeout='1'
set fallback='1'
if [ -s $prefix/grubenv ]; then
load_env
if [ -n "$saved_entry" ]; then
set default="${saved_entry}"
fi
fi
VERSION="with Jun's Mod v1.04b"
search --file -s /bzImage
function savedefault {
if [ -s $prefix/grubenv ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}
function do_option {
if [ $# -lt 2 ]; then
eval "set value=\"\$$1\""
echo "current $1: $value"; return;
fi
set key=$1
shift
set $key="$*"
if [ -s $prefix/grubenv ]; then
save_env $key
fi
}
function vid { do_option vid $@; }
function pid { do_option pid $@; }
function sn { do_option sn $@; }
function mac1 { do_option mac1 $@; }
function mac2 { do_option mac2 $@; }
function mac3 { do_option mac3 $@; }
function mac4 { do_option mac4 $@; }
function rootdev { do_option rootdev $@; }
function append { do_option extra_args_918 $@; }
function vidpid {
if [ $# -lt 2 ]; then
echo "usage: vidpid 0xVVVV 0xPPPP"; return;
fi
set usb_args="vid=$1 pid=$2"
if [ -s $prefix/grubenv ]; then
save_env usb_args
fi
}
function showtips {
if [ -n "$has_serial" ]; then
terminal_output --remove serial
fi
echo "Screen will stop updating shortly, please open http://find.synology.com to continue."
echo
echo
if [ -n "$has_serial" ]; then
terminal_output --append serial
fi
}
function loadinitrd {
if [ -s $img/$info ]; then
if [ -n "$has_serial" ]; then
terminal_output --remove serial
fi
cat $img/$info
if [ -n "$has_serial" ]; then
terminal_output --append serial
fi
fi
# if [ -s $img/$extra_initrd ]; then
# initrd $img/rd.gz $img/$extra_initrd
# else
# initrd $img/rd.gz
# fi
}
function common_add_option {
eval "set value=\"\$$1\""
if [ -z $value ]; then return 1; fi
set common_args="$common_args $1=$value"
}
function common_add_option_ex {
eval "set value=\"\$$1\""
if [ -z $value ]; then return 1; fi
set common_args="$common_args $2=$value"
}
function loadlinux {
set model=$1
set bootdev=$2
shift 2
if [ -n $vid -a -n $pid ]; then
set usb_args="vid=$vid pid=$pid"
fi
eval "set common_args=\"\$common_args_$model\""
eval "set extra_args=\"\$extra_args_$model\""
eval "set bootdev_args=\"\$${bootdev}_args\""
common_add_option_ex rootdev root
common_add_option sn
if common_add_option mac1; then set netif_num=1; fi
if common_add_option mac2; then set netif_num=2; fi
if common_add_option mac3; then set netif_num=3; fi
if common_add_option mac4; then set netif_num=4; fi
common_add_option netif_num
if [ -z $zImage ]; then
set zImage=bzImage
fi
linux $img/$zImage $common_args $bootdev_args $extra_args $@
}
menuentry "DS918+ 6.2.1/6.2 Baremetal $VERSION" --class os {
set img=
savedefault
loadlinux 918 usb
loadinitrd
showtips
}
menuentry "DS918+ 6.2.1/6.2 Baremetal $VERSION Reinstall" --class os {
set img=
loadlinux 918 usb mfg
loadinitrd
showtips
}
menuentry "DS918+ 6.2.1/6.2 VMWare/ESXI $VERSION" --class os {
set img=
savedefault
loadlinux 918 sata
loadinitrd
showtips
}
Output from Mac about USB key's VID / PID:
Product ID: 0x5583
Vendor ID: 0x0781 (SanDisk Corporation)