How to compile kernel 4.8.12 on Debian Stretch/Sid

 

How to compile kernel 4.8.12 on Debian Stretch/Sid

How to compile kernel 4.8.12 on Debian Stretch/Sid. Nella categoria Kernel ci sono diverse guide su come ricompilare un kernel, ma dopo qualche anno che non lo facevo più, ho dovuto rimetterci mano perchè mi serve abilitato il modulo UFS, per la scrittura delle partizioni con Debian Gnu/kFreeBSD e FreeBSD. Al momento della compilazione si è verificato un errore, che successivamente ho capito essere un bug, quindi di seguito anche la soluzione:

Installare l'occorrente per la compilazione:

$ sudo apt-get install git fakeroot build-essential ncurses-dev libssl-dev bc
$ sudo apt-get --no-install-recommends install kernel-package

Scaricare l'ultimo kernel, da kernel.org, al momento il 4.8.12:

$ wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.8.12.tar.xz
$ tar xvf linux-4.8.12.tar.xz
$ cd linux-4.8.12/
$ cp /boot/config-$(uname -r) .config
$ make menuconfig
$ make-kpkg clean
$ fakeroot make-kpkg --initrd --revision=1.0.UFS kernel_image kernel_headers -j12
$ cd ..
$ sudo dpkg -i linux-image-* linux-headers-*

Quello sopra è il metodo standard per la compilazione del kernel, ma attualmente per un bug la compilazione fallisce restituendo un errore del tipo:

"make[2]: *** No rule to make target 'debian/certs/benh@debian.org.cert.pem', needed by 'certs/x509_certificate_list'.  Stop"

"No rule to make target 'debian/certs/benh@debian.org.cert.pem')"

A questo punto ho provato a commentare senza successo nel .config le voci:

CONFIG_MODULE_SIG_KEY=""
CONFIG_SYSTEM_TRUSTED_KEYRING=y
CONFIG_SYSTEM_TRUSTED_KEYS=""

ma al momento di lanciare il comando make menuconfig, in automatico la stringa CONFIG_SYSTEM_TRUSTED_KEYRING=y, viene attivata. Per risolvere il problema bisogna modificare il file .config abilitando quello di cui si ha bisogno, nel mio caso il modulo UFS, e poi lanciare make localmodconfig

$ make localmodconfig 

invece di:

$ make menuconfig

How to compile kernel 4.8.12 on Debian Stretch/Sid.

enjoy 😉

 

Debian GNU/kFreeBSD consiglio post installazione

 

 

 

 

Scrivo due righe sui primi passi da seguire dopo l'installazione di Debian GNU/kFreeBSD. Mi limiterò a dare dei piccoli consigli  per un utilizzo immediato senza crash di programmi, e man mano aggiornerò con ulteriori post. Tengo a precisare che quello che scrivo è frutto di problematiche che ho avuto io sulla mia kFreeBsdBox. Inizio subito con un monito 🙂

 

  1. Non aggiornare da kFreeBsd Squeeze a kFreeBsd Wheezy, perchè ci sono problemi di dipendenze ed il sistema risulta instabile e non gestibile.
  2. Problemi con Gnash (flash) con conseguente crash del browser Iceweasel e non solo.
  3. Verificare all'avvio che qualche processo non porti la cpu al massimo.
  4. Synaptic non si avvia
  5. Audio ed icona non funzionanti
  6. Problema con il mount partizione ufs da Linux

 

per il momento mi fermo quà, ed indico le soluzioni da adottare. Per quanto riguarda il consiglio num.1, mi sembra abbastanza chiaro, quindi non avventurarsi, a meno chè non si è disposti a pagarne le conseguenze ;). Per quanto riguarda il problema con Gnash, consiglio:



# apt-get remove gnash gnash-common browser-plugin-gnash

 

quindi utilizzare provvisoriamente i repo Sid:

 

deb https://debian.fastweb.it/debian/ sid main

 

quindi poi:

 

# apt-get update

# apt-get install gnash gnash-common browser-plugin-gnash

 

a questo punto con la nuova versione di Gnash, abbiamo risolto il problema del flash, quindi rimuovere i repo Sid. Per quanto riguarda i processi da controllare, consiglio l'installazione di htop, perchè oltre ad avere un ottima visione dei processi, lo si può utilizzare anche per Killare, dato che mi è capitato che da terminale utilizzando direttamente il comando Kill PID, questo falliva. Synaptic non si avvia dal menu di Gnome, la soluzione naturalmente è d'avviarlo da terminale come root. Per quanto riguarda l'audio non funzionante, ricordarsi di caricare il modulo e riavviare:

 

# sh -c 'echo "kldload snd_hda" >> /etc/modules'

# init 6

 

ora si può partire con l'utilizzo di Debian GNU/kFreeBSD, con flash funzionate per la visione di Youtube, a questo proposito ricordo inoltre che nei repo Sid, si trova Minitube, funzionante, e magari si può anche installare l'utimo Kernel il kfreebsd-8.2-1-amd64. Per quanto riguarda il problema con il mount della partizione UFS da Linux, ricordo che con gli ultimi kernel è stato tolto il supporto alla lettura/scrittura, solo provvisoriamente, quindi utilizzare il Kernel 2.6.36, e seguire questa guida per la ricompilazione con suppoto UFS, oppure scaricarlo direttamente da questi link: 2.6.36-amd64 oppure 2.6.36-i386.

 

enjoy 😉

Scrittura filesystem UFS con Debian

 

 

Questa guida nasce dopo l'installazione di Debian GNU/kFreeBSD, e quindi dalla necessità di dover scrivere dall'interno della mia Debian Sid il filesystem ufs. Al momento mi trovavo nella situazione solamente di lettura e montavo il filesystem ufs con il comando:

mount -t ufs -o ro,ufstype=ufs2,nodev,nosuid /dev/sdaX /mnt

e quando cercavo di scrivere con il comando:

mount -t ufs -o rw,ufstype=ufs2,nodev,nosuid /dev/sdX /mnt

mi restituiva il seguente errore:

debianbox:/home/edmond# mount -t ufs -o rw,ufstype=ufs2,nodev,nosuid /dev/sda9 /mnt
mount: wrong fs type, bad option, bad superblock on /dev/sda9,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog – try
       dmesg | tail  or so

debianbox:/home/edmond# dmesg | tail -n 1
[ 6931.531458] ufs was compiled with read-only support, can't be mounted as read-write

quindi non potevo scrivere il filesystem ufs in quanto il kernel era stato compilato con l'opzione di solo lettura. A questo punto ho deciso di ricompilare il kernel anche se è considerato “dangereous/experimental”:

sudo apt-get install build-essential bin86 kernel-package libncurses5 libncurses5-dev fakeroot module-init-tools

# cd /usr/src

# uname -r

# apt-get install linux-source-2.6.32

# bzip2 -dc linux-source-2.6.32.tar.bz2 |tar xf -

# ln -sf linux-source-2.6.32 linux

# cd linux

# cp /boot/config-2.6.32-trunk-686 .config

# make menuconfig

spostari nelle sezioni File systems  —> Miscellaneous filesystems  scegliere UFS file system write support (DANGEROUS) e poi salvare. A questo punto siamo pronti per compilare:

io ho due cpu, quindi:

# CONCURRENCY_LEVEL=2 make-kpkg --initrd --append-to-version=-ufs kernel-image kernel-headers

al completamento siamo pronti ad installare il kernel-header ed il kernel-image creati con:

# dpkg -i tutti_e_due_i_kernel

riavviamo e proviamo il nuovo kernel, se nel caso ci troviamo di fronte ad un kernel panic, il motivo è legato al fatto che non trova l'initrd, quindi risolviamo con:

# cd /usr/src

#  update-initramfs -c -k nome_kernel -t

 

Conclusioni:

Devo dire che sono due giorni che provo a scrivere nella partizione freebsd ed al momento non ho riscontrato nessun problema 🙂