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 😉

 

( Solved ) OwnCloud Maintenance Mode

 

Solved OwnCloud Maintenance Mode

Solved OwnCloud Maintenance Mode

Dopo ogni aggiornamento di ownCloud, quando si cerca di accedere al pannello di controllo, il messaggio che appare è quello nella figura sopra. OwnCloud in Maintenance Mode. Per risolvere il problema:

sudo /var/www/owncloud/config/config.php

ed alla voce maintenance sostituire "true" con "false". Dopodichè ricaricare la pagina e procedere con l'aggiornamento.

Solved OwnCloud Maintenance Mode

enjoy 😉

 

(Solved) Tasti luminosità non funzionanti su Debian Jessie/Strech

 

(Solved) Tasti luminosità non funzionanti su Debian Jessie/Strech. Altro passo avanti nella messa a punto del mio nuovo notebook, dopo le due guide precedenti, qua e qua. In pratica i tasti F2 ed F3 che dovrebbero regolare la luminosità dello schermo non funzionano, ed a dire il vero la regolazione non funziona nemmeno tramite applet o direttamente dal menu Power Management Preferences. Per risolvere il problema. per prima cosa bisogna identificare quale scheda video gestisce la luminosità:

$ ls /sys/class/backlight/

nel mio caso l'output è

edmond@debianbox:~$ ls /sys/class/backlight/
acpi_video0  intel_backlight

a questo punto creare il file:

# nano /usr/share/X11/xorg.conf.d/20-intel.conf

ed incollare dentro:

Section "Device"
        Identifier  "card0"
        Driver      "intel"
        Option      "Backlight"  "intel_backlight"
        BusID       "PCI:0:2:0"
EndSection

adesso basta fare un logout e dopo il login tutto funzionerà correttamente.

(Solved) Tasti luminosità non funzionanti su Debian Jessie/Strech

enjoy 😉

 

Lettore impronte ID 138a:0050 Validity Sensors su Debian Jessie

 

Lettore impronte ID 138a:0050 Validity Sensors su Debian Jessie

Pacchetti deb per Debian ed Ubuntu.

Lettore impronte ID 138a:0050 Validity Sensors su Debian Jessie. Dopo aver preso un Notebook HP ENVY 15-k208nl, e fatto una prima guida su come far funzionare l'hardware su Debian Jessie, successivamente mi sono trovato ad affrontare il problema del Lettore di impronte digitale ID 138a:0050 Validity Sensors. In realtà il problema è relativo a tutte le distro, Ubuntu incluso. Praticamente per far fuzionare il lettore di impronte servirebbero i driver vfs0050.

edmond@debianbox:~$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 8087:07dc Intel Corp.
Bus 001 Device 003: ID 138a:0050 Validity Sensors, Inc.
Bus 001 Device 002: ID 064e:c341 Suyin Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

cercando in giro ho scoperto che esiste una patch creata due anni fa e non più aggiornata poiche l'autore è morto 🙁 detto questo esiste anche qualche problemino nel farla funzionare, ed a questo proposito voglio condividere 2 pacchetti deb creati da me, dove il primo installa il driver vfs0050 ed il secondo installa FingerprintGui, che sarebbe l'alternativa, migliore, a quello presente nei repository col nome di fprint-demo. Per installare il tutto seguire gli step seguenti:

sudo apt remove --purge libfprint0 fprintd libpam-fprintd
wget https://bit.ly/28ZEyZQ -O libfprint_0.5.1.2-1_amd64.deb
wget https://bit.ly/28VRuxQ -O fingerprint-gui_1.08-1_amd64.deb
sudo dpkg -i fingerprint-gui_1.08-1_amd64.deb libfprint_0.5.1.2-1_amd64.deb
sudo apt install libfprint0 fprintd libpam-fprintd libqca2 libqtxml4-perl

FingerprintGui deve essere lanciato come root, lo stesso vale per fprint-demo:

sudo fingerprint-gui
sudo fprint_demo

una volta installati i pacchetti per abilitare l'autenticazione con impronte, per chi usa Mate, basta andare in System-Control Centre-About Me:

Lettore impronte ID 138a:0050 Validity Sensors su Debian Jessie

Lettore impronte ID 138a:0050 Validity Sensors su Debian Jessie

per chi invece usa Gnome, la procedura è quasi simile. Ho testato i pacchetti su Debian Jessie, Strech, ed Ubuntu 16.04. Funziona sia con Lightdm che con GDM, con sudo e con su, il problema vero e proprio è che fallisce l'autenticazione, cosa che sinceramente succede anche su Windows 10. Successivamente integrerò la guida per la compilazione dei due pacchetti. con relative dipendenze.

Lettore impronte ID 138a:0050 Validity Sensors su Debian Jessie

enjoy 😉

 

Server Cloud WebDav su Raspberry pi 2 e Debian Jessie

Server WebDav su Raspberry pi 2

 

Per avere un proprio Server Cloud WebDav su Raspberry pi 2 e Debian Jessie, da utilizzare sia in locale che da remoto, alla stregua di Dropbox, Box.com, OneDrive ecc ecc, i passi da seguire sono i seguenti:

sudo apt-get install apache2
sudo a2enmod dav_fs
sudo a2enmod auth_digest
sudo service apache2 restart
sudo mkdir -p /webdav
sudo chown www-data /webdav
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/000-default.conf_bak
sudo nano /etc/apache2/sites-available/000-default.conf

che deve essere come sotto, inserendo al posto delle xxx.xxx.x.x, l' IP del Raspberry:

<VirtualHost xxx.xxx.x.x:80>
        ServerAdmin webmaster@localhost

        DocumentRoot /webdav
        <Directory /webdav>
                Options Indexes MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        Alias /webdav /webdav

        <Location /webdav>
           DAV On
           AuthType Basic
           AuthName "webdav"
           AuthUserFile /webdav/passwd.dav
           Require valid-user
       </Location>
</VirtualHost>

 

sudo service apache2 restart
sudo htpasswd -c /webdav/passwd.dav nome_utente_Raspberry

per chi deve accedere da Windows al server WebDav:

sudo htpasswd /webdav/passwd.dav xxx.xxx.x.x\\nome_utente_Raspberry

poi:

sudo chown root:www-data /webdav/passwd.dav
sudo chmod 640 /webdav/passwd.dav
sudo service apache2 restart

Il server sarà raggiungibile all'indirizzo https://ip_server/webdav

Adesso un minimo di protezione per il nostro server cloud installando Fail2ban, così da bloccare dopo 3 tentativi l'IP di che tenta di accedere senza le giuste credenziali:

sudo apt-get install fail2ban
sudo nano /etc/fail2ban/jail.local

ed inserire:

[apache]
enabled  = true
port     = https,https
filter   = apache-auth
logpath  = /var/log/apache*/*error.log
maxretry = 6

[apache-noscript]
enabled  = true
port     = https,https
filter   = apache-noscript
logpath  = /var/log/apache*/*error.log
maxretry = 6

[apache-overflows]
enabled  = true
port     = https,https
filter   = apache-overflows
logpath  = /var/log/apache*/*error.log
maxretry = 2

[apache-nohome]
enabled  = true
port     = https,https
filter   = apache-nohome
logpath  = /var/log/apache*/*error.log
maxretry = 2

riavviare fail2ban:

sudo service fail2ban restart

adesso siamo pronti ad utilizzare il nostro server cloud.

 

enjoy 😉

 

Flash su Raspberry pi 2 con Chromium-Pepper

 

Per avere il plugin flash su Raspberry pi 2, bisogna installare chromium-browser e chromium-pepper, questo sia se si sta utilizzando Raspbian Jessie, sia Debian Jessie armhf. Per installare questi pacchetti bisogna andarli a prelevare nei repository di altre distro:

Scaricare ed installare Chromium:

$ wget https://www.dropbox.com/s/3iw9oopqolnw0ca/chromium-browser_45.0.2454.85-0ubuntu0.15.04.1.1181_armhf.deb
$ wget https://www.dropbox.com/s/dylujonf0mb6wul/chromium-browser-l10n_45.0.2454.85-0ubuntu0.15.04.1.1181_all.deb
$ wget https://www.dropbox.com/s/qxlw1mcx6orb9bi/chromium-codecs-ffmpeg-extra_45.0.2454.85-0ubuntu0.15.04.1.1181_armhf.deb
$ sudo dpkg -i chromium-browser_45.0.2454.85-0ubuntu0.15.04.1.1181_armhf.deb
$ sudo dpkg -i chromium-browser-l10n_45.0.2454.85-0ubuntu0.15.04.1.1181_all.deb
$ sudo dpkg -i chromium-codecs-ffmpeg-extra_45.0.2454.85-0ubuntu0.15.04.1.1181_armhf.deb
$ sudo apt-get install -f

Scaricare chromium-pepper

$ wget
$ tar -xf chromium-pepper-flash-12.0.0.77-1-armv7h.pkg.tar.xz
$ cd usr/lib/PepperFlash/
$ sudo cp * /usr/lib/chromium-browser/plugins

fare delle modifiche:

$ sudo nano  /etc/chromium-browser/default

ed aggiungere sotto CHROMIUM_FLAGS="

CHROMIUM_FLAGS="--ppapi-flash-path=/usr/lib/chromium-browser/plugins/libpepflashplayer.so --ppapi-flash-version=12.0.0.77-1 -password-store=detect -user-data-dir"

adesso si è pronti ad utilizzare il plugin flash su Raspberry pi 2.

 

enjoy 🙂

 

Debian Jessie su Raspberry pi 2

                       Debian Jessie su Raspberry pi 2

 

Come ottenere una Debian Jessie originale per  Raspberry pi 2, e sfruttare quindi i repository Debian. Pur avendo usato Raspbian, ho sempre voluto avere una Debian pura, e sopratutto voglio Mate come DE. Per ottenere una Debian pura su Raspberry pi 2, utilzzo Debootstrap e qemu-user-static su un pc con Debian Jessie x64.

 

$ targetdir=rootfs
$ distro=jessie
$ mkdir $targetdir
$ sudo apt-get install qemu-user-static debootstrap binfmt-support
$ sudo debootstrap --arch=armhf --foreign $distro $targetdir
$ sudo cp /usr/bin/qemu-arm-static $targetdir/usr/bin/
$ sudo cp /etc/resolv.conf $targetdir/etc
$ sudo chroot $targetdir
# distro=jessie
# export LANG=C
# /debootstrap/debootstrap --second-stage

 

Aggiungere i repository:

cat > /etc/apt/sources.list << EOF
deb https://ftp.it.debian.org/debian jessie main contrib non-free
deb https://ftp.it.debian.org/debian jessie-updates main contrib non-free
deb https://security.debian.org jessie/updates main contrib non-free
deb https://archive.raspberrypi.org/debian jessie main
EOF

 

un po di pinning:

cat > /etc/apt/preferences.d/raspberrypi << EOF
Package: *
Pin: origin archive.raspberrypi.org
Pin-Priority: 1

Package: raspberrypi-bootloader
Pin: origin archive.raspberrypi.org
Pin-Priority: 1000

Package: libraspberrypi0
Pin: origin archive.raspberrypi.org
Pin-Priority: 1000

Package: Rasspberrypi-bin
Pin: origin archive.raspberrypi.org
Pin-Priority: 1000
EOF

 

Configurazione rete in DHCP:

cat > /etc/network/interfaces.d/eth0 << EOF
auto eth0
iface eth0 inet dhcp
EOF

Configurare fstab:

cat > /etc/fstab << EOF
/dev/mmcblk0p1 /boot vfat noatime 0 2
/dev/mmcblk0p2 / ext4 noatime 0 1
EOF

 

Configuarare file hosts

cat > /etc/hosts << EOF
127.0.0.1  localhost
127.0.1.1  RaspJessie
EOF

 

Creare utente e settare la password di root, quindi poi scaricare tutto quello che serve:

# adduser nome_utente
# passwd
# echo "RaspJessie" > /etc/hostname
# wget https://archive.raspberrypi.org/debian/raspberrypi.gpg.key -O - | apt-key add -
# apt-get update
# apt-get upgrade -y
# apt-get install -y mate-desktop-environment locales dbus openssh-server dosfstools libraspberrypi-bin
# apt-get clean

 

disabilitare orologio di sistema:

# systemctl enable systemd-timesyncd
# systemctl disable hwclock-save
# exit

 

Il sistema è pronto. La mia scheda microsd identificata come mmcblk0 ha due partizioni, la prima mmcblk0p1 è di 150M, e la seconda mmcblk0p2, con tutto il resto dello spazio. Si può usare gparted oppure il terminale:

$ sudo umount /dev/mmcblk0p1
$ sudo umount /dev/mmcblk0p2
$ sudo mkfs.vfat /dev/mmcblk0p1
$ sudo mkfs.ext4 /dev/mmcblk0p2

creazione e montaggio delle cartelle, ed infine copiare il sistema originale Debian Jessie sulla microsd:

$ sudo mkdir /mnt/{boot,system}
$ sudo mount /dev/mmcblk0p1 /mnt/boot
$ sudo mount /dev/mmcblk0p2 /mnt/system
$ sudo rsync -av rootfs/boot/ /mnt/boot
$ sudo rsync -av --exclude=/boot/* rootfs/ /mnt/system
$ sudo umount /mnt/{boot,system}

 

Adesso siamo pronti ad usare una Debian Jessie pura su raspberry pi 2. 

enjoy 😉

 

Installare WordPress 4.1.1 su Debian Jessie

 

Installare WordPress 4.1.1 su Debian Jessie

 

 

Per installare WordPress 4.1.1 su Debian Jessie basta seguire questa semplice guida:

 

Installare LAMP:

 

# apt-get install apache2 mysql-server mysql-client php5 php5-mysql php5-gd php5-curl

 

verrà chiesto di scegliere una password per mysql. Una volta terminata l'installazione di tutto l'occorrente si può procedere con la preparazione del database, dove i parametri immessi nell'esempio sotto saranno i seguenti:

database=wpdb, user=wpuser, password=wppassword:

 

# mysql -u root -p

 

verrà chiesta la password di root per mysql, scelta in fase d'installazione, successivamente inserire linea per linea e dare invio:

 

CREATE DATABASE wpdb;
CREATE USER wpuser@localhost IDENTIFIED BY 'wppassword';
GRANT ALL PRIVILEGES ON wpdb.* TO wpuser@localhost;
FLUSH PRIVILEGES;
exit

 

riavviare i servizi:

 

# service apache2 restart
# service mysql restart

 

Scaricare wordpress, settare i permessi e configurare wp-config.php:

 

# cd /tmp/ && wget https://wordpress.org/latest.tar.gz
# tar -xvzf latest.tar.gz
# mv wordpress /var/www/html/
# chown -R www-data.www-data /var/www/html/wordpress
# chmod -R 755 /var/www/html/wordpress
# mkdir -p /var/www/html/wordpress/wp-content/uploads
# chown -R www-data.www-data /var/www/html/wordpress/wp-content/uploads
# cd /var/www/html/wordpress/
# cp wp-config-sample.php wp-config.php
# nano wp-config.php

 

che dovrà essere così:

 

// ** MySQL settings – You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'wpdb');

/** MySQL database username */
define('DB_USER', 'root');

/** MySQL database password */
define('DB_PASSWORD', 'wppassword');

/** MySQL hostname */
define('DB_HOST', 'localhost');

 

a questo punto basterà andare all'indirizzo https://localhost/wordpress/, per iniziare l'installazione guidata di WordPress, ed iniziare quindi con la creazione di un proprio blog.

 

enjoy 😉

 

(Solved) a start job is running for dev-disk-by-\x2duuid

 

L'errore "a start job is running for dev-disk-by-\x2duuid" che mi è capitato di vedere al boot sulla mia Debian Jessie, e che ti chiede di aspettare 90 secondi, è da imputare al fatto che la partizione di swap non può essere montata. Di fatto ho notato che l'UUID, presente in etc/fstab, non coincide con quello che si può vedere con i comandi:

 

# ls -l /dev/disk/by-uuid
# blkid

 

ad ogni modo per risolvere velocemente, c'è sempre il buon vecchio metodo di rimuovere da /etc/fstab l'UUID, inserendo la partizione:

 

# nano /etc/fstab

 

e modificare da così:

 

UUID=5192c3e0-f825-4732-95ae-5ded44834615  none swap sw 0 0

 

a così:

 

/dev/sda6 none  swap sw 0 0

 

enjoy 😉