ricompilazione kernel
Moderatore: Staff
Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Del Kernel appena compilato, in modo che formattando il disco, sia possibile reinstallare il tutto senza ricompilare. Quindi usando installpkg.
Quindi il pacchetto dovrebbe contenere Kernel, .config, system.map. La tree di /lib/modules. E poi crei la voce in lilo automaticamente, usando uno script apposito in doinst.sh.
Quindi il pacchetto dovrebbe contenere Kernel, .config, system.map. La tree di /lib/modules. E poi crei la voce in lilo automaticamente, usando uno script apposito in doinst.sh.
Io stavo scrivendo qualcosa del genere poi mi sono fermato, lo devo riprendere. Solo che il mio script funziona solo stando gia nei sorgenti in /usr/src e con il .config pronto.
#!/bin/sh
# Heavily based on the Slackware 10.2 SlackBuild
# http://www.kernel.org
# Based on Roberto's Compile.sh
# Packagers Andrea Sciucca Gohanz ( gohanz@infinito.it)
# http://www.slacky.it
CWD=`pwd`
if ["$TMP" = ""]; then
TMP=/tmp
fi
PKG=$TMP/package-kernel
NAME=kernel
BUILD=1as
if [ ! -r .config ]; then
echo "Cannot access .config (are you in /usr/src/linux?)"
exit 1
fi
if [ `id -u` != "0" ]; then
echo "You must be superuser to run this script"
exit 1
fi
OLDVER=`uname -r`
VERSION=`cat .config|grep "version"|cut -c 25-`
VERSION=${VERSION}`cat .config|grep CONFIG_LOCALVERSION|cut -c 22-|head -c -2`
incorrectVersion() {
echo "Invalid kernel version: $VERSION"
exit 1;
}
if [ -z $VERSION ]; then
echo -n "Type the kernel version you wish to compile: "
else
echo -n "Type the kernel version you wish to compile [${VERSION}]: "
fi
read INPUT
if [ ! $INPUT ]; then
if [ -z $VERSION ]; then
incorrectVersion
fi
else
VERSION=$INPUT
fi
clear
echo -n "Type the Machine's Processor Type (i486,i686..) "
read INPUT
ARCH=$INPUT
clear
echo "+--------------------------------------+"
echo "| Starting SlackBuild $NAME-$VERSION |"
echo "+--------------------------------------+"
if [ `echo $VERSION | cut -c -3` == "2.6" ]; then
echo "Compiling kernel $VERSION"
make clean && make -j5 bzImage && make -j5 modules && make modules_install
elif [ `echo $VERSION | cut -c -3` == "2.4" ]; then
echo "Compiling kernel $VERSION"
make dep && make clean && make -j5 bzImage && make -j5 modules && make modules_install
else
incorrectVersion
fi
mkdir -p $PKG/boot/$VERSION
mkdir -p $PKG/lib/modules/$VERSION
mkdir -p $PKG/etc
# Copy Kernel Image in Boot Directory.
cp -v .config $PKG/boot/$VERSION/.config
cp -v System.map $PKG/boot/$VERSION/System.map
cp -v arch/i386/boot/bzImage $PKG/boot/$VERSION/bzImage
# Copy Kernel Modules in Modules Directory
( cd /lib/modules/$VERSION
cp -a -r * $PKG/lib/modules/$VERSION
)
# Build lilo.conf
clear
echo "+--------------------------------------+"
echo "| Configure /etc/lilo.conf |"
echo "+--------------------------------------+"
#
# Lilo Configuration.
#
clear
echo -n "Type Root Partion..hda1,hda2.. "
read INPUT
ROOT=$INPUT
clear
echo -n "Type Label Name..."
read INPUT
LABEL=$INPUT
# Lilo Backup
( cd /etc
cp -a lilo.conf lilo.conf.old )
echo -n "lilo.conf backup was created in /etc/lilo.conf.old"
echo ""
echo -n >> /etc/lilo.conf
echo "# Linux $VERSION bootable partition config begins" >> /etc/lilo.conf
echo "image = /boot/$VERSION/bzImage " >> /etc/lilo.conf
echo "root = /dev/$ROOT " >> /etc/lilo.conf
echo "label = $LABEL " >> /etc/lilo.conf
echo "read-only" >> /etc/lilo.conf
echo "# Linux $VERSION bootable partition config end" >> /etc/lilo.conf
( cd /etc
cp -a lilo.conf $PKG/etc )
mkdir -p $PKG/usr/doc/$NAME-$VERSION
mkdir -p $PKG/install
cd $CWD
cp -a *.SlackBuild $PKG/usr/doc/$NAME-$VERSION
chown -R root.root $PKG/usr/doc/$NAME-$VERSION
cd $PKG
makepkg -l y -c n $CWD/$NAME-$VERSION-$ARCH-$BUILD.tgz
if [ "$1" = "--cleanup" ]; then
rm -rf $TMP/$NAME-$VERSION
rm -rf $PKG
fi
#!/bin/sh
# Heavily based on the Slackware 10.2 SlackBuild
# http://www.kernel.org
# Based on Roberto's Compile.sh
# Packagers Andrea Sciucca Gohanz ( gohanz@infinito.it)
# http://www.slacky.it
CWD=`pwd`
if ["$TMP" = ""]; then
TMP=/tmp
fi
PKG=$TMP/package-kernel
NAME=kernel
BUILD=1as
if [ ! -r .config ]; then
echo "Cannot access .config (are you in /usr/src/linux?)"
exit 1
fi
if [ `id -u` != "0" ]; then
echo "You must be superuser to run this script"
exit 1
fi
OLDVER=`uname -r`
VERSION=`cat .config|grep "version"|cut -c 25-`
VERSION=${VERSION}`cat .config|grep CONFIG_LOCALVERSION|cut -c 22-|head -c -2`
incorrectVersion() {
echo "Invalid kernel version: $VERSION"
exit 1;
}
if [ -z $VERSION ]; then
echo -n "Type the kernel version you wish to compile: "
else
echo -n "Type the kernel version you wish to compile [${VERSION}]: "
fi
read INPUT
if [ ! $INPUT ]; then
if [ -z $VERSION ]; then
incorrectVersion
fi
else
VERSION=$INPUT
fi
clear
echo -n "Type the Machine's Processor Type (i486,i686..) "
read INPUT
ARCH=$INPUT
clear
echo "+--------------------------------------+"
echo "| Starting SlackBuild $NAME-$VERSION |"
echo "+--------------------------------------+"
if [ `echo $VERSION | cut -c -3` == "2.6" ]; then
echo "Compiling kernel $VERSION"
make clean && make -j5 bzImage && make -j5 modules && make modules_install
elif [ `echo $VERSION | cut -c -3` == "2.4" ]; then
echo "Compiling kernel $VERSION"
make dep && make clean && make -j5 bzImage && make -j5 modules && make modules_install
else
incorrectVersion
fi
mkdir -p $PKG/boot/$VERSION
mkdir -p $PKG/lib/modules/$VERSION
mkdir -p $PKG/etc
# Copy Kernel Image in Boot Directory.
cp -v .config $PKG/boot/$VERSION/.config
cp -v System.map $PKG/boot/$VERSION/System.map
cp -v arch/i386/boot/bzImage $PKG/boot/$VERSION/bzImage
# Copy Kernel Modules in Modules Directory
( cd /lib/modules/$VERSION
cp -a -r * $PKG/lib/modules/$VERSION
)
# Build lilo.conf
clear
echo "+--------------------------------------+"
echo "| Configure /etc/lilo.conf |"
echo "+--------------------------------------+"
#
# Lilo Configuration.
#
clear
echo -n "Type Root Partion..hda1,hda2.. "
read INPUT
ROOT=$INPUT
clear
echo -n "Type Label Name..."
read INPUT
LABEL=$INPUT
# Lilo Backup
( cd /etc
cp -a lilo.conf lilo.conf.old )
echo -n "lilo.conf backup was created in /etc/lilo.conf.old"
echo ""
echo -n >> /etc/lilo.conf
echo "# Linux $VERSION bootable partition config begins" >> /etc/lilo.conf
echo "image = /boot/$VERSION/bzImage " >> /etc/lilo.conf
echo "root = /dev/$ROOT " >> /etc/lilo.conf
echo "label = $LABEL " >> /etc/lilo.conf
echo "read-only" >> /etc/lilo.conf
echo "# Linux $VERSION bootable partition config end" >> /etc/lilo.conf
( cd /etc
cp -a lilo.conf $PKG/etc )
mkdir -p $PKG/usr/doc/$NAME-$VERSION
mkdir -p $PKG/install
cd $CWD
cp -a *.SlackBuild $PKG/usr/doc/$NAME-$VERSION
chown -R root.root $PKG/usr/doc/$NAME-$VERSION
cd $PKG
makepkg -l y -c n $CWD/$NAME-$VERSION-$ARCH-$BUILD.tgz
if [ "$1" = "--cleanup" ]; then
rm -rf $TMP/$NAME-$VERSION
rm -rf $PKG
fi

