|
Scritto da Rex Sanna
|
#!/bin/bash # # Ciao Zero. # Oggi ti faccio vedere come compilare un kernel. # O per lo meno come permettermi di ricompilare il kernel che utilizzi. # # Innanzi tutto, se non sono root.. dimmelo! # (questo perche' e' possibile che i permessi applicati alla directory # in uso non siano corretti. da verificare..) [ `id -u` != 0 ] && echo "# ## NB: Non sei Root!!"
# Questa e' la directory dei sorgenti. Dove solitamente vado a # decomprimere i files tar scaricati da www.kernel.org DOVELOCREO=/usr/src/kernels
# Avrai bisogno di un posto dove mettere il nuovo kernel. # Facciamo che te lo dico subito, e non ci pensiamo piu'.. DOVELOMETTO=/boot/nuovo-kernel
# - - - Iniziamo..# # Devi sapere che, se esiste, nella directory [ -d $DOVELOCREO ] && cd $DOVELOCREO
# # sono contenuti i sorgenti devi vari kernels che possiamo utilizzare. # # Nel senso che, se ci sono diverse directory, avremo la possibilita' di # selezionare quale versione di kernel compilare. # echo "# Seleziona la versione di kernel da compilare : " select kernel_version in `/bin/ls .` ; do echo "# Hai selezionato : $kernel_version" cd $kernel_version break done;
# # Potra' capitare ch'i voglia ricompilare il kernel # a partire da zero.. # echo "# Desideri eseguire una pulizia ? " select make_clean in "si" "no" ; do if [ "$make_clean" == "si" ] ; then echo -n "# Desideri eseguire una pulizia COMPLETA? (y/n) : " read risposta if [ "$risposta" == "y" -o "$risposta" == "Y" ] ; then # l'accendiamo? PULIZIA COMPLETA!! make mrproper else # .. in questo caso, fai la pulizia delle stronzate.. make clean fi
fi break; done;
# Una volta selezionata la versione compilanda, # e' necessario configurare le impostazioni del kernel. # Vorrei scegliere tra la modalita' grafica e quella testuale.. # (le librerie necessarie come le ncurses te le ho installate prima)
echo "# Seleziona il tipo di configurazione desiderata :" select tipo_configurazione in "console (solo testo)" "grafico" ; do [ "$tipo_configurazione" == "console (solo testo)" ] && make menuconfig [ "$tipo_configurazione" == "grafico" ] && make xconfig break; done;
# Adesso che ho configurato il kernel, posso eseguire i soliti comandi # di semplice compilazione C.. # # Mi devo ricordare che una volta, nel kernel 2.4 si dovevan creare le dipendenze.. #make deps
# ..compila il tutto.. make
# ..ed una volta finito installa gli eventuali moduli che abbia # inserito nella configurazione..
echo "# - - - " echo "# Caro $USER per poter installare il nuovo kernel" echo "# e' necessario poter utilizzare sudo. "
echo -n "# * Desideri installare i moduli? (y/n) : " read risposta
[ "$risposta" == "y" -o "$risposta" == "Y" ] sudo make modules_install
# ..se sono root.. if [ `id -u` == 0 ] ; then # Il tuo nuovo kernel sara' disponibile nel file: cp arch/i386/boot/bzImage $DOVELOMETTO else # ..se invece non sono root.. sudo cp arch/i386/boot/bzImage $DOVELOMETTO fi
echo -n "# * Desideri aggiungere una configurazione a grub? (y/n) : " read risposta
if [ "$risposta" == "y" -o "$risposta" == "Y" ] ; then cat >> /tmp/grb.cnf << EOF
# ### Questo kernel e' stato creato il `date +%d/%m/%Y`
title $HOSTNAME Hacked Kernel root (hd0,1) kernel $DOVELOMETTO ro root=/dev/pippo quiet
EOF if [ `id -u` == 0 ] ; then cat /tmp/grb.cnf >> /etc/grub.conf else sudo cat /etc/grub.conf > /tmp/grb sudo cat /tmp/grb.cnf >> /tmp/grb sudo mv /tmp/grb /etc/grub.conf fi
# ricorda di togliere i files di troppo sudo rm -rf /tmp/grb.cnf /tmp/grb fi
# Fatto!
echo -n "# * Desideri riavviare (per provarlo subito..)? (y/n) : " read risposta
[ "$risposta" == "y" -o "$risposta" == "Y" ] && sudo /sbin/shutdown -r now
# lo so.. ho esagerato col sudare.. anche se da queste parti.. freddo boia!! # hw:fuori piove; sw:dentro grandina.. -- Tira su le mani se anche tu sei un pazzo!! echo "# ### Hack 1: Attack 0"
|
|
Ultimo aggiornamento Giovedì 17 Giugno 2010 09:22 |