Welcome! Log In Create A New Profile

Advanced

(WIP) Linux Kernel and rootfs 4.14.24 for Seagate Business Storage NAS (CNS3xxx) package

Posted by bodhi 
Re: (WIP) Linux Kernel 3.18.5 Seagate Business Storage NAS (CNSxxx) package
February 18, 2016 12:38PM
For comparison, here is the out for kernel 2.6.35:

$ cat /proc/iomem
10000000-17ffffff : physmap-flash.0
20000000-3fffffff : System RAM
  2002f000-205eafff : Kernel text
  2064c000-206e402b : Kernel data
71000020-7100003f : cns3xxx-i2c.0
  71000020-7100003f : cns3xxx-i2c
71000180-710001ff : cns3xxx-pcm1.0
74000000-74000047 : GPIOA
  74000000-74000047 : GPIOA
74800000-74800047 : GPIOB
  74800000-74800047 : GPIOB
75000000-75000fff : cns3xxx-rtc
  75000000-75000fff : cns3xxx-rtc
76000000-76000799 : MISC
  76000000-76000799 : MISC
78000000-7800001f : serial
7c000000-7c000053 : cns3xxx-i2s.0
80000000-80000fff : dev:20
81000000-81ffffff : lm0
82000000-82ffffff : cns3xxx-ehci.0
83000000-83ffffff : cns3xxx-ahci.0
85000000-85000fff : sdhci-cns3xxx.0
  85000000-85000fff : mmc0
88000000-88ffffff : cns3xxx-ohci.0
90000600-900015ff : cns3xxx-wdt
a0000000-a0ffffff : PCIe0 non-prefetchable
ac000000-acffffff : PCIe0 I/O space

Re: (WIP) Linux Kernel 3.18.5 Seagate Business Storage NAS (CNSxxx) package
February 19, 2016 08:57AM
I got an experimental kernel working on the single driver version Seagate Central with the same CPU.
If anyone have such a device can give it a try. SMP and Ethernet working, rtc and usb not working.
An Jessie rootfs can be found on https://github.com/KL-Yang/seagate_central_linux
Similar finding as Yama, have to set "hwaddress ether xx:xx:xx:xx:xx:xx" in /etc/network/interfaces
Re: (WIP) Linux Kernel 3.18.5 Seagate Business Storage NAS (CNSxxx) package
February 21, 2016 05:51AM
@echor
Isn't that the same state from some months ago?
Your patch also works on the 2-Bay NAS, I didn't do anything else than applying the OpenWRT patches and your patch.

You say in the README.md, that the bootloader wants to boot from sda, but that was cause of your old config.
uboot tries to boot from the internal flash. This is from the uboot source of the Central NAS:
#define CONFIG_BOOTCOMMAND1						\
	"mmcinit;ext2load mmc 0:1 0x8000000 uImage;bootm"

#define CONFIG_BOOTCOMMAND2						\
	"mmcinit;ext2load mmc 0:2 0x8000000 uImage;bootm"

#define CONFIG_BOOTARGS1						\
	"console=ttyS0,38400 mem=256M root=/dev/md0 rootwait"

#define CONFIG_BOOTARGS2						\
	"console=ttyS0,38400 mem=256M root=/dev/md1 rootwait"
So you should tell in your README.md to use PARTUUID or UUID as the boot parameters in the config.
The above drive, on the 2-Bay NAS is the 3rd sATA port. So after attaching more HDDs the drives are mapped in a complete other order.
Oh, maybe consider this, adding to your config.

For the record, like I wrote earlier in my deprecated HowTo you can boot your own kernel with your own root automatically without interrupting uboot.
You just need to set the correct drive in the kernel config as kernel parameter and force to only use the parameters from the kernel.
CONFIG_CMDLINE_FORCE=y
And do following:
Mount the flash drive-partitions with the original uImage.
mkdir boot1
mkdir boot2
sudo mount /dev/mmcblk0p1 boot1
sudo mount /dev/mmcblk0p2 boot2
Backup the original, incase it is necessary.
mkdir stockuImage
sudo mv boot1/uImage stockuImage/uImage.p1
sudo mv boot2/uImage stockuImage/uImage.p2
Place your own kernel in the partitions.
sudo cp uImage boot1
sudo cp uImage boot2

Since there are patches from Seagate, someone could try to port them to 3.18.
2-Bay NAS source
Central NAS source

The two patches I mentioned in my last post, are attached.



Edited 1 time(s). Last edit at 02/21/2016 05:53AM by Yama.
Attachments:
open | download - 1544-Whitney-Econa-Update-kernel-from-RC6-2788-to-r2875.r.patch (376.2 KB)
open | download - 1329-M-arch-arm-mach-cns3xxx-Makefile.boot-M-arch-arm-mac.patch (4.3 KB)
Re: (WIP) Linux Kernel 3.18.5 Seagate Business Storage NAS (CNSxxx) package
February 23, 2016 08:18AM
Hi Yama,

It's almost the same patch. I attached to the UART console to my Seagate Central, and found in environment variable that
bootcmd=scsi init;ext2load scsi 0:1 0x4000000 uImage;bootm
And try to change it to something like
setenv bootcmd 'scsi init; ext2load scsi 0:1 0x2000000 boot.scr; autoscr 0x2000000'
saveenv
and the boot.scr was a script image of the two command
setenv bootargs console=ttyS0,38400 root=/dev/sda3 rw
ext2load scsi 0:1 0x4000000 uImage;bootm
I tried to change boot.scr to boot from different partition, and it does not work, but enter those command from UART console works fine.

Any idea? Maybe I should check the codelet you show in uboot source code.
Re: (WIP) Linux Kernel 3.18.5 Seagate Business Storage NAS (CNSxxx) package
February 23, 2016 03:56PM
That would require to recompile uboot and flash it via UART, like bodhi mentions here.

But you can let uboot automatically boot your own kernel with your own root, like I explained in my last post.
How did you oversee it? oO
Re: (WIP) Linux Kernel 3.18.5 Seagate Business Storage NAS (CNSxxx) package
February 26, 2016 05:34PM
Hi all,

I want to help you to work on this, but i'm lost with all your kernel version and for the moment i can not compil a new kernel.

Can you provide some links for kernel source ? (like openwrt) because i dont understand how to grab it.

For the moment i have kernel 3.18.27 source from kernel.org, patch for 3.18 from openwrt and some mising file from openwrt but the build failed like that :
CC      arch/arm/mach-cns3xxx/pcie.o
arch/arm/mach-cns3xxx/pcie.c: In function ‘check_master_abort’:
arch/arm/mach-cns3xxx/pcie.c:100:38: error: ‘struct cns3xxx_pcie’ has no member named ‘cfg_bases’
   host_base = (void __iomem *) cnspci->cfg_bases[CNS3XXX_HOST_TYPE].virtual;
                                      ^
arch/arm/mach-cns3xxx/pcie.c:100:50: error: ‘CNS3XXX_HOST_TYPE’ undeclared (first use in this function)
   host_base = (void __iomem *) cnspci->cfg_bases[CNS3XXX_HOST_TYPE].virtual;
                                                  ^
arch/arm/mach-cns3xxx/pcie.c:100:50: note: each undeclared identifier is reported only once for each function it appears in
scripts/Makefile.build:257: recipe for target 'arch/arm/mach-cns3xxx/pcie.o' failed
make[1]: *** [arch/arm/mach-cns3xxx/pcie.o] Error 1
Makefile:937: recipe for target 'arch/arm/mach-cns3xxx' failed
make: *** [arch/arm/mach-cns3xxx] Error 2

Thanks
Re: (WIP) Linux Kernel 3.18.5 Seagate Business Storage NAS (CNSxxx) package
February 26, 2016 07:02PM
I have a 3.18.x, don't know exact version.
Like echor told me, I got the OpenWRT patches for 3.18 and applied them. And also applied the patch from echor and used his config.

I guess your compile failed, cause you didn't use his config maybe?
Re: (WIP) Linux Kernel 3.18.5 Seagate Business Storage NAS (CNSxxx) package
February 27, 2016 01:08AM
I use config file from echor github.

Do you add the file in files folders on openWRT web site ? like :

files/arch/arm/mach-cns3xxx/include/mach/gpio.h
files/arch/arm/mach-cns3xxx/include/mach/smp.h
files/arch/arm/mach-cns3xxx/...

And other missing file from kernel source ?

I apply the path from openWRT too, from 000 to 200 that why i'v got this error.

Edit : Probleme solved by changing line 98 in 060-pcie_abort.patch
host_base = (void __iomem *) cnspci->cfg_bases[CNS3XXX_HOST_TYPE].virtual;
to
host_base = (void __iomem *) cnspci->host_regs;
like bodhi's path.



Edited 1 time(s). Last edit at 02/27/2016 02:48AM by Val532.
Re: (WIP) Linux Kernel 3.18.5 Seagate Business Storage NAS (CNSxxx) package
February 27, 2016 01:26PM
Hi all again,

I've managed to build 4.4 kernel and it seems to work good, for the moment i need to add the smp patch.

For the 3.18 kernel, i found why we can not use 512Mo of ram, the patch to do that is good, but some file have been moved like memory.h, so i dont know how to do now.

If bodhi can help i think i could resolved this problem.

Does "/arch/arm/mach-cns3xxx/include/mach/memory.h" it be now "/arch/arm/include/asm/memory.h" ?

And
MACHINE_START(CNS3420VB, "Seagate CNS3420 NAS")
	.smp		= smp_ops(cns3xxx_smp_ops),
	.atag_offset	= 0x100,
	.map_io		= cns3420_map_io,
	.init_irq	= cns3xxx_init_irq,
	.init_time	= cns3xxx_timer_init,
	.init_machine	= cns3420_init,
	.init_late      = cns3xxx_pcie_init_late,
	.restart	= cns3xxx_restart,
MACHINE_END
MACHINE_START(CNS3420VB, "Cavium Networks CNS3420 Validation Board")
	.phys_io	= CNS3XXX_UART0_BASE,
	.io_pg_offst	= (CNS3XXX_UART0_BASE_VIRT >> 18) & 0xfffc,
	.boot_params	= 0x00000100,
	.map_io		= cns3420_map_io,
	.init_irq	= cns3xxx_init_irq,
	.timer		= &cns3xxx_timer,
	.init_machine	= cns3420_init,
MACHINE_END

Is .atag_offset = 0x100 the same as .boot_params = 0x00000100 ?
If is not where can we find .boot_params = 0x00000100 ?
Re: (WIP) Linux Kernel 3.18.5 Seagate Business Storage NAS (CNSxxx) package
February 27, 2016 02:31PM
Val532,

Is the problem with 3.18 or 4.4? Send or post your patch and the config file for kernel 4.4, I'll see if I can build it.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: (WIP) Linux Kernel 3.18.5 Seagate Business Storage NAS (CNSxxx) package
February 27, 2016 05:03PM
Thanks,

Just for 4.4 (because 3.18 is in same state and older so no need to work on it as my opignon).

I use kernel 4.4.3 from kernel.org, patch from openWRT and config file from echor.

For the moment in this config it seems ok without SMP (because i have not try to add it).

Now i dont understand some modification to add support of 512Mo of ram, the patch work only for 2.6.35 and no longer for other kernel version.

-patch for 4.4.rar is the current patch from openWRT
-1329-M-arch-arm-mach-cns3xxx-Makefile.boot-M-arch-arm-mac.patch the old patch for supporting >256Mo of ram (curently broken because of memory.h and othe missing file in 4.4 kernel).
-config_seagate_smp the .config file working for 3.18 and 4.4 kernel.

I do some research and found this :

removing memory.h : Commit that remove memory.h
modifing .boot_params = 0x00000100, to .atag_offset = 0x100, : Commit for boot_params > atag_offset



Edited 1 time(s). Last edit at 02/27/2016 05:43PM by Val532.
Attachments:
open | download - patch for 4.4.rar (15.3 KB)
open | download - 1329-M-arch-arm-mach-cns3xxx-Makefile.boot-M-arch-arm-mac.patch (4.3 KB)
open | download - config_seagate_smp (62 KB)
Re: (WIP) Linux Kernel 3.18.5 Seagate Business Storage NAS (CNSxxx) package
February 28, 2016 05:49PM
Val532,

It does not build for me with this set of patches (applied it to 4.4.3 mainline). There are missing files. For example, this gpio.c was in 3.18.5. If the patches work then it should have pointed to a new location or added this file.

make[2]: *** No rule to make target 'arch/arm/mach-cns3xxx/gpio.o', needed by 'arch/arm/mach-cns3xxx/cns3xxx.o'.  Stop.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: (WIP) Linux Kernel 3.18.5 Seagate Business Storage NAS (CNSxxx) package
February 28, 2016 06:00PM
Sorry,

I forgot some file, openWRT add it alone and not as a .patch.

Add it to your kernel source and after apply patch.
Attachments:
open | download - missing files.rar (30.5 KB)
Re: (WIP) Linux Kernel 3.18.5 Seagate Business Storage NAS (CNSxxx) package
February 29, 2016 12:42PM
Val532,

I've attached the unified patch here. This patch should be applied to a vanilla kernel 4.4.3. I think it is best to have a unified patch that can be applied on top of the mainline kernel. It was built successfully with the config file config_seagate_smp.

So if you need only a few files then extract them. For example, patches for cns3420vb.c and memory.h are what you're looking for. Otherwise, just apply this patch on top of the mainline source tree.

If anybody likes to have this kernel to try, then pls post and I will upload it.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)



Edited 1 time(s). Last edit at 02/29/2016 12:44PM by bodhi.
Attachments:
open | download - linux-4.4.3-cns3xxx-tld-1.patch (144 KB)
Re: (WIP) Linux Kernel 3.18.5 Seagate Business Storage NAS (CNSxxx) package
February 29, 2016 12:50PM
bodhi,

Send me your patch to make some test.

Have you looking for the memory offset (0x2000000) ?
Re: (WIP) Linux Kernel 3.18.5 Seagate Business Storage NAS (CNSxxx) package
February 29, 2016 01:05PM
Val532 Wrote:
-------------------------------------------------------
> bodhi,
>
> Send me your patch to make some test.
>
> Have you looking for the memory offset (0x2000000)
> ?

:) forgot to attach the patch. I've attached it now.

Yes, the memory offset was incorporated in memory.h and cns3420vb.c. Try it!

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: (WIP) Linux Kernel 3.18.5 Seagate Business Storage NAS (CNSxxx) package
February 29, 2016 01:54PM
Ok so, some error :

First missing :

diff --git a/arch/arm/mach-cns3xxx/Kconfig b/arch/arm/mach-cns3xxx/Kconfig
index 446ec73..586a36d 100644
--- a/arch/arm/mach-cns3xxx/Kconfig
+++ b/arch/arm/mach-cns3xxx/Kconfig
@@ -60,4 +60,15 @@ endchoice
 config CNS3XXX_SPEEDUP_NAS
 	bool "NAS Speedup"
 
+config CNS3XXX_HIGH_PHYS_OFFSET
+    bool "High physical base address for the CNS3XXX platform"
+    depends on MMU
+    default y
+    help
+      CNS3XXX boards have the RAM available at 0x20000000, 
+      256MB of which being mirrored at 0x00000000. 
+      If the board supports 512MB of RAM, this option allows the 
+      memory to be accessed contiguously at the high physical
+      offset.
+
 endmenu

I add it but now :

  CC      arch/arm/mach-cns3xxx/cns3420vb.o
arch/arm/mach-cns3xxx/cns3420vb.c:245:12: warning: ‘struct meminfo’ declared inside parameter list
     struct meminfo *mi)
            ^
arch/arm/mach-cns3xxx/cns3420vb.c:245:12: warning: its scope is only this definition or declaration, which is probably not what you want
arch/arm/mach-cns3xxx/cns3420vb.c:245:12: warning: ‘struct mach_desc’ declared inside parameter list
arch/arm/mach-cns3xxx/cns3420vb.c: In function ‘cns3420_fixup’:
arch/arm/mach-cns3xxx/cns3420vb.c:247:4: error: dereferencing pointer to incomplete type
  mi->nr_banks = 1;
    ^
arch/arm/mach-cns3xxx/cns3420vb.c:248:4: error: dereferencing pointer to incomplete type
  mi->bank[0].start = PHYS_OFFSET;
    ^
arch/arm/mach-cns3xxx/cns3420vb.c:249:4: error: dereferencing pointer to incomplete type
  mi->bank[0].size = SZ_512M;
    ^
arch/arm/mach-cns3xxx/cns3420vb.c:250:4: error: dereferencing pointer to incomplete type
  mi->bank[0].node = 0;
    ^
arch/arm/mach-cns3xxx/cns3420vb.c: At top level:
arch/arm/mach-cns3xxx/cns3420vb.c:266:9: warning: initialization from incompatible pointer type
         .fixup          = cns3420_fixup,
         ^
arch/arm/mach-cns3xxx/cns3420vb.c:266:9: warning: (near initialization for ‘__mach_desc_CNS3420VB.fixup’)
scripts/Makefile.build:258: recipe for target 'arch/arm/mach-cns3xxx/cns3420vb.o' failed
make[1]: *** [arch/arm/mach-cns3xxx/cns3420vb.o] Error 1
Makefile:943: recipe for target 'arch/arm/mach-cns3xxx' failed
make: *** [arch/arm/mach-cns3xxx] Error 2
Re: (WIP) Linux Kernel 3.18.5 Seagate Business Storage NAS (CNSxxx) package
February 29, 2016 06:00PM
@blackdevil

root@seagate-dev:~# cat /proc/iomem
00000000-0fffffff : System RAM
  00008000-005b0f7b : Kernel code
  005e4000-0062d1f3 : Kernel data
10000000-17ffffff : physmap-flash.0
70000000-70000fff : eth0_mem
  70000000-70000fff : eth0_mem
71000020-7100003f : cns3xxx-i2c.0
  71000020-7100003f : cns3xxx-i2c
75000000-75000fff : cns3xxx-rtc
78000000-7800001f : serial
82000000-82ffffff : ehci-platform.0
  82000000-82ffffff : ehci-platform.0
83000000-83ffffff : ahci.0
  83000000-83ffffff : ahci.0
85000000-85000fff : sdhci-cns3xxx.0
88000000-88ffffff : ohci-platform.0

;)
Re: (WIP) Linux Kernel 3.18.5 Seagate Business Storage NAS (CNSxxx) package
February 29, 2016 06:31PM
Val532 Wrote:
-------------------------------------------------------
> Ok so, some error :
>
> First missing :
>
>
> diff --git a/arch/arm/mach-cns3xxx/Kconfig
> b/arch/arm/mach-cns3xxx/Kconfig
> index 446ec73..586a36d 100644
> --- a/arch/arm/mach-cns3xxx/Kconfig
> +++ b/arch/arm/mach-cns3xxx/Kconfig
> @@ -60,4 +60,15 @@ endchoice
>  config CNS3XXX_SPEEDUP_NAS
>  	bool "NAS Speedup"
>  
> +config CNS3XXX_HIGH_PHYS_OFFSET
> +    bool "High physical base address for the
> CNS3XXX platform"
> +    depends on MMU
> +    default y
> +    help
> +      CNS3XXX boards have the RAM available at
> 0x20000000, 
> +      256MB of which being mirrored at
> 0x00000000. 
> +      If the board supports 512MB of RAM, this
> option allows the 
> +      memory to be accessed contiguously at the
> high physical
> +      offset.
> +
>  endmenu
>


>
> I add it but now :
>
>
>   CC      arch/arm/mach-cns3xxx/cns3420vb.o
> arch/arm/mach-cns3xxx/cns3420vb.c:245:12: warning:
> ‘struct meminfo’ declared inside parameter
> list
>      struct meminfo *mi)
>             ^
> arch/arm/mach-cns3xxx/cns3420vb.c:245:12: warning:
> its scope is only this definition or declaration,
> which is probably not what you want
> arch/arm/mach-cns3xxx/cns3420vb.c:245:12: warning:
> ‘struct mach_desc’ declared inside parameter
> list
> arch/arm/mach-cns3xxx/cns3420vb.c: In function
> ‘cns3420_fixup’:
> arch/arm/mach-cns3xxx/cns3420vb.c:247:4: error:
> dereferencing pointer to incomplete type
>   mi->nr_banks = 1;
>     ^
> arch/arm/mach-cns3xxx/cns3420vb.c:248:4: error:
> dereferencing pointer to incomplete type
>   mi->bank[0].start = PHYS_OFFSET;
>     ^
> arch/arm/mach-cns3xxx/cns3420vb.c:249:4: error:
> dereferencing pointer to incomplete type
>   mi->bank[0].size = SZ_512M;
>     ^
> arch/arm/mach-cns3xxx/cns3420vb.c:250:4: error:
> dereferencing pointer to incomplete type
>   mi->bank[0].node = 0;
>     ^
> arch/arm/mach-cns3xxx/cns3420vb.c: At top level:
> arch/arm/mach-cns3xxx/cns3420vb.c:266:9: warning:
> initialization from incompatible pointer type
>          .fixup          = cns3420_fixup,
>          ^
> arch/arm/mach-cns3xxx/cns3420vb.c:266:9: warning:
> (near initialization for
> ‘__mach_desc_CNS3420VB.fixup’)
> scripts/Makefile.build:258: recipe for target
> 'arch/arm/mach-cns3xxx/cns3420vb.o' failed
> make[1]: *** [arch/arm/mach-cns3xxx/cns3420vb.o]
> Error 1
> Makefile:943: recipe for target
> 'arch/arm/mach-cns3xxx' failed
> make: *** [arch/arm/mach-cns3xxx] Error 2
>

Something is missing in your .config. It was built fine for me. Let me post the config too later.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: (WIP) Linux Kernel 3.18.5 Seagate Business Storage NAS (CNSxxx) package
February 29, 2016 06:48PM
Following now.
Re: (WIP) Linux Kernel 3.18.5 Seagate Business Storage NAS (CNSxxx) package
February 29, 2016 11:25PM
Here is the config file I used, to build with the patch above.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Attachments:
open | download - config-4.4.3-cns3xxx-tld-1 (65.3 KB)
Re: (WIP) Linux Kernel 3.18.5 Seagate Business Storage NAS (CNSxxx) package
March 01, 2016 02:46AM
Bodhi

So no i persists and say you miss something in your config ^^.

#
# CPU Core family selection
#
CONFIG_ARCH_MULTI_V6=y
# CONFIG_ARCH_MULTI_V7 is not set
CONFIG_ARCH_MULTI_V6_V7=y
# CONFIG_ARCH_MULTI_CPU_AUTO is not set
# CONFIG_ARCH_BCM is not set
CONFIG_ARCH_CNS3XXX=y
CONFIG_MACH_CNS3420VB=y
# CONFIG_MACH_GW2388 is not set
CONFIG_CNS3XXX_HIGH_PHYS_OFFSET=y
# CONFIG_ARCH_INTEGRATOR is not set
# CONFIG_ARCH_MXC is not set

Re: (WIP) Linux Kernel 3.18.5 Seagate Business Storage NAS (CNSxxx) package
March 01, 2016 03:35AM
Val532 Wrote:
-------------------------------------------------------
> Bodhi
>
> So no i persists and say you miss something in
> your config ^^.
>
>
> #
> # CPU Core family selection
> #
> CONFIG_ARCH_MULTI_V6=y
> # CONFIG_ARCH_MULTI_V7 is not set
> CONFIG_ARCH_MULTI_V6_V7=y
> # CONFIG_ARCH_MULTI_CPU_AUTO is not set
> # CONFIG_ARCH_BCM is not set
> CONFIG_ARCH_CNS3XXX=y
> CONFIG_MACH_CNS3420VB=y
> # CONFIG_MACH_GW2388 is not set
> CONFIG_CNS3XXX_HIGH_PHYS_OFFSET=y
> # CONFIG_ARCH_INTEGRATOR is not set
> # CONFIG_ARCH_MXC is not set
> 
>

Ah, I see. But your patch does not have CONFIG_CNS3XXX_HIGH_PHYS_OFFSET! was that missing from the patch you've posted? Where did you select that?

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)



Edited 1 time(s). Last edit at 03/01/2016 03:36AM by bodhi.
Re: (WIP) Linux Kernel 3.18.5 Seagate Business Storage NAS (CNSxxx) package
March 01, 2016 03:54AM
Let me rebuild with that added config and see what errors I will get.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: (WIP) Linux Kernel 3.18.5 Seagate Business Storage NAS (CNSxxx) package
March 01, 2016 04:25AM
Val532,
>
> So no i persists and say you miss something in
> your config ^^.
>

> CONFIG_CNS3XXX_HIGH_PHYS_OFFSET=y

Yes, you're right! I did miss this 1 Kconfig file (there were 2 Kconfig patches that look almost identical). Now I saw the same errors :) will fix that tomorrow.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: (WIP) Linux Kernel 3.18.5 Seagate Business Storage NAS (CNSxxx) package
March 01, 2016 04:29AM
Ok thanks,

For my part, i add i2c driver and rtc driver (from original seagate patch), and now i will spend some time on bugy pcie driver that not init correctly so i think is why we dont have USB3, also there is something to do with sil24 driver for the thrid sata port.
Re: (WIP) Linux Kernel 3.18.5 Seagate Business Storage NAS (CNSxxx) package
March 01, 2016 08:31PM
Val532,

A little bit of a bad news :) the reason that patch did not compile was that this area has been changed quite a bit since kernel 3.16. That's when the move to flatten device tree (FDT) occured. This CNS3xxx kernel is still a non-FDT kernel.

So in order to support this > 256MB, either:

1. some code must be retrofittted back to the old way (board file dependant instead of device tree). Or
2. a new DTS file must be created.

Either option is non-trivial task :) if you determine to make it work, I'd suggest picking 2nd option (more effort but it's will be resilient to change in newer kernels to come).

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)



Edited 1 time(s). Last edit at 03/01/2016 08:32PM by bodhi.
Re: (WIP) Linux Kernel 3.18.5 Seagate Business Storage NAS (CNSxxx) package
March 02, 2016 02:45AM
Bodhi,

I agree with you, if the kernel move on, we move on, retrofit is not a god option.

Do you think you can do it ?

Edit :
I don't found any information about dst file for cns3xxx, do you mean we have to create one ?



Edited 1 time(s). Last edit at 03/02/2016 03:02AM by Val532.
Re: (WIP) Linux Kernel 3.18.5 Seagate Business Storage NAS (CNSxxx) package
March 02, 2016 03:01AM
Val532,

> I agree with you, if the kernel move on, we move
> on, retrofit is not a god option.
>
> Do you think you can do it ?

I could. If similar DTS (ie. same family of SoC) already exists then it is not difficult. But the effort of creating new DTS and transition the code is time consuming (mostly DTS), and I don't think I will have that much free time in the near future.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: (WIP) Linux Kernel 3.18.5 Seagate Business Storage NAS (CNSxxx) package
March 02, 2016 03:16AM
We're stuck here, i don't see dts or similar thing for cns3xxx ....

Insted of that, do you think it's possible to have a lower working kernel ? Like 3.16 3.15 ?
Author:

Your Email:


Subject:


Spam prevention:
Please, enter the code that you see below in the input field. This is for blocking bots that try to post this form automatically. If the code is hard to read, then just try to guess it right. If you enter the wrong code, a new image is created and you get another chance to enter it right.
Message: