Jump to content
XPEnology Community

jhonny

Rookie
  • Posts

    7
  • Joined

  • Last visited

Posts posted by jhonny

  1. - Outcome of the update: SUCCESSFUL
    - DSM version prior update: FRESH INSTALL
    - Loader version & Model: TCRP 0.9.3.0 (VMDK version or non-UEFI version)
    - Installation type: ESXi 8.0 or BAREMETAL - Gigabyte C246M-WU4, i7 8700, 64GB RAM, 10Gtek 2x1GB Intel 82576 Ethernet Adapter, StarTech M.2 PEXM2SAT3422

    - Additional comments: Used 3622 as a basis

    Check out my tutorial on how to get M.2 NVME disks in DSM: 

     

  2. Just wanted to report that Gigabyte C246M-WU4 is an excellent choice for building using Tinycore Redpill.

    You can configure it both using ESXi 8.0 and put the SATA controller in passthrough mode or

    you can deploy TinyCore natively to the system and it works perfectly. Hot swap of drives works as well. So does onboard Ethernet.
    And with the StarTech PEXM2SAT3422 adapter I have 2 NVME drives that show up as SSD's in DSM (when the adapter is setup in JBOD mode). I can create a RAID1 on them as well in DSM.

    Alternatively I can create a virtual disk from the two NVME drives on the PEXM2SAT3422 adapter and present that as a virtual disk and install ESXi on it.

     

     

    Hardware I used:

    CPU: i7 8700 (non-k)

    RAM: 4 x 16GB Corsair 2666 MHz memory

    MOBO: Gigabyte C246M-WU4

    CASE: UNAS NSC-810A

    USB: SanDisk Fit 32GB

    PCI: StarTech 2 x M.2 adapter, model: PEXM2SAT3422

    PCI: 10Gtek Intel 82576 2 port ethernet card

     

    Here are the instructions for setting DSM 7.1.1 up in ESXi 8.0:

    Quote

    SETUP ESXi
    ===========
    Install ESXi 8.0

    Once ESXi is booted:
    - Set a password
    - in Troubleshooting Options
        Enable SSH
        Enable CLI


    ENABLE PASSTHROUGH OF DEVICES:
    ==============================

    Ssh into the ESXi host from your laptop
    cd /etc/vmware
    vi passthru.map


    Add the following to the end of the file:

    # Gigabyte C246M-WU4
    8086  a352  d3d0     default
    # Gigabyte C246M-WU4 USB Port
    0718  069c  d3d0     default


    Login to ESXi GUI web interface:
    - Go to: Manage -> Hardware -> PCI Devices
        - Select: Intel Corporation Cannon Lake PCH-H AHCI Controller and click the "Toggle Passthrough" button. You will get an error, but the device will nw go into "required reboot" state.
    - Reboot ESXi server

    CREATE THE SYNOLOGY VM SHELL:
    ==============================

    Once back up and running:

    - Create / Register VM
    - Create a new virtual machine
        Name: Synology
        Compatibility: ESXi 8.0 virtual machine
        Guest OS family: Linux
        Guest OS version: Other 3.x Linux (64-bit)
    - storage: datastore1
    - Customize settings:
        CPU: 4
        Memory: 8096 MB
        Expand memory option and select: [x] Reserve all guest memory (All locked)
    - Remove Hard disk 1
    - Remove SCSI Controller 0
    - Remove USB Controller 1
    - Remove CD/DVD Drive 1
    - Remove Network Adapter 1
    - Finish

    (you will receive an error that the VM can't start in this state, disregard the error)

    Edit the Synology VM settings (right click: Edit settings)
    - remove the SATA Controller 0
    Save.

    Edit the Synology VM settings (right click: Edit settings)
    - Add other device: SATA Controller 
    - Save

    Edit the Synology VM settings (right click: Edit settings)
    - Add hard disk -> New standard hard disk
        size: 21 GB
        thick provisioned lazily zeroed
        Controller location: SATA controller 0 SATA 0:0

    Edit the Synology VM settings (right click: Edit settings)
    - Add other device -> PCI device: Cannon Lake PCH-H AHCI Controller
    - Add other device -> PCI device: Gigabit ET Dual Port Server Adapter
    - Add other device -> PCI device: Gigabit ET Dual Port Server Adapter
    - Add other device -> PCI device: uPD720202 USB 3.0 Host Controller
    - Save


    Edit the Synology VM settings (right click: Edit settings)
    - Add network adapter: VM Network
        [x] Connect at power on
        Adapter type: E1000e
        MAC Address: Automatic
    - Save


    COPY TINYCORE TO DATASTORE:
    ===========================
    From ESXi Web gui go to: Storage: datastore 1 -> Datastore browser

    Select: Datastore1 -> Synology 
    You should see in there already:
        Synology.vmdk
        Synology.vmsd
        Synology.vmx

    Click: Upload
    select file: tinycore-redpill.v0.9.3.0.vmdk.gz
    Close

    Open an SSH session to ESXi host.

    cd /vmfs/volumes/datastore1/Synology
    ls -la

    You should see:

    [root@localhost:/vmfs/volumes/63aba548-3fbb4c6a-73d1-b42e993658f8/Synology] ls -la
    total 22120576
    drwxr-xr-x    1 root     root         73728 Dec 28 03:33 .
    drwxr-xr-t    1 root     root         73728 Dec 28 03:22 ..
    -rw-------    1 root     root     22548578304 Dec 28 03:28 Synology-flat.vmdk
    -rw-------    1 root     root           443 Dec 28 03:28 Synology.vmdk
    -rw-r--r--    1 root     root             0 Dec 28 03:22 Synology.vmsd
    -rwxr-xr-x    1 root     root          2743 Dec 28 03:30 Synology.vmx
    -rw-r--r--    1 root     root     101082797 Dec 28 03:33 tinycore-redpill.v0.9.3.0.vmdk.gz


    gunzip tinycore-redpill.v0.9.3.0.vmdk.gz

    vmkfstools -i tinycore-redpill.v0.9.3.0.vmdk SynologyTinyCore.vmdk

    cp SynologyTinyCore.vmdk Synology.vmdk
    overwrite ? -> yes

    cp SynologyTinyCore-flat.vmdk Synology-flat.vmdk
    overwrite ? -> yes

    exit > close ssh session

    CONFIGURING TINYCORE:
    =====================

    Start the Synology VM
    Once TinyCore loads in the terminal type:

    Ctrl+C to exit the bottom screen. Top terminal should remain open. 
    In there type:

    ./rploader.sh 

    (get the value of the newest version of firmware for ds3622 e.g.:
    ds3622xsp-7.1.1-42962 - you will need this later)

    ./rploader.sh serialgen DS3622xs+ realmac

    Serial number for Model = adasdafafwefwef
    Mac address for Model DS3622xs+ = 00:xx:zz:cc:ss:dd
    Real Mac Address : 00:0c:29:5e:2e:d4
    Notice: realmac option is requested, real mac will be used
    Should i update the user_config.json with these values ? 

    Y
    Enter


    ./rploader.sh satamap

    Machine is VIRTUAL Hypervisor=VMware

    Found "02:01:0 VMware SATA AHCI controller'
    Detected 30 ports/1 drives. Mapping SATABOOT drive after maxdisks

    Found "03:00.0 Intel Corporation Device a352 (rev 10)"
    Detected 8 ports/8 drives. Override # of ports oor Enter to accept <8>

    Press ENTER

    Computed settings:
    SataPortMap=18
    DiskIdxMap=1000

    Should i update the user_config.json with these values ?

    Y
    Enter

    ./rploader.sh backup


    ./rploader.sh build ds3622xsp-7.1.1-42962 <<<-- make sure its the latest value for ds3622 by running just ./rploader.sh without any flags)

    Y
    Enter


    exitcheck.sh reboot

    When it does make sure to select SATA in the gurb menu, you only have 1 second to do it.


    The Synology VM will now load

    Open up synology assistant and setup as you would a normal synology


    ENABLE SSH AND ENABLE SHR:
    =========================
    Once Synology is setup and you can access the web gui
    Enable SSH in Control Panel
    login via ssh into your synology using your admin account.


    cd /etc.defaults
    sudo vi synoinfo.conf


    Password: type in your admin password.

    search for a line  supportphoto="yes"

    above it add:

    support_syno_hybrid_raid="yes"
     

    and also comment out using "#" the following line:

    supportraidgroup="yes"
    change to:
    #supportraidgroup="yes"

    write + quit
    :wq!


    reboot synology from synology gui.

     

    Here are the instructions for setting DSM 7.1.1 up in baremetal mode:

    Quote

    In the BIOS setup CSM to enabled and make sure boot mode for storage / network devices is set to Legacy.

    Prepare the USB as per the instructions in github

    Make sure to use these commands: 

    ./rploader.sh update

    ./rploader.sh fullupgrade

    ./rploader.sh serialgen DS3622xs+ realmac

    ./rploader.sh identifyusb

    ./rploader.sh satamap (make sure to limit the number of ports to 2 for the Marvell 88SE9230 / PEXM2SAT3422 controller

    ./rploader.sh backup

    ./rploader.sh build ds3622xsp-7.1.1-42962

    exitcheck.sh reboot

    Now setup the system as you normally would a synology (With Synology Assistant)

     

    Once Synology is setup and you can access the web gui
    Enable SSH in Control Panel
    login via ssh into your synology using your admin account.


    cd /etc.defaults
    sudo vi synoinfo.conf


    Password: type in your admin password.

    search for a line  supportphoto="yes"

    above it add:

    support_syno_hybrid_raid="yes"
     

    and also comment out using "#" the following line:

    supportraidgroup="yes"
    change to:
    #supportraidgroup="yes"

     

     

  3. Just a small update ...


    I finally got DSM installed on the ODROID-H2.

    I had to use a donor board.

    Setup DSM 6.2.1 using juns 1.04b loader and DSM_DS918+_23824.pat on an Asrock z390 board with 9900x and a PCIe Realtek network card (onboard card did not work).

    Once DSM was installed on the USB I moved it and the SATA HDD to the ODROID-H2 and it booted up.

     

    Now I'm trying to install the DSM using eMMC instead of USB and it seems the box fails to boot.

    If I flash juns loader onto the eMMC, I will see the loader boot up, and the usual splash screen comes up, however beyond that there is no activity. The ODROID H2 does not get an IP, doesn't connect to the network yet network lights are up.

    If I put the eMMC onto a eMMC->USB adapter and boot the ODRID-H2 from that it works perfectly.

     

    Any ideas ?

  4. Small update.


    So I managed to get around issue b and try other loaders. The way I fixed that was used a new BOOTx64 loader for the /EFI/BOOT/BOOTx64.EFI

    I injected the BOOTx64.EFI from Jun's 1.04b loader into older loaders and they seem to work fine.

    However, issue a still persists ... so I've tried 1.02b and I'm still running into error 13 issues.

     

    Can anyone tell me how to do a force install ? I've tried googling but haven't been able to find a guide how to run a force install

  5. 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.

     

    e13.png

    e13-1.png

     

    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)

     

×
×
  • Create New...