You are not logged in.
I find it hard to follow the example given for the "arch way" of using ..abs..
Reference is made to adding two lines to PKGBUILD starting with ..cp..
No indication of any other entries except ....NAME... and..... VERSION.
Only one item is retained,,,,....conflicts = ()
The portion of the PKGBUILD file concerned with ....Build { ..... }.....is not even shown or mentioned. Is it to be deleted??
A good example of kernel modification is not provided in the wiki references...only package installs.
If I am incorrect in assuming the above, perhaps a better wiki declaration would clear up the tendency to assume where things aren't obvious.
I am hoping the abs system will permit pacman -Syu to upgrade my custom kernel26 which has two CONFIG changes to the arch kernel26-2.6.5.
I have yet to get it to compile and install per the wiki outline.
Prediction...This year will be a very odd year!
Hard work does not kill people but why risk it: Charlie Mccarthy
A man is not complete until he is married..then..he is finished.
When ALL is lost, what can be found? Even bytes get lonely for a little bit! X-ray confirms Iam spineless!
Offline
I use custom kernel compile as in Wiki & it works fine...
It allows me to keep old kernel until new one is up & running
I do not think pacman will allow update & allow for your kernel changes
HTH
Mr Green
Mr Green
Offline
Have a look at the History. It is still a draft:
Sunday, April 4, 2004
* Version 1 9:32:55 am . . . [It's a draft. Plese check for errors, especially the "arch way" of clever kernel compilation.] -- PinkChick
But nevertheless, let's talk about the idea.
Only the parts are mentioned that need changing, afaik. Leave the rest as it is.
· You need to change the name and version, to have a pakage that is different from the original ones. Otherwise, it will overwrite your genuine kernels, what you may not want to.
· conflicts is to be retained, because it seems not be necessary to have one kernel in conflict to another. You can have more then one kernel, as long as they use different names. You may use kernel24, kernel26, and kernel-2.6.5-custom, next to each other.
· Leave the rest. Don't change the build sequence.
I hope my explanation will help you. You are invited to add changes to the wiki, if you think some hints are missing.
Please tell us about success or errors.
PS: Take care of your current config, you may need your old kernel to but in case of bad things.
Frumpus ♥ addict
[mu'.krum.pus], [frum.pus]
Offline
Appreciate your replies.
I have yet to obtain the original PKGBUILD file which includes the lines to be edited, as per the wiki...
These lines are not in the file:
cp System.map $Startdir/pkg/boot/System.map26
cp arch/i386/boot/bxImage $startdir/pkg/boot/vmlinuz26
I assume the change to these lines is to be verbatim as outlined in the wiki with the addition of..... conflicts= ()
If I add the verbatim lines as per the wiki, even though the original lines are missing, will the package be installed?
Prediction...This year will be a very odd year!
Hard work does not kill people but why risk it: Charlie Mccarthy
A man is not complete until he is married..then..he is finished.
When ALL is lost, what can be found? Even bytes get lonely for a little bit! X-ray confirms Iam spineless!
Offline
I re-ran the procedure and found the missing lines along with a bunch of new lines.
I edited the lines as they appeared in the ...Build()..section and have included the whole file in this post.
The statement:
From now on, you simply change the pkgver entry inside PKGBUILD,........
What is meant by this statement of poor english? What is "now on" and haven't I already changed the "pkgver inside PKGBUILD" by changing the two lines shown in the wiki? Aren't these statements "inside PKGBUILD"?
# $Id: PKGBUILD,v 1.14 2004/04/05 08:06:47 judd Exp $
# Maintainer: judd <jvinet@zeroflux.org>
pkgname=kernel-$pkgver-custom
pkgver=2.6.5
pkgrel=2
pkgdesc="The Linux Kernel and modules (IDE support)"
url="http://www.kernel.org"
backup=('boot/kconfig26')
depends=('module-init-tools')
install=kernel26.install
source=(ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-$pkgver.tar.bz2
config)
#md5sums=('9a76bf64c1151369b250f967d83077aa' #'3e20d2bb5b46d625fc79bcd64737e862')
conflicts=()
build() {
cd $startdir/src/linux-$pkgver
# get rid of the 'i' in i686
carch=`echo $CARCH | sed 's|i||'`
cat ../config | sed "s|#CARCH#|$carch|g" >./.config
yes "" | make config
make clean bzImage modules || return 1
mkdir -p $startdir/pkg/{lib/modules,boot}
make INSTALL_MOD_PATH=$startdir/pkg modules_install || return 1
cp System.map $startdir/pkg/boot/System.map-$pkgver-custom
cp arch/i386/boot/bzImage $startdir/pkg/boot/vmlinuz-$pkgver-custom
install -D -m644 Makefile $startdir/pkg/usr/src/linux-$pkgver/Makefile
install -D -m644 .config $startdir/pkg/usr/src/linux-$pkgver/.config
install -D -m644 .config $startdir/pkg/boot/kconfig26
mkdir -p $startdir/pkg/usr/src/linux-$pkgver/include
mkdir -p $startdir/pkg/usr/src/linux-$pkgver/arch/i386/kernel
for i in asm-generic asm-i386 config linux math-emu net pcmcia scsi video; do
cp -a include/$i $startdir/pkg/usr/src/linux-$pkgver/include/
done
# copy files necessary for later builds, like nvidia and vmware
cp -a scripts $startdir/pkg/usr/src/linux-$pkgver/
cp arch/i386/Makefile $startdir/pkg/usr/src/linux-$pkgver/arch/i386/
cp arch/i386/kernel/asm-offsets.s $startdir/pkg/usr/src/linux-$pkgver/arch/i386/kernel/
# copy in Kconfig files
for i in `find . -name "Kconfig*"`; do
mkdir -p $startdir/pkg/usr/src/linux-$pkgver/`echo $i | sed 's|/Kconfig.*||'`
cp $i $startdir/pkg/usr/src/linux-$pkgver/$i
done
cd $startdir/pkg/usr/src/linux-$pkgver/include && ln -s asm-i386 asm
chown -R root.root $startdir/pkg/usr/src/linux-$pkgver
cd $startdir/pkg/lib/modules/$pkgver &&
(rm -f build; ln -sf /usr/src/linux-$pkgver build)
}
I assume I have made all the necessary changes (config file modified) and feel that if this is ready for makepkg PKGBUILD that this example be placed in the wiki.
Prediction...This year will be a very odd year!
Hard work does not kill people but why risk it: Charlie Mccarthy
A man is not complete until he is married..then..he is finished.
When ALL is lost, what can be found? Even bytes get lonely for a little bit! X-ray confirms Iam spineless!
Offline
I find it hard to interpret the full statement beginning with: 'From now on"....
I can find in the file being edited by this wiki instruction step an MD5 entry which I can comment out...no problem. I have no MD5 for the ...(sic) "new Kernel .tar.bz2 and the new config file"..... The tar.bz2 doesn't exist yet. The reference to "new Kernel.tar.bz2" is indeed a "new" statement considering that all the references prior to this in the wiki refer to the "new kernel" as "kernel-$pkgver-custom" which in my case is ...Kernel26-2.6.5-custom; perhaps as is the new system..Kernel26-custom.
In any case, I cannot understand the statement as written. It seems to try to say a lot in a few words and does confuse the issue.
If the MD5 is not needed, say it , or include a line showing it commented out.
If the MD5 for the -custom kernel appears later, say so, and recommend comment it out as well. No wishy-washy just do it. I assume its in a new PKGBUILD associated with the -custom kernel. If so, say so, no guesswork.
Since this particular wiki is designed just for -custom kernel generation, it might be appropriate to call it "generate custom kernel with ABS".
At step 6, Configure your lilo or grub. Please add: if LILO, after configuring the -custom kernel in lilo, run ../sbin/lilo -v to verify proper kernel entry in lilo.
At step 7, reboot and select the -custom kernel at boot time.
General note concerning custom kernels....pacman -Syu will not upgrade a custom kernel or some such note (modified to reflect any options available).
Prediction...This year will be a very odd year!
Hard work does not kill people but why risk it: Charlie Mccarthy
A man is not complete until he is married..then..he is finished.
When ALL is lost, what can be found? Even bytes get lonely for a little bit! X-ray confirms Iam spineless!
Offline
Private message with member DP indicates that a change in the Build() { file is required...
Yes"" |makeconfig ......change to
make xconfig.....(if you run X or kde)
or
make menuconfig....( if in console)
Prediction...This year will be a very odd year!
Hard work does not kill people but why risk it: Charlie Mccarthy
A man is not complete until he is married..then..he is finished.
When ALL is lost, what can be found? Even bytes get lonely for a little bit! X-ray confirms Iam spineless!
Offline
In the interest of accuracy, it would seem that Step5 should read:
#pacman -A kernel-2.6.5-custom.pkg.tar.gz....(note; .gz added)
Prediction...This year will be a very odd year!
Hard work does not kill people but why risk it: Charlie Mccarthy
A man is not complete until he is married..then..he is finished.
When ALL is lost, what can be found? Even bytes get lonely for a little bit! X-ray confirms Iam spineless!
Offline
You're free to edit the wiki yourself, you know. If you're sure your changes are correct, there's no harm in editing it. I think the kernel howto wiki was created from memory. There's usually a lot discovered that can be added when its edited while the task is edited hands on, so do feel free to make changes and additions. That's what the wiki is for.
Dusty
Offline
Dusty;
Thanks for the reply and I may as well do as you suggest if I can get the thing to run.
My latest hang-up is that there is no entry in my PKGBUILD as outlined in the wiki:
conflicts=('kernel26')
I am advised that without some entry to prevent conflict, my pkg will be rejected.
Further, there is no indication whether this entry is located in the ..Build ( ) { ..., or appears in the data prior to the build.
In either case, it is not present in my ABS downloaded kernel26 PKGBUILD.
What do I do now?
........................................................................................................................................
When is a zero always equal to a one?
Prediction...This year will be a very odd year!
Hard work does not kill people but why risk it: Charlie Mccarthy
A man is not complete until he is married..then..he is finished.
When ALL is lost, what can be found? Even bytes get lonely for a little bit! X-ray confirms Iam spineless!
Offline
You seem to start using kernel26 PKGBUILD as the draft, I started from kernel26-scsi. Don't ask why - I just compared them, and noticed they are different, although only the configuration file for the compilation itself should be different.
"From now on ..", in the meaning of "hence", "henceforth" is a regular english expression - as far as I know.
It means technically, when you once made the changes in the PKGBUILD file, and you may want to compile a newer kernel version in the future (kernel27, f.e.) all you have to do is to change the package name line to match the wanted kernel version, and run makepkg then. I thought the idea was clear, if not I admit my english was to weak to explain it.
If you prefer to keep an eye on the md5 checksum, you have to change this lineinside the PKGBUILD, too. Each time the kernel sources are newer, the checksum will be different.
If you think the wiki text is not well done, you may advance it.
Frumpus ♥ addict
[mu'.krum.pus], [frum.pus]
Offline
Pink chick;
Answer to query ...kernel26-2.6.5 PKGBUILD derived from abs download into /var/abs/kernels and opened in kedit.
There is no entry....conflicts=('kernel') in the PKGBUILD.
Now what?
Where should it be...in Build ( ){... or before it.?
Prediction...This year will be a very odd year!
Hard work does not kill people but why risk it: Charlie Mccarthy
A man is not complete until he is married..then..he is finished.
When ALL is lost, what can be found? Even bytes get lonely for a little bit! X-ray confirms Iam spineless!
Offline
It is in the kernel26-scsi PKGBUILD, but it is obsolete, for my taste. Both pkgbuilds, the one for scsi and ide kernels, must not differ at all. The only difference should be the config file that is used to rule compilation. If you keep the conflicts entry, you may not compile the custom kernel without removing the genuine one before, that is mentioned there - obsoletely. If kernel26 has no conflicts entry, thats fine. You don't need to includea command line and leave its option blank.
You don't need to change the build{} part, the difference between the genuine PKGBUILD and the custom one is just the kernel version, and different names for the files that are to be copied later.
Pink Chick from Pidgin Land
Frumpus ♥ addict
[mu'.krum.pus], [frum.pus]
Offline
pink chick;
I interpret your reply to mean I can disregard the conflicts instruction in the wiki so I will remove same from my PKGBUILD.
However, private message from DP indicates that the configuration of Build ( ){ has to be modified :
yes"" | make config changes to...
make xconfig..... if X is used
or
make menuconfig .......... if in console
I wonder if this is your assessment as well?
Prediction...This year will be a very odd year!
Hard work does not kill people but why risk it: Charlie Mccarthy
A man is not complete until he is married..then..he is finished.
When ALL is lost, what can be found? Even bytes get lonely for a little bit! X-ray confirms Iam spineless!
Offline
# $Id: PKGBUILD,v 1.14 2004/04/05 08:06:47 judd Exp $
# Maintainer: judd <jvinet@zeroflux.org>
pkgname=kernel-$pkgver-custom
pkgver=2.6.5
pkgrel=2
pkgdesc="The Linux Kernel and modules (IDE support)"
url="http://www.kernel.org"
backup=('boot/kconfig26')
depends=('module-init-tools')
install=kernel26.install
source=(ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-$pkgver.tar.bz2
config)
#md5sums=('9a76bf64c1151369b250f967d83077aa' #'3e20d2bb5b46d625fc79bcd64737e862')
build() {
cd $startdir/src/linux-$pkgver
# get rid of the 'i' in i686
carch=`echo $CARCH | sed 's|i||'`
cat ../config | sed "s|#CARCH#|$carch|g" >./.config
make xconfig
make clean bzImage modules || return 1
mkdir -p $startdir/pkg/{lib/modules,boot}
make INSTALL_MOD_PATH=$startdir/pkg modules_install || return 1
cp System.map $startdir/pkg/boot/System.map-$pkgver-custom
cp arch/i386/boot/bzImage $startdir/pkg/boot/vmlinuz-$pkgver-custom
install -D -m644 Makefile $startdir/pkg/usr/src/linux-$pkgver/Makefile
install -D -m644 .config $startdir/pkg/usr/src/linux-$pkgver/.config
install -D -m644 .config $startdir/pkg/boot/kconfig26
mkdir -p $startdir/pkg/usr/src/linux-$pkgver/include
mkdir -p $startdir/pkg/usr/src/linux-$pkgver/arch/i386/kernel
for i in asm-generic asm-i386 config linux math-emu net pcmcia scsi video; do
cp -a include/$i $startdir/pkg/usr/src/linux-$pkgver/include/
done
# copy files necessary for later builds, like nvidia and vmware
cp -a scripts $startdir/pkg/usr/src/linux-$pkgver/
cp arch/i386/Makefile $startdir/pkg/usr/src/linux-$pkgver/arch/i386/
cp arch/i386/kernel/asm-offsets.s $startdir/pkg/usr/src/linux-$pkgver/arch/i386/kernel/
# copy in Kconfig files
for i in `find . -name "Kconfig*"`; do
mkdir -p $startdir/pkg/usr/src/linux-$pkgver/`echo $i | sed 's|/Kconfig.*||'`
cp $i $startdir/pkg/usr/src/linux-$pkgver/$i
done
cd $startdir/pkg/usr/src/linux-$pkgver/include && ln -s asm-i386 asm
chown -R root.root $startdir/pkg/usr/src/linux-$pkgver
cd $startdir/pkg/lib/modules/$pkgver &&
(rm -f build; ln -sf /usr/src/linux-$pkgver build)
}
This file is the PKGBUILD I expect will produce kernel26-2.6.5-custom after running makepkg PKGBUILD (while in /var/abs/local), install (after removing md5 perhaps) with:
#pacman -A kernel-2.6.5-custom.pkg.tar.gz (while in root)
Then configure LILO and run /sbin/lilo -v to verify and enable lilo
Then reboot and select the new custom kernel identified in LILO.
Prediction...This year will be a very odd year!
Hard work does not kill people but why risk it: Charlie Mccarthy
A man is not complete until he is married..then..he is finished.
When ALL is lost, what can be found? Even bytes get lonely for a little bit! X-ray confirms Iam spineless!
Offline
yes, change for xconfig or menuconfig. This allows you to customize your kernel to taste, otherwise you get no kernel options and it looks the same as the arch kernel, so why bother compiling it? However, when the options window comes up, you might want to load the config file manually so that you can tweak the Arch settings rather than starting from scratch.
There is a lot of messing around to creating a proper PKGBUILD for ABS (which is why I prefer to do it from /usr/src -- the common way). Maybe there should be a separate package for custom kernel building, or maybe we should set up the wiki entry to have a more usable PKGBUILD in it. Yeah, I like that idea. Instead of hacking the kernel26 package, it should give you a PKGBUILD to do it from scratch.
Dusty
Offline
Dusty;
Thanks for post.
I made one small error in the previous post...run ... makepkg PKGBUILD... while in /var/abs/local/kernel26....
The package build starts to download the kernel from the internet and the first few printouts indicate it is preparing to make a package ...kernel--custom..
After that is downloaded as a tar.bz2, during which it recognizes no md5 compare which it ignores.
After the download, a window is encountered which is called Xqconf <2> and it displays all the kernel options and I assume a person can modify things at this point but I didn't.
Then after skipping that function, the kernel is built for an hour ending up with ......
Finished making : kernel --custom.
Now I will try the #pacman step....
Prediction...This year will be a very odd year!
Hard work does not kill people but why risk it: Charlie Mccarthy
A man is not complete until he is married..then..he is finished.
When ALL is lost, what can be found? Even bytes get lonely for a little bit! X-ray confirms Iam spineless!
Offline
Well, the ...pacman -A kernel--custom-2.6.5-2.pkg.tar.gz in root didn't run.
After entering the /var/abs/local/kernel26 directory, the pacman command executed but I am unable to determine where the kernel resides and cannot find vmlinuz for the custom kernel in /root/boot nor in /usr/src/linux.
I assume I did something incorrectly but the system seems to have downloaded the kernel2.6.5-2 and loaded it into file somewhere, I suspect into /var/abs/local/kernel26.
Within /var/abs/local/kernel26 directory are the following:
pkg
src
config
filelist
kernel--custom-2.6.5-2.pkg.tar.gz
kernel26.install
PKGBUILD
PKGBUILD~
I am certain it ran the pkg.tar.gz .
Perhaps I do not understand when vmlinuz is generated... perhaps when lilo is run in /sbin.
Not certain what ID to enter into LILO since the kernel ID seems strange in the tar.gz package. Cannot find a kernel with a - custom ID.
What have I done , now?
Prediction...This year will be a very odd year!
Hard work does not kill people but why risk it: Charlie Mccarthy
A man is not complete until he is married..then..he is finished.
When ALL is lost, what can be found? Even bytes get lonely for a little bit! X-ray confirms Iam spineless!
Offline
Never mind....I found it in ...pkg...boot,, vmlinuz-2.6.5-custom !!!!!
My other kernels are in /root/boot..... and vmlinuz as well.
Now I will try the LILO conf, and /sbin/lilo -v
Prediction...This year will be a very odd year!
Hard work does not kill people but why risk it: Charlie Mccarthy
A man is not complete until he is married..then..he is finished.
When ALL is lost, what can be found? Even bytes get lonely for a little bit! X-ray confirms Iam spineless!
Offline
Copied vmlinuz-2.6.5-custom into /roo/boot...
Ran /sbin/lilo -v and it accepted the new kernel.
Now I can reboot!!
Prediction...This year will be a very odd year!
Hard work does not kill people but why risk it: Charlie Mccarthy
A man is not complete until he is married..then..he is finished.
When ALL is lost, what can be found? Even bytes get lonely for a little bit! X-ray confirms Iam spineless!
Offline
I am now in the new custom kernel up and running!!!!!
I hope the kernel has the function I expect from it!!!
Prediction...This year will be a very odd year!
Hard work does not kill people but why risk it: Charlie Mccarthy
A man is not complete until he is married..then..he is finished.
When ALL is lost, what can be found? Even bytes get lonely for a little bit! X-ray confirms Iam spineless!
Offline
The result of all this is that the kernel did not change from the original so the changes weren't entered!!!! :cry: :cry: :cry:
Prediction...This year will be a very odd year!
Hard work does not kill people but why risk it: Charlie Mccarthy
A man is not complete until he is married..then..he is finished.
When ALL is lost, what can be found? Even bytes get lonely for a little bit! X-ray confirms Iam spineless!
Offline
Happy days are here agin!!!!
I repeated the procedure, keeping the file cleaner in /var/abs/local and have a new kernel which boots and the config data was entered in the kernel.
I now have 1536 total ram accessible in ramfs with this kernel and have loaded a 992MB divx file into ram and it is independent of HDD's. The ram in low mem is 896 and 639 is in highmem as reported by dmesg.
I should be able to play .vob's which have no compression problems.
I thank all who responded to my queries and am very pleased with the system.
Many doors have been opened!!!
Prediction...This year will be a very odd year!
Hard work does not kill people but why risk it: Charlie Mccarthy
A man is not complete until he is married..then..he is finished.
When ALL is lost, what can be found? Even bytes get lonely for a little bit! X-ray confirms Iam spineless!
Offline
Maybe there should be a separate package for custom kernel building, or maybe we should set up the wiki entry to have a more usable PKGBUILD in it. Yeah, I like that idea. Instead of hacking the kernel26 package, it should give you a PKGBUILD to do it from scratch.
Dusty
Yes, this could be a better idea. Since lilsirecho went into trouble, I have not noticed the differences between the scsi and the ide PKGBUILD files. I agree, a proper PKGBUILD would be necesseray.
Frumpus ♥ addict
[mu'.krum.pus], [frum.pus]
Offline
Many doors have been opened!!!
Congratulations! It's been a hard way
Would you edid the wiki and fresh it up a bit?
Frumpus ♥ addict
[mu'.krum.pus], [frum.pus]
Offline