[SOLVED] Re: How to create a kernel package

2022-10-07 Thread Hans
Hi all,

thanks for pointing me to the wiki and the hint with the script. Yes, in the 
meantime things have changed, I was not aware of the bindep-pkg command.

I looked into the manual, but this specific command I did not find, but lots 
of very usefull other descriptions.

So, this little question of mine could be easily answered. Thank you for the 
quick answers!

Best regards

Hans




Re: How to create a kernel package

2022-10-07 Thread Thomas Pircher

Hans wrote:

I want to create a kernel package, which I can install with dpkg. There was a
command doing it instead of "make && make install", and I could not find it
any more. Last time I did it is a long time ago. Does someone know?


I also don't remember the old command, but this has been obsoleted by
the kernel itself, that has now a bindeb-pkg target.

So you'd do "make oldconfig bindeb-pkg" and you should end up with some
deb packages in the parent directory. If the build fails, you need to
install some -devel packages.

Then install the linux-image-*.deb package using dpkg -i.


Second question: My kernel sources are pointing with a symlink to /usr/src/
linux-5.10/, but by default there was a symlink to the headers, which is /usr/
src/linux-headers-5.10-*/.


No need to set up these links yourself, let the kernel development
package do that for you, if/when you install it.


For my understanding: When do I need this? I suppose, only when I want to
build modules, right?


Yes


Anything else to take notice of, i.e. adding a versionstring, so that I get
not in conflict with the debian repo packages?


You can set the CONFIG_LOCALVERSION in the kernel config file to add
some string to the kernel version, so it is unlikely to clash with the
upstream kernel version. It's useful to leave the Debian kernel
installed, in case your compiled kernel fails to boot.

FWIW, here is my script to build a kernel:


#!/bin/sh
set -e

prog_name=`basename $0`
concurrency=16
suffix=".`whoami`"

usage() {
echo "$prog_name [OPTIONS]"
}

help() {
usage
echo
echo "OPTIONS"
echo "  -h  show this help page"
echo "  -j  number of parallel make threads (default: $concurrency)"
echo "  -s  add suffix (default: $suffix)"
}


while getopts hj:s: opt; do
case "$opt" in
h)  help
exit 0;;
j)  concurrency="$OPTARG";;
s)  suffix="$OPTARG";;
\?) # unknown flag
usage >&2
exit 1;;
esac
done
shift `expr $OPTIND - 1`

if [ -n "$date" ]; then
echo >&2 "Extra argument"
exit 1
fi


sed -i -e 's/^#*\.*/CONFIG_LOCALVERSION="'"$suffix"'"/' 
.config
make -j "$concurrency" clean oldconfig savedefconfig bindeb-pkg
-

Thomas



Re: How to create a kernel package

2022-10-07 Thread Georgi Naplatanov

On 10/7/22 11:00, Hans wrote:

Hi folks,

some easy questions.

I want to create a kernel package, which I can install with dpkg. There was a
command doing it instead of "make && make install", and I could not find it
any more. Last time I did it is a long time ago. Does someone know?


Second question: My kernel sources are pointing with a symlink to /usr/src/
linux-5.10/, but by default there was a symlink to the headers, which is /usr/
src/linux-headers-5.10-*/.

For my understanding: When do I need this? I suppose, only when I want to
build modules, right?

Anything else to take notice of, i.e. adding a versionstring, so that I get
not in conflict with the debian repo packages?

Thanks for any hints.



Did you try steps from this Wiki page?

https://wiki.debian.org/BuildADebianKernelPackage

Kind regards
Georgi