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=1131
set pid=3323
set sn=1130ODN834482
set mac1=001132950890
set rootdev=/dev/md0
set netif_num=1
#set extra_args_3617='earlycon=uart8250,io,0x3f8,115200n8 earlyprintk loglevel=15'
set extra_args_3617=''
set common_args_3617='syno_hdd_powerup_seq=0 HddHotplug=0 syno_hw_version=DS3617xs vender_format_version=2 console=ttyS0,115200n8 withefi elevator=elevator quiet syno_port_thaw=1'
set sata_args='sata_uid=1 sata_pcislot=5 synoboot_satadom=1 DiskIdxMap=0C SataPortMap=1 SasIdxMap=0'
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.03b"
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_3617 $@; }
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 "DS3617xs 6.2 Baremetal $VERSION" --class os {
set img=
savedefault
loadlinux 3617 usb
loadinitrd
showtips
}
menuentry "DS3617xs 6.2 Baremetal $VERSION Reinstall" --class os {
set img=
loadlinux 3617 usb mfg
loadinitrd
showtips
}
#menuentry "DS3617xs 6.2 Baremetal AMD $VERSION" --class os {
# set img=
# set zImage=bzImage
# savedefault
# loadlinux 3617 usb
# loadinitrd
# showtips
#}
menuentry "DS3617xs 6.2 VMWare/ESXI $VERSION" --class os {
set img=
savedefault
loadlinux 3617 sata
loadinitrd
showtips
}