Page 1 of 1

How to build 6.6.x kernel? (Solved)

Posted: Thu Nov 09, 2023 10:18 am
by porteux

I've been struggling to make kernel 6.6.x work on my machine using PorteuX and Porteus. It works on some machines but it doesn't on others. So I decided to try Puppy kernel 6.6.0, from here: https://archive.org/download/Puppy_Linu ... 64.tar.bz2

Surprisingly it works! So then I tried to build it using your .config file (extracted from a runtime kernel) but I got the exact same error during boot, which is:

kernel panic - not syncing: Can't create rootfs
Image

So my question is what is the magic you guys are doing to build the kernel?

Thanks a lot! :)


Re: How to build 6.6.x?

Posted: Fri Nov 10, 2023 12:31 am
by rockedge

How are the module and firmware SFS's set up? Or are you are compiling a monolithic type kernel?

I just built a general purpose huge kernel version 6.6 using the kernel-kit from woof-CE using a VoidPup64 merge2out version.

I have attached the file DOTconfig-6.6.0-x86_64.tar.gz which I used for the build. I can make this kernel available if any one is interested.

Will be attempting with the same kernel-kit setup to build a full real time 6.6-rt13 kernel with both AUFS and OverlayFS builtin, patched and configured for full real time preemption.


Re: How to build 6.6.x?

Posted: Fri Nov 10, 2023 7:04 am
by peebee
porteux wrote: Thu Nov 09, 2023 10:18 am

So my question is what is the magic you guys are doing to build the kernel?

Thanks a lot! :)

Hi @porteux

Our build.sh is available on Github:
https://github.com/puppylinux-woof-CE/w ... t/build.sh

There weren't any changes needed when moving from 6.5 builds to 6.6 builds.....

My 6.6.1 build is at:
https://sourceforge.net/projects/lxpup/ ... /interims/

Let us know if there is anything we can do to help solve the mystery - we can use Porteus kernels in Puppy installs so could do that test if you have a link to your kernel.


Re: How to build 6.6.x?

Posted: Fri Nov 10, 2023 2:41 pm
by porteux

You guys are super kind and supportive! I appreciate that a lot! :)

@rockedge, thanks to your .config file I managed to find that what was causing the problem was not my .config file, but how I was patching AUFS. It's all working now, although I have no idea why it worked for 1 year and it decided to break just now :?

@peebee, nice to know that you were willing to test my kernel build just to help me! :thumbup2:

Thanks once again, guys!


Re: [SOLVED] How to build 6.6.x?

Posted: Fri Nov 10, 2023 3:32 pm
by rockedge

although I have no idea why it worked for 1 year and it decided to break just now

I am amazed every time when a kernel build goes as planned. Part of the fun of doing it. I have the most problems when patching a kernel for full real time and AUFS together.


Re: [SOLVED] How to build 6.6.x?

Posted: Fri Nov 10, 2023 9:10 pm
by porteux

I realized that by applying the AUFS patch the way you guys are doing prevent modules from being able to be mounted from inside the union -- no problem mounting them from outside the union though (like a physical storage unit).

Example: get a sfs/xzm module, copy to ~/Desktop and try to mount/activate it. It will fail with the following message: mount: /: mount point not mounted or bad option.

The way I was applying AUFS path to the kernel this issue wasn't happening, but then it doesn't work at all (kernel panic) with 6.6.x.

Should we ask Sir sfjro? :D


Re: [SOLVED] How to build 6.6.x?

Posted: Fri Nov 10, 2023 11:11 pm
by porteux

OK, things are starting to make sense now.

The way Puppy is applying AUFS patches are somehow funny:

Code: Select all

for i in kbuild base standalone mmap; do #loopback tmpfs-idr vfs-ino
	patchfile=../aufs_sources/aufs${aufs_version}-$i.patch
	( echo ; echo "patch -N -p1 < ${patchfile##*/}" ) &>> ${BUILD_LOG}
	patch -N -p1 < ${patchfile} &>> ${BUILD_LOG}

By doing that you're applying only aufs*.patch, letting these ones out of the game:

Code: Select all

lockdep-debug.patch
tmpfs-idr.patch
vfs-ino.patch

So the initial problem I was having (the reason why I open this thread) is most likely due to something wrong with the code in one of these 3 patches, and they happen to enable mounting of the sfs/xzm modules that are in the union -- most likely other features are also missing when not applying these 3 patches.

I'm building the kernel at the moment to see if I can find more information. If you guys know anything, any information is welcome :)


Re: How to build 6.6.x kernel? (Solved)

Posted: Sat Nov 11, 2023 5:25 pm
by rockedge

@porteux Interesting. I was pretty sure I was including those patches so I'll have to look closer.

I managed to compile a 6.6-rt13 full real time kernel but overlay only and no aufs to see how that went. I will attempt a build using @ozsouth 's 2018 kernel-kit which has worked for me building a full RT kernel with both AUFS and overlay

It is the AUFS and the RT patches that seem to not play well together and need some tweaking.

I will convert this kernel into a usermerge model for use with KLV variants.