Jump to content
XPEnology Community

Kernel building


Andy928

Recommended Posts

I've been able to compile and boot my own kernel, but I'm having an issue when installing DSM.

Every reboot it just states that the configuration has been lost. Searching around the forum I think this might be related to installing DSM directly on SATA/SAS hardware?

I can see some patch notes from trant0r that says he changed his synoboot to allow this, but I can't find any instructions on how this was done.

 

Any help would be appreciated!

Cheers

Link to comment
Share on other sites

I managed to track down the issue I was having. Now I can get the install to complete, but I'm getting an issue where I get a segfault and then the system shuts down before I can check the log files to see what's causing the issue. I've attached a screenshot.

 

Again, any ideas? I'm not sure if scemd is raid related? Which could make sense as I've had issues with the xen pv frontend driver.

Interestingly, If I boot gnoboot it updates all the modules and then I can boot using my custom kernel thereafter (albeit with errors due to toolchain differences).

 

Cheers

segault.png.3464e0071dcb563fa7a58e4a6d4476a3.png

Link to comment
Share on other sites

  • 1 month later...
  • 2 months later...

hi,

 

I can not find the SetMicropId function in the synobios.ko file. someone could help me out?

 

in fact, I have several questions:

Currently, I have a nas "buffalo" basic, with a simple hard drive and processor arm marvell 88f6192.

I saw on the site of synology that DS213air were also provided with this type of processor. is it be possible to adapt the procedure for my buffalo?

I tried even me to follow the procedure. So I downloaded the toolchain of DSM 5 for 88f628x and the kernel sources for 6281.

I used the defconfig adequate for this architecture closest to mine and start the build.

After some changes in the menuconfig, I get this error:

 

CC      arch/arm/mach-kirkwood/./kw_family/boardEnv/mvBoardEnvSpec.o
arch/arm/mach-kirkwood/./kw_family/boardEnv/mvBoardEnvSpec.c:1132:2: error: array index in initializer exceeds array bounds
arch/arm/mach-kirkwood/./kw_family/boardEnv/mvBoardEnvSpec.c:1132:2: error: (near initialization for 'db88f6282ABoardPortDsaInfo')
arch/arm/mach-kirkwood/./kw_family/boardEnv/mvBoardEnvSpec.c:1135:2: warning: excess elements in array initializer [enabled by default]
arch/arm/mach-kirkwood/./kw_family/boardEnv/mvBoardEnvSpec.c:1135:2: warning: (near initialization for 'db88f6282ABoardPortDsaInfo') [enabled by default]
scripts/Makefile.build:305: recipe for target 'arch/arm/mach-kirkwood/./kw_family/boardEnv/mvBoardEnvSpec.o' failed
make[1]: *** [arch/arm/mach-kirkwood/./kw_family/boardEnv/mvBoardEnvSpec.o] Error 1
Makefile:967: recipe for target 'arch/arm/mach-kirkwood' failed
make: *** [arch/arm/mach-kirkwood] Error 2

 

with :

 

#ifdef CONFIG_MV_INCLUDE_GIG_ETH
MV_PORT_DSA_INFO db88f6282ABoardPortDsaInfo[CONFIG_MV_ETH_PORTS_NUM] =
{
       [0] = {
               .useDsaTag = MV_FALSE,
               .dsaTagLen = 0,
       },
-->   [1] = {
               .useDsaTag = MV_TRUE,
               .dsaTagLen = MV_EDSA_TAG_SIZE,
       },
};
#else
MV_PORT_DSA_INFO db88f6282ABoardPortDsaInfo[] =
{
       [0] = {
               .useDsaTag = MV_FALSE,
               .dsaTagLen = 0,
       },
};
#endif

 

Prior to, I had to add the synobios.h file from your git because it was not present in my source. Pending resolution of this issue I am interested in following the tutorial. I did find the file in the archive of .ko pat last DSM 5 for ds213air but SetMicropId function is apparently not there. I also do not see MICRO_ID any corresponding architecture that I want. Yet 213air is Referenced in file.h. what is the MICRO_ID and that it represents ?

synobios.zip

Link to comment
Share on other sites

  • 7 months later...

I saw in wiki the sources to https://github.com/andy928/xpenology is outdated as well as in sancom's site: http://nanoboot.eu.org/source

 

Where can I find dev. sources of latest XPEnoboot 5.2-5565.2? I would like to re-compile kernel with different options?

 

I'm trying to figuring out the following problem: I have a proxmox and xpenology running in a virtual machine (kvm).

The shutdown event which is normally propagating to virtual machine as ACPI button power off is not working under XPEnoboot 5.2-5565.2, whereas it's working perfectly on Nanoboot DSM-5.0-4528.

Link to comment
Share on other sites

  • 8 months later...

if i wanted to build or if we could request a new build what are the requirements for the RS3614xs+ it supports quad core nativily which opens up options for xeons and i7, now i know you say why do you need, i need because i like having a one stop shop build once and forget. san/vm/media dlna/we and sql hosting all from a single box. So what do you think would be the requirements?

Link to comment
Share on other sites

It's a secret Polichinel you will not find anything in this forum that allows you to compile a kernel boot

 

So there are layers to the rabbit hole,, ah okay so should we put up a bounty to shed light on our projects i know there are enoguh of us to do that. me myslef would put 200$ towards a project like that

Link to comment
Share on other sites

  • 2 months later...

I think it would it be really nice to update the wiki for the DSM 5.2 Update 5. I tried following the instructions step by step from an Ubuntu VM using the latest bromolow toolchain, without much success. I was building the kernel to include module support for pata_jmicron, and I do get to build the kernel alright, but the kernel is like 3M in size. The kernel included in the XPEnoboot USB stick is like 12M. And I get to build the module ok, but it can't be insmoded to the USB stick kernel.

 

If anyone knows how to build a wiki for people that just want to build drivers with the latest toolchains, I think it would help a lot of people and maybe minimize the driver requests... but it could be that I'm just not that familiar with kernel building and linux...

Link to comment
Share on other sites

XPEnoboot kernel is 10+ MiB because the initrd (rd.gz) is embedded in the bzimage, instead if embedding you can just "load it" by adding a parameter to the bootloader.

 

E.g. for syslinux: APPEND root=/dev/md0 initrd=rd.gz ihd_num=0.............

 

Other ingredients you need are a modified synobios.ko file and a rebuild initrd (rd.gz) with your kernel modules.

Link to comment
Share on other sites

  • 9 months later...
XPEnoboot kernel is 10+ MiB because the initrd (rd.gz) is embedded in the bzimage, instead if embedding you can just "load it" by adding a parameter to the bootloader.

 

E.g. for syslinux: APPEND root=/dev/md0 initrd=rd.gz ihd_num=0.............

 

Other ingredients you need are a modified synobios.ko file and a rebuild initrd (rd.gz) with your kernel modules.

 

The question is, how can we make a image with the kernel and the initrd like xpenoboot in a crosscompile environment? This part are missing in the wiki.

 

The initrd image is built with the command "make install" but in a crosscompile environment this makes no sense. How can we make a initrd image with the new built modules in a crosscompile environment? And how can we add this intrd image to the kernel image in a single archive? Anybody?

Link to comment
Share on other sites

×
×
  • Create New...