Jump to content
XPEnology Community

How to install DSM 5.0 4458 using gnoboot-me


Recommended Posts

How to install DSM 5.0 4458.

 

If you have 5.0beta1 trantor then you can use gnoboot 10.3 alpha

1. write using win32imagedrive gnoboot 10.3 alpha to usb

2. boot from usb

3. select gnoboot-me

4. using synology asssistant install latest 4458 pat file

5. reboot with usb inserted , (don't select gnoboot-me, let grub to select automatically )

6. drivers will be upgraded and inserted in original 4458 installed version.

 

NOTE:

- no data will be deleted or altered on installation

- need to reconfigure again users and permission if you lost them.

- try a scrub to be sure that all data are ok.

 

Tested on :

Gigabyte GA-1307UN (without FAN)

3x 2TB hdd using SHR RAID1.

It's working great.

Thanks gnoboot.

:grin:

Edited by Guest
Link to comment
Share on other sites

The only problem with this method is that it uses gnoboot-alpha-vfat. gnoboot doesn't make it easy to download his stuff and even when you manage to download it, you have to deal with the password. If there's a bug, your system is down and there is a fix available, it could be days before you figure out how download it, and "guess" the password. Those games are completely counter-productive to the spirit of this community. Trantor sets a good example! He makes his releases available without asking for anything in return; you don't have to click on any stupid ads, you don't have to donate. I would rather donate to trantor for his efforts than play stupid games to get access to gnoboot. Rant done!

Link to comment
Share on other sites

@yinko,

 

Plus one.

 

Comments like this don't really do much to inspire confidence in motives either. :roll: Questionnaires, ad clicks, PW protected zips, obfuscated file access etc. WHTF? Bollocks to that nonsense.

 

If you trust the developers/repackers here then its secure. That was the reason I went over and build my own kernel that can be installed using official pat file(installer) from the vendor. :twisted: [spoiler=]My porns are very valuable to me and I don't want anybody to look at it. :mrgreen: Kidding aside, just always keep a backup or have a test machine before you upgrade to another version. :wink:

 

Personally I trust the people leading this project who have shared their work and knowledge with their community freely and openly, without resorting to PW protected zips etc. I'm grateful to them and other knowledgeable users of this community who share and demonstrate the same spirit as Trantor. :cool:

Link to comment
Share on other sites

hey ive done the steps above but when i boot to the gnoboot-me menu there is no install for 5.0-4458 only for 5.0-4418 and the older versions how did you get to install DSM 4458

 

I am using the DSM_DS3612xs_4458.pat and it does not want to migrate or install

 

1. using gnoboot-alpha10-vfat <---- is this correct... ?

2. @ 40% i get an error 13 file corrupted. and have downloaded an alternate image.

3. any pointers please .. ?

 

Please help.

Link to comment
Share on other sites

@CtrlAltDel, I've only just started playing with xpenology and immediately I've noticed how easy it was to use trantor's releases. Then, when I wanted to try out gnoboot, I had to jump through hoops just to get even an old release and then when I got it, it didn't work. I have spent more time trying to figure out how to get a non-working gnoboot release than I had to spend to get trantor's working releases. I will emulate trantor's way of contributing to the community as soon as I learn a thing or two about repacking DSM builds. A big thanks to all in this community who freely contribute their time and knowledge for the benefit of everyone.

Link to comment
Share on other sites

hey ive done the steps above but when i boot to the gnoboot-me menu there is no install for 5.0-4458 only for 5.0-4418 and the older versions how did you get to install DSM 4458

 

I am using the DSM_DS3612xs_4458.pat and it does not want to migrate or install

 

1. using gnoboot-alpha10-vfat <---- is this correct... ?

2. @ 40% i get an error 13 file corrupted. and have downloaded an alternate image.

3. any pointers please .. ?

 

Please help.

 

So to fix:

use only 4418 pat file util 4458 gnoboot will released.

I saw in blog that will released in weekend.

Link to comment
Share on other sites

The only problem with this method is that it uses gnoboot-alpha-vfat. gnoboot doesn't make it easy to download his stuff and even when you manage to download it, you have to deal with the password. If there's a bug, your system is down and there is a fix available, it could be days before you figure out how download it, and "guess" the password. Those games are completely counter-productive to the spirit of this community. Trantor sets a good example! He makes his releases available without asking for anything in return; you don't have to click on any stupid ads, you don't have to donate. I would rather donate to trantor for his efforts than play stupid games to get access to gnoboot. Rant done!

 

which is why i will never go down this route. why be stuck and shit out of luck???. I totally agree with you and trantor. the gnoboot sounds more like a mac osx approach. well hidden and secretly guarded. need a fix muhahahaha go cry and spends hours figuring it out muhahahaha. 2 words fuk dat

Link to comment
Share on other sites

Oh well, I've even released the kernel patch. So all you F*CK!*G suckers can build your own release! Did anybody here even release their patch? Yeah Andy was the first one, but it doesn't apply with the latest dsgpl (4.3) source code.

 

--- drivers/ata/libata-core.c.orig	2014-01-06 02:42:49.946152467 +0800
+++ drivers/ata/libata-core.c	2014-01-06 02:51:38.822224108 +0800
@@ -7359,7 +7359,7 @@
EXPORT_SYMBOL(funcSYNOSendDiskPortDisEvent);
#endif /* MY_ABC_HERE */

-#ifdef MY_DEF_HERE
+#if (defined(MY_DEF_HERE) || defined(XPENOLOGY))
int (*funcSYNOSendEboxRefreshEvent)(int portIndex) = NULL;
EXPORT_SYMBOL(funcSYNOSendEboxRefreshEvent);
#endif
--- include/linux/syno_user.h.orig	2014-01-06 02:42:49.948152589 +0800
+++ include/linux/syno_user.h	2014-01-06 03:01:35.815989363 +0800
@@ -4,6 +4,11 @@
#define __SYNO_USER_H_

/**
+ * XPEnology project
+ */
+#define XPENOLOGY
+
+/**
 * Dsc: Synology multimedia server feature. For indexing video, photo,
 *      music.
 * Ref: libsynosdk, lnxnetatalk, lnxsdk, rsync, samba, smbftpd
--- kernel/sysctl.c.orig	2014-01-06 02:42:49.955153014 +0800
+++ kernel/sysctl.c	2014-01-06 02:56:38.044634463 +0800
@@ -228,7 +228,7 @@
int (*funcSYNOGetHwCapability)(CAPABILITY *) = NULL;
EXPORT_SYMBOL(funcSYNOGetHwCapability);

-#ifdef MY_DEF_HERE
+#if (defined(MY_DEF_HERE) || defined(XPENOLOGY))
EUNIT_PWRON_TYPE (*funcSynoEunitPowerctlType)(void) = NULL;
EXPORT_SYMBOL(funcSynoEunitPowerctlType);
#endif
--- drivers/ata/sata_mv.c.orig	2013-08-24 17:37:08.000000000 +0800
+++ drivers/ata/sata_mv.c	2014-01-07 17:11:57.921748538 +0800
@@ -3692,6 +3692,7 @@
/*FIXME - Too brutal and directly, should separate into levels*/
void syno_sata_mv_gpio_write(u8 blFaulty, const unsigned short hostnum)
{
+#ifndef XPENOLOGY
	struct Scsi_Host *shost = scsi_host_lookup(hostnum);
	struct ata_port *ap = NULL;
	void __iomem *host_mmio = NULL;
@@ -3724,9 +3725,10 @@

	writel(gpio_value, host_mmio + GPIO_CTL_DATA);
	scsi_host_put(shost);
-
END:
+#endif /* XPENOLOGY */
	return;
+
}
EXPORT_SYMBOL(syno_sata_mv_gpio_write);
#endif
--- drivers/pci/quirks.c.orig	2014-02-16 07:28:49.702724291 -0800
+++ drivers/pci/quirks.c	2014-02-16 07:30:58.599035923 -0800
@@ -618,7 +618,9 @@
         ( pin < 0 || pin >= 96 ) ||
         NULL == pValue )
    {
+#ifndef XPENOLOGY
        printk("parameter error. gpiobase=%08X, pin=%d, pValue=%p\n", gpiobase, pin, pValue);
+#endif /* XPENOLOGY */
        goto END;
    }

--- fs/compat_ioctl.c.orig	2014-02-16 07:32:49.409608822 -0800
+++ fs/compat_ioctl.c	2014-02-16 07:34:43.256789001 -0800
@@ -1760,12 +1760,14 @@
	 sprintf(buf,"'%c'", (cmd>>_IOC_TYPESHIFT) & _IOC_TYPEMASK);
	if (!isprint(buf[1]))
		sprintf(buf, "%02x", buf[1]);
+#ifndef XPENOLOGY
	compat_printk("ioctl32(%s:%d): Unknown cmd fd(%d) "
			"cmd(%08x){t:%s;sz:%u} arg(%08x) on %s\n",
			current->comm, current->pid,
			(int)fd, (unsigned int)cmd, buf,
			(cmd >> _IOC_SIZESHIFT) & _IOC_SIZEMASK,
			(unsigned int)arg, fn);
+#endif

	if (path)
		free_page((unsigned long)path);
--- drivers/tty/vt/vt.c.orig
+++ drivers/tty/vt/vt.c
@@ -2474,7 +2474,7 @@ int vt_kmsg_redirect(int new)
		return kmsg_con;
}

-#ifndef MY_ABC_HERE
+#ifdef MY_ABC_HERE
/*
 *	Console on virtual terminal
 *
@@ -2574,7 +2574,7 @@ quit:
}
#endif

-#ifndef MY_ABC_HERE
+#ifdef MY_ABC_HERE
static struct tty_driver *vt_console_device(struct console *c, int *index)
{
	*index = c->index ? c->index-1 : fg_console;
@@ -2942,7 +2942,7 @@ static int __init con_init(void)

	console_unlock();

-#ifndef MY_ABC_HERE
+#ifdef MY_ABC_HERE
#ifdef CONFIG_VT_CONSOLE
	register_console(&vt_console_driver);
#endif
--- drivers/scsi/sd.c.orig	2014-02-15 16:28:48.148339650 -0800
+++ drivers/scsi/sd.c	2014-02-15 16:30:15.022585662 -0800
@@ -3006,6 +3006,11 @@
{
	struct scsi_device *sdp = to_scsi_device(dev);

+#ifdef XPENOLOGY
+	printk(KERN_DEBUG "%s: disk driver '%s'", __FUNCTION__,
+			sdp->host->hostt->name);
+#endif
+
	// iscsi
#ifdef MY_ABC_HERE
	if(strcmp(sdp->host->hostt->name, "iSCSI Initiator over TCP/IP") == 0){
@@ -3036,12 +3041,19 @@

	if (SYNO_PORT_TYPE_SATA == sdp->host->hostt->syno_port_type) {
		// else treat as internal disks
+		printk(KERN_DEBUG "%s: SATA syno_port_type %x\n", __FUNCTION__, 
+				sdp->host->hostt->syno_port_type);
		return SYNO_DISK_SATA;
	}
	// sas disks
	if (SYNO_PORT_TYPE_SAS == sdp->host->hostt->syno_port_type) {
+		printk(KERN_DEBUG "%s: SAS syno_port_type %x", __FUNCTION__, 
+				sdp->host->hostt->syno_port_type);
		return SYNO_DISK_SAS;
	}
+#ifdef XPENOLOGY
+	printk(KERN_DEBUG "syno_disk_type_get: Got UNKNOWN port type %x\n", sdp->host->hostt->syno_port_type);
+#endif 
	return SYNO_DISK_UNKNOWN;
}
#endif
@@ -3210,7 +3222,7 @@
#endif
		// try at most 5 times
		while (want_idx != index &&
-			(SYNO_DISK_SATA == sdkp->synodisktype) && iRetry < 15) {
+			(SYNO_DISK_SATA == sdkp->synodisktype) && iRetry < 5) {
			/* Sometimes raid is not release all scsi disk yet. Try to delay and reget */
			printk("want_idx %d index %d. delay and reget\n", want_idx, index);

@@ -3295,6 +3307,8 @@
			error = sd_format_disk_name(SYNO_SATA_DEVICE_PREFIX, index, gd->disk_name, DISK_NAME_LEN);
			break;
		case SYNO_DISK_USB:
+			error = sd_format_disk_name(SYNO_SATA_DEVICE_PREFIX, index, gd->disk_name, DISK_NAME_LEN);
+			break;
		default:
#ifdef SYNO_SAS_DISK_NAME
			if (1 == g_is_sas_model) {
@@ -3303,6 +3317,10 @@
			}
#endif
			error = sd_format_disk_name(SYNO_SATA_DEVICE_PREFIX, index, gd->disk_name, DISK_NAME_LEN);
+#ifdef XPENOLOGY
+			printk(KERN_DEBUG "sd_probe: Got UNKNOWN disk %s with index %x\n", gd->disk_name, index);
+			gd->systemDisk = 1;
+#endif
			break;
	}
#else

Link to comment
Share on other sites

I fully agree with gnoboots way of working!

 

When you release something publicly you barely get any useful feedback.

If you force feedback you get much more of it. So the software can grow.

 

You have to ask for access once and get it.

And if suckers over at nas.cn would not dteal his work (it's against the spirit of open source not to give credit) he would not be forced to protect the files by PW

Link to comment
Share on other sites

Oh well, I've even released the kernel patch. So all you F*CK!*G suckers can build your own release! Did anybody here even release their patch? Yeah Andy was the first one, but it doesn't apply with the latest dsgpl (4.3) source code.

 

--- drivers/ata/libata-core.c.orig	2014-01-06 02:42:49.946152467 +0800
+++ drivers/ata/libata-core.c	2014-01-06 02:51:38.822224108 +0800
@@ -7359,7 +7359,7 @@
EXPORT_SYMBOL(funcSYNOSendDiskPortDisEvent);
#endif /* MY_ABC_HERE */

-#ifdef MY_DEF_HERE
+#if (defined(MY_DEF_HERE) || defined(XPENOLOGY))
int (*funcSYNOSendEboxRefreshEvent)(int portIndex) = NULL;
EXPORT_SYMBOL(funcSYNOSendEboxRefreshEvent);
#endif
--- include/linux/syno_user.h.orig	2014-01-06 02:42:49.948152589 +0800
+++ include/linux/syno_user.h	2014-01-06 03:01:35.815989363 +0800
@@ -4,6 +4,11 @@
#define __SYNO_USER_H_

/**
+ * XPEnology project
+ */
+#define XPENOLOGY
+
+/**
 * Dsc: Synology multimedia server feature. For indexing video, photo,
 *      music.
 * Ref: libsynosdk, lnxnetatalk, lnxsdk, rsync, samba, smbftpd
--- kernel/sysctl.c.orig	2014-01-06 02:42:49.955153014 +0800
+++ kernel/sysctl.c	2014-01-06 02:56:38.044634463 +0800
@@ -228,7 +228,7 @@
int (*funcSYNOGetHwCapability)(CAPABILITY *) = NULL;
EXPORT_SYMBOL(funcSYNOGetHwCapability);

-#ifdef MY_DEF_HERE
+#if (defined(MY_DEF_HERE) || defined(XPENOLOGY))
EUNIT_PWRON_TYPE (*funcSynoEunitPowerctlType)(void) = NULL;
EXPORT_SYMBOL(funcSynoEunitPowerctlType);
#endif
--- drivers/ata/sata_mv.c.orig	2013-08-24 17:37:08.000000000 +0800
+++ drivers/ata/sata_mv.c	2014-01-07 17:11:57.921748538 +0800
@@ -3692,6 +3692,7 @@
/*FIXME - Too brutal and directly, should separate into levels*/
void syno_sata_mv_gpio_write(u8 blFaulty, const unsigned short hostnum)
{
+#ifndef XPENOLOGY
	struct Scsi_Host *shost = scsi_host_lookup(hostnum);
	struct ata_port *ap = NULL;
	void __iomem *host_mmio = NULL;
@@ -3724,9 +3725,10 @@

	writel(gpio_value, host_mmio + GPIO_CTL_DATA);
	scsi_host_put(shost);
-
END:
+#endif /* XPENOLOGY */
	return;
+
}
EXPORT_SYMBOL(syno_sata_mv_gpio_write);
#endif
--- drivers/pci/quirks.c.orig	2014-02-16 07:28:49.702724291 -0800
+++ drivers/pci/quirks.c	2014-02-16 07:30:58.599035923 -0800
@@ -618,7 +618,9 @@
         ( pin < 0 || pin >= 96 ) ||
         NULL == pValue )
    {
+#ifndef XPENOLOGY
        printk("parameter error. gpiobase=%08X, pin=%d, pValue=%p\n", gpiobase, pin, pValue);
+#endif /* XPENOLOGY */
        goto END;
    }

--- fs/compat_ioctl.c.orig	2014-02-16 07:32:49.409608822 -0800
+++ fs/compat_ioctl.c	2014-02-16 07:34:43.256789001 -0800
@@ -1760,12 +1760,14 @@
	 sprintf(buf,"'%c'", (cmd>>_IOC_TYPESHIFT) & _IOC_TYPEMASK);
	if (!isprint(buf[1]))
		sprintf(buf, "%02x", buf[1]);
+#ifndef XPENOLOGY
	compat_printk("ioctl32(%s:%d): Unknown cmd fd(%d) "
			"cmd(%08x){t:%s;sz:%u} arg(%08x) on %s\n",
			current->comm, current->pid,
			(int)fd, (unsigned int)cmd, buf,
			(cmd >> _IOC_SIZESHIFT) & _IOC_SIZEMASK,
			(unsigned int)arg, fn);
+#endif

	if (path)
		free_page((unsigned long)path);
--- drivers/tty/vt/vt.c.orig
+++ drivers/tty/vt/vt.c
@@ -2474,7 +2474,7 @@ int vt_kmsg_redirect(int new)
		return kmsg_con;
}

-#ifndef MY_ABC_HERE
+#ifdef MY_ABC_HERE
/*
 *	Console on virtual terminal
 *
@@ -2574,7 +2574,7 @@ quit:
}
#endif

-#ifndef MY_ABC_HERE
+#ifdef MY_ABC_HERE
static struct tty_driver *vt_console_device(struct console *c, int *index)
{
	*index = c->index ? c->index-1 : fg_console;
@@ -2942,7 +2942,7 @@ static int __init con_init(void)

	console_unlock();

-#ifndef MY_ABC_HERE
+#ifdef MY_ABC_HERE
#ifdef CONFIG_VT_CONSOLE
	register_console(&vt_console_driver);
#endif
--- drivers/scsi/sd.c.orig	2014-02-15 16:28:48.148339650 -0800
+++ drivers/scsi/sd.c	2014-02-15 16:30:15.022585662 -0800
@@ -3006,6 +3006,11 @@
{
	struct scsi_device *sdp = to_scsi_device(dev);

+#ifdef XPENOLOGY
+	printk(KERN_DEBUG "%s: disk driver '%s'", __FUNCTION__,
+			sdp->host->hostt->name);
+#endif
+
	// iscsi
#ifdef MY_ABC_HERE
	if(strcmp(sdp->host->hostt->name, "iSCSI Initiator over TCP/IP") == 0){
@@ -3036,12 +3041,19 @@

	if (SYNO_PORT_TYPE_SATA == sdp->host->hostt->syno_port_type) {
		// else treat as internal disks
+		printk(KERN_DEBUG "%s: SATA syno_port_type %x\n", __FUNCTION__, 
+				sdp->host->hostt->syno_port_type);
		return SYNO_DISK_SATA;
	}
	// sas disks
	if (SYNO_PORT_TYPE_SAS == sdp->host->hostt->syno_port_type) {
+		printk(KERN_DEBUG "%s: SAS syno_port_type %x", __FUNCTION__, 
+				sdp->host->hostt->syno_port_type);
		return SYNO_DISK_SAS;
	}
+#ifdef XPENOLOGY
+	printk(KERN_DEBUG "syno_disk_type_get: Got UNKNOWN port type %x\n", sdp->host->hostt->syno_port_type);
+#endif 
	return SYNO_DISK_UNKNOWN;
}
#endif
@@ -3210,7 +3222,7 @@
#endif
		// try at most 5 times
		while (want_idx != index &&
-			(SYNO_DISK_SATA == sdkp->synodisktype) && iRetry < 15) {
+			(SYNO_DISK_SATA == sdkp->synodisktype) && iRetry < 5) {
			/* Sometimes raid is not release all scsi disk yet. Try to delay and reget */
			printk("want_idx %d index %d. delay and reget\n", want_idx, index);

@@ -3295,6 +3307,8 @@
			error = sd_format_disk_name(SYNO_SATA_DEVICE_PREFIX, index, gd->disk_name, DISK_NAME_LEN);
			break;
		case SYNO_DISK_USB:
+			error = sd_format_disk_name(SYNO_SATA_DEVICE_PREFIX, index, gd->disk_name, DISK_NAME_LEN);
+			break;
		default:
#ifdef SYNO_SAS_DISK_NAME
			if (1 == g_is_sas_model) {
@@ -3303,6 +3317,10 @@
			}
#endif
			error = sd_format_disk_name(SYNO_SATA_DEVICE_PREFIX, index, gd->disk_name, DISK_NAME_LEN);
+#ifdef XPENOLOGY
+			printk(KERN_DEBUG "sd_probe: Got UNKNOWN disk %s with index %x\n", gd->disk_name, index);
+			gd->systemDisk = 1;
+#endif
			break;
	}
#else

 

 

 

Don't let the voice of two speak fir the rest of the community, most of us are grateful for your work, and all those who contribute to the forum. Some people can't help being ungrateful. It's in their DNA. Thank you!

Link to comment
Share on other sites

Although I've not posted on the forums I have followed them assiduously and constructed a very reliable NAS based on an HP Proliant N54L as a result of the information I found here.

 

I would like to also add my thanks to Trantor and Gnoboot for their very worthwhile work :smile:

Link to comment
Share on other sites

Although I've not posted on the forums I have followed them assiduously and constructed a very reliable NAS based on an HP Proliant N54L as a result of the information I found here.

 

I would like to also add my thanks to Trantor and Gnoboot for their very worthwhile work :smile:

 

+1

Link to comment
Share on other sites

I like the fact that both trantor and gnoboot get along so well and share their findings! As a result both of them have made massive contributions to xpenology which is more than I can say about all the people complaining.

 

I don't understand what all the fuss is about though. We've had frequent feature requests and bug fixes from them both. So what if gnoboot expects a contribution from us users in the form of feed back?

 

If you're unhappy with either of them, go and start your own kernel build or buy a proper Synology. Nobody owes you anything here.

Link to comment
Share on other sites

1-gnoboot-me

2-Booting 'gnoboot-5.0-4458 (install/upgrade/downgrade)'

 

root (hd0,0)

Filesystem type is fat, partition type 0xb

kernel /zImage gnoboot_me=5.0-4458

[Linux-bzImage, setup=0x3600, size=0x10554f0]

 

 

stopped here pls help.

Edited by Guest
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...