I've recently annouce that my work on a kernel mode dynamic patcher in this post http://xpenology.com/forum/viewtopic.php?f=2&t=19737&start=10#p72514
Now seems everything work out of box on VMware, so it's pretty close to an everybody useable loader,
But lots of hardwares drivers are missing, to support as much hardware as possible requires some extra work,
So I hope these is some help from the community to built & test drivers, make it usable for everyone.
AMD users have a look 3rd Post.
I've upload a tar archive of the boot partion, it should be untar in to a usb drive's EFI System Partition.
I prefers EFI bootloader, so I used grub2-efi here, but you can install your prefered ones, even none-EFI ones.
the zImage is a vanilla synology kernel, ramdisk.lzma is repacked to add some network drivers plus my patcher.
you need change sn/mac/vid/pid as usual before installation.
and to make installer happy, usb drive seem should have at least 2 partitions, one for boot, and one for recovery I guess.
I suggest to test it on VM first, then add hardware drivers for boot on bare metals.
Below is how my usb drive looks like
$ sudo gdisk -l /dev/sdc
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
BSD: not present
APM: not present
Found valid GPT with protective MBR; using GPT.
Disk /dev/sdc: 32784384 sectors, 15.6 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 4308A165-B0A6-4EC9-8B8E-9BEFB00BF33F
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 32784350
Partitions will be aligned on 2048-sector boundaries
Total free space is 4061 sectors (2.0 MiB)
Number Start (sector) End (sector) Size Code Name
1 2048 31457280 15.0 GiB 8300 Linux filesystem
2 31459328 31868927 200.0 MiB 8300 Linux filesystem
3 31868928 32784350 447.0 MiB EF00 EFI System
$ mount|grep tmp1
/dev/sdc3 on /mnt/tmp1 type vfat (rw)
$ ls -l /mnt/tmp1/
drwxr-xr-x 3 root root 8192 Sep 18 17:19 EFI
drwxr-xr-x 5 root root 8192 Sep 20 21:16 grub
drwxr-xr-x 3 root root 8192 Sep 20 21:15 image
$ lsusb |grep Flash
Bus 001 Device 010: ID 058f:6387 Alcor Micro Corp. Flash Drive
I add a few popular network & disk drivers, and create a boot image for VM.
Just add some scsi or sata disk, then boot, and follow normal installation process.https://mega.nz/#!llU23QgA!oGaZQuQLe0fsx1tuGiSBoZ19DSfEQH5Aq3GJXfEjpHE
for esxi, pls use this linkhttps://mega.nz/#!Agt00ZDT!lN5blyZc4gMaj-mKt-xCxoTtle-7cLF0ui9bF6ZBnY0
Plus a usb boot image for bare metal in UEFI mode. pls consider it unstable, test at your own risk.https://mega.nz/#!Z4UzWZxZ!hu9SZXpzJBTakHk7lO8pJfyHYb-YgGatI-Em9E3JXWI
Many people reported that DSM ask you to reinstall forever.
It turn out that lack of a serial port caused the failure. That is really a surprise
Anyway, I upload a new ramdisk to workaround the issue.
You should replace the image/DS3615xs/ramdisk.lzma in the boot partiton with this new one.
You have to change sn/mac/vid/pid as usual before installation !If you don't edit vid/pid in grub.conf you will get error 13 (file corruption) during setup.How to see the value of my VID & PID stickEDIT by Trantor (10-28-2016):
The esxi and bare metal image are updated, so manually replace the ramdisk is not required.
Alternatively, VM users may add a serial port as a workaround.
Bare metal users can enable the serial port in bios if your board has one.
Login to your DSM via ssh/telnet, your will see these messages in kernel log,
this is another consequence of lack of a serial console.
- Code: Select all
[ 1360.575754] init: tty main process (13856) terminated with status 1
[ 1360.575823] init: tty main process ended, respawning
[ 1370.591635] init: tty main process (13881) terminated with status 1
[ 1370.591755] init: tty main process ended, respawning
To stop it from spam your log, you can stop/disable the tty serivce.
above workaround is not enough for boards without serial port,
these unlucky guys should edit following serivce config manually, replace "console output" with "console none" after installation
- Code: Select all
root@test:~# grep -r "^console output$" /usr/ 2> /dev/null
I've found a hidden check related to console,
everyone should edit grub.cfg, replace console=uart8250,io,0x3f8,115200n8 with console=ttyS0,115200n8
Updated loader by Arcao latest images (10-28-2016) : https://mega.nz/#F!Oc8TCLgD!IiullNuGs95RlelM9SKd5w
Original post : viewtopic.php?f=2&t=20216&start=740#p76198
Sources for dev:
quicknick : https://github.com/quiknick/7274-kernel
setsunakawa : http://setsunakawa.ddns.net/synology/dsm6/
It's time to release a loader with a proper version number now.
Here is my loader v1.0 https://mega.nz/#F!18kB1BTB!1ft3N5Hnrcnqsneu0aQUkA
New features & fix:
Support bios & uefi boot & VMware & ESXI
Fix cmos reset issue( at least on bios mode VMware workstation)
most configurations can be done via grub command line now.
Remember last boot entry.
Autodetect synoboot partitions, not extensively tested. It is still recommended to set correct vid/pid.
AMD CPU support, not extensively tested, there are a few positive report on the forum.
Add grub menu for reinstallation.
Add grub menu to force installation when interrupted due to "Disks Disabled" message, not extensively tested
Automatically apply workaround for boards without serial port.
Fix SATA disk order remap, and allow to set SAS disk starting no, but disk order are still not deterministic between SAS disks.
Fix SAS disk naming, not extensively tested, only with one SAS2008 based HBA and synology provided mpt2sas driver.
Add ata_piix support, tested on VMware and it does not crash, only complain about "Read current link speed fail", so I
assume it works
, this driver requires a bit of patching to the kernel, so I include it in the package.
Integrate up-to-date network drivers compiled by Arcao and Trantor.
When runing on a slow single core machine, there is a race condition causes the patcher loading too late.
the most obvious sign is console not working properly. I don't expected this to happen normally,
the only example is a VM on my laptop when running on battery. If anyone believes have this issue,
please send me a message.
Some ethernet drivers crash when set MTU above about 4096(Jumbo frame), I've not identified the culprit yet.
How to install:
find the vid/pid of your usb drive
Burn the image to the drive, optionally edit grub.cfg to set vid/pid and boot entry, OR
connect monitor/keyboard/serial console to your Box.
Press C during Grub boot menu to enter command line
- Code: Select all
to configure pid and vid ("pid" and "vid" are command, and "XXXX", "YYYY" are you usb drive's vid,pid)
(There are a few other options can be config this way, you can read grub.cfg to know more detail.)
Press Esc to go back to boot menu
Select baremeta/baremetal AMD entry, press enter to boot.
If your encounter the "disk port disabled" error during installation, try the force install menu entry.
if both option does not work, you have to fallback to SataPortMap method,
type this line in grub command line, replace XX with appropriate value.
- Code: Select all
as I promised, here is v1.01, download link is the same as v1.0
This update contains nothing fancy, mainly for inner peace,
Plus, I revert megaraid_sas mpt3sas to old version.
It's not shining new now, the title is obsolete