Where to get hijack kernel source from?

Posted by: miko

Where to get hijack kernel source from? - 12/07/2003 09:36

Hi,
I am trying to build my own kernel for my MK2a. I have installed a cross-toolchain kit, but I can't find kernel source code - either empeg or hijack (I am looking for recent versions).
I have tried to combine all patches from hijack page, but there is missing one (v27-v28.patch.gz), so it will not build cleanly.
I have combined all patches from the empeg.com page and successfully got kernel 2.0, but this one fails when compiling with "structure has no member named `_do_idle'"
(on both RedHat 7.1 and RedHat 9.0 - but as I have a tollchail kit, it should not matter, am I correct?).
Here are the lines showing error:

arm-empeg-linux-gcc -D__KERNEL__ -I/usr/local/empeg-kernel/Source-Empeg/linux/include -Wall -Wstrict-prototypes -O2 -fno-strict-aliasing -pipe -msoft-float -march=armv4 -mtune=strongarm110 -c -o process.o process.c
process.c: In function `sys_idle':
process.c:65: structure has no member named `_do_idle'
make[1]: *** [process.o] Error 1
make[1]: Leaving directory `/home/empeg/empeg-kernel/Source-Empeg/linux/arch/arm/kernel'
make: *** [_dir_arch/arm/kernel] Error 2
[root@localhost linux]#

So, my question is: how to get hijack kernel compiled on RedHat? Or, more precisely: where to get needed files from? I know (I think) how to patch sources and compile kernel under linux, but I can not find files. I found this thread, but the links are broken there.
Posted by: wfaulk

Re: Where to get hijack kernel source from? - 12/07/2003 10:14

Unless you're trying to build an old one, there's a complete source for v300 and you can patch up from that.

And just to make sure you're not getting it from someplace bizarre, it's at http://empeg-hijack.sourceforge.net
Posted by: cushman

Re: Where to get hijack kernel source from? - 12/07/2003 10:19

Like Bitt said, you can download the v300 tarball and patch up from there. Download v300 and all the v300+ patches, then untar v300 into a directory. Change into that directory and run the command:

zcat `ls /path/to/patches/hijack*patch.gz | sort -n` | patch -p1

to patch your v300 tree up to the current version. Now you can continue from step 7 in Shonky's instructions on that post you linked to.
Posted by: miko

Re: Where to get hijack kernel source from? - 12/07/2003 10:29

Unless you're trying to build an old one, there's a complete source for v300 and you can patch up from that.


Thanks! I missed this one! It is in the middle of patches, so I did not notice it is a complete source. It could have different color Anyway, thank you!
Posted by: mlord

Re: Where to get hijack kernel source from? - 12/07/2003 10:41

>there is missing one (v27-v28.patch.gz),

Ooops.. my problem. I only have one merged patch: v26-28, and have now updated the Hijack site with a proper link for it.

Thanks
Posted by: miko

Re: Where to get hijack kernel source from? - 12/07/2003 11:26

OK, I got it compiled and installed! The only thing which worries me is:

VM: do_try_to_free_pages failed for player...
VM: do_try_to_free_pages failed for kswapd...

I get few of those errors on my console. Should I worry about it? I had not those errors before, on original hijack v340? (my is the same, jus compiled on my machine). I am running v3.0 of the player, so I am prepared for troubles
Posted by: cmtempeg

Re: Where to get hijack kernel source from? - 21/08/2003 09:48

Here's a short shell script I wrote that makes retreiving and patching the hijack source very simple.

Requires wget and perl

Instructions: Extract the tarfile, change to the hijacksrc directory. Edit gethijacksrc.sh, make sure the patch numbers are current (base source tree is 300, last patch is 340 as of this writing). Run ./gethijacksrc.sh.

You should then have a patched source tree located in the v300 directory.



It only requires perl because I originally wrote printrange in perl. Feel free to rewrite it in bash or whatever.
Posted by: tonyc

Re: Where to get hijack kernel source from? - 21/08/2003 11:43

Handy script, thanks.

For bash-only implementation, this substitution should work:
for (( i=$((BASEVER + 1)); i <= ${LASTPATCH}; i++ )); do

.