Dual Boot Debian FreeBSD Grub-Efi

 

Dual Boot Debian FreeBSD Grub-Efi

 

Dual Boot Debian FreeBSD Grub-Efi. Dopo l'installazione di FreeBSD a fianco di altri OS, se si utilizza Grub come bootloader, bisogna configurarlo correttamente per riuscire a fare il boot da FreeBSD. Utlizzando l'installer UEFI di FreeBSD, verrano create tre partizioni:

 

root@debianbox:/home/edmond# fdisk -l

Disk /dev/sda: 232.9 GiB, 250059350016 bytes, 488397168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 1473D773-9A10-427F-814C-A04A354C6E1B

Device         Start       End   Sectors  Size Type
/dev/sda1       2048    391167    389120  190M EFI System
/dev/sda2     391168  98047999  97656832 46.6G Linux filesystem
/dev/sda3   98048000 101953535   3905536  1.9G Linux swap
/dev/sda4  101953536 101986303     32768   16M Microsoft reserved
/dev/sda5  101986304 220737535 118751232 56.6G Microsoft basic data
/dev/sda6  220737536 269565951  48828416 23.3G Linux filesystem
/dev/sda7  269565952 269975551    409600  200M EFI System
/dev/sda8  269975552 301432831  31457280   15G FreeBSD UFS
/dev/sda9  301432832 305627135   4194304    2G FreeBSD swap

Disk /dev/sdb: 232.9 GiB, 250059350016 bytes, 488397168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: C1A781CD-2BE7-4BC5-8FC1-081B44BB5144

Device        Start      End  Sectors  Size Type
/dev/sdb1      2048   391167   389120  190M EFI System
/dev/sdb2    391168 31641599 31250432 14.9G FreeBSD UFS
/dev/sdb3  31641600 35547135  3905536  1.9G Linux swap

non avendo problemi di spazio non ho bisogno di spostare il contenuto della partizione /dev/sda7 EFI in /dev/sda1 EFI, quindi per poter avviare FreBSD bisogna creare un menuentry corretto per Grub:

# nano /etc/grub.d/40_custom

che deve essere come sotto:

menuentry "FreeBSD" {
insmod part_gpt
insmod fat
set root='hd0,gpt7'
chainloader /EFI/BOOT/BOOTX64.EFI

nel mio caso la partizione EFI FreeBSD è su /dev/sda7, quindi é la che deve puntare il menuentry.

# update-grub && grub-mkconfig
# reboot

enjoy 😉

 

(Solved) /proc/devices: No entry for device-mapper found

 

(Solved) /proc/devices: No entry for device-mapper found 

(Solved) /proc/devices: No entry for device-mapper found. Dopo aver compilato il kernel 4.8 su Debian Stretch/Sid, l'ho installato anche su Debian Jessie, e mi sono ritrovato lanciando il comando update-grub, con l'errore "No entry for device-mapper found". Per risolvere il problema bisogna ricompilare il kernel ed abilitare il modulo device-mapper. Per verificare se è presente:

# lsmod | grep -i dm-mod
# modinfo dm-mod

riepilogando:

$ 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

poi abilitare il modulo in Device Drivers –> Multiple devices driver support (RAID and LVM) –> Device mapper support

(Solved) /proc/devices: No entrfor device-mapper found (Solved) /proc/devices: No entry for device-mapper found(Solved) /proc/devices: No entry for device-mapper found

salvare, e dopo aver ricompilato, riavviare:

# make -j8;make modules -j8;make modules_install -j8;make install
# reboot

enjoy 😉

 

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 😉

 

XAMPP con PHP 7 su Debian Jessie

 

XAMPP con PHP 7 su Debian Jessie

 

XAMPP è una suite completamente gratuita e facile da installare che contiene Apache, MariaDB, PHP, e Perl. La pagina di download è la seguente, una volta scaricato l'installer, cambiare i permersi ed iniziare l'installazione:

$ chmod 755 xampp-linux-*-installer.run
$ sudo ./xampp-linux-*-installer.run --mode gtk --installer-language it

alla fine si potrà scegliere di lanciare subito xampp, e quindi andare in Manage-Servers per avviare i servizi:

XAMPP con PHP 7 su Debian Jessie

 

La schermata iniziale è raggiungibile all'indirizzo http://localhost/. Per avviare xampp da interfaccia grafica quindi utilizzare:

$ sudo /opt/lampp/manager-linux-x64.run

altrimenti si possono utilizzare i seguenti singoli comandi:

$ sudo /opt/lampp/xampp start
$ sudo /opt/lampp/xampp stop
$ sudo /opt/lampp/xampp restart
$ sudo /opt/lampp/xampp startapache
$ sudo /opt/lampp/xampp startmysql
$ sudo /opt/lampp/xampp startftp
$ sudo /opt/lampp/xampp stopapache
$ sudo /opt/lampp/xampp stopmysql
$ sudo /opt/lampp/xampp stopftp
$ sudo /opt/lampp/xampp enablessl
$ sudo /opt/lampp/xampp disablessl

Per il server ProFTP: nome utente «nobody», password «lampp». E' necessario mettere in sicurezza xampp, creando le password di accesso per i vari servizi. Il comando è il seguente:

$ sudo /opt/lampp/xampp security

XAMPP con PHP 7 su Debian Jessie

enjoy 😉

 

Server DHCP su Debian Jessie

 

Server DHCP su Debian Jessie. Installazione e configurazione di un server dhcp su Debian Jessie:

# apt install isc-dhcp-server

settare la scheda di rete da utilzzare, nel mio caso eth0::

# nano /etc/default/isc-dhcp-server

                                                                                                             

# Defaults for isc-dhcp-server initscript
# sourced by /etc/init.d/isc-dhcp-server
# installed at /etc/default/isc-dhcp-server by the maintainer scripts

#
# This is a POSIX shell fragment
#

# Path to dhcpd's config file (default: /etc/dhcp/dhcpd.conf).
#DHCPD_CONF=/etc/dhcp/dhcpd.conf

# Path to dhcpd's PID file (default: /var/run/dhcpd.pid).
#DHCPD_PID=/var/run/dhcpd.pid

# Additional options to start dhcpd with.
#       Don't use options -cf or -pf here; use DHCPD_CONF/ DHCPD_PID instead
#OPTIONS=""

# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
#       Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES="eth0"


poi modificare il file dhcpd.conf inserendo i parametri della nostra rete, nel mio caso 192.168.100.0/24:

# nano /etc/dhcp/dhcpd.conf
# Sample configuration file for ISC dhcpd for Debian
#
#

# The ddns-updates-style parameter controls whether or not the server will
# attempt to do a DNS update when a lease is confirmed. We default to the
# behavior of the version 2 packages ('none', since DHCP v2 didn't
# have support for DDNS.)
ddns-update-style none;

# option definitions common to all supported networks...
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;
default-lease-time 600;
max-lease-time 7200;

# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
#authoritative;

# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
log-facility local7;

# No service will be given on this subnet, but declaring it helps the
# DHCP server to understand the network topology.

#subnet 10.152.187.0 netmask 255.255.255.0 {
#}

# This is a very basic subnet declaration.
subnet 192.168.100.0 netmask 255.255.255.0 {
range 192.168.100.150 192.168.100.253;
option routers 192.168.100.1;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.100.254;
option domain-name-servers 192.168.100.1, 192.168.100.2;
option ntp-servers 192.168.100.1;
option netbios-name-servers 192.168.100.1;
option netbios-node-type 8;
}
#subnet 10.254.239.0 netmask 255.255.255.224 {
#  range 10.254.239.10 10.254.239.20;
#  option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org;
#}

# This declaration allows BOOTP clients to get dynamic addresses,
# which we don't really recommend.

#subnet 10.254.239.32 netmask 255.255.255.224 {
#  range dynamic-bootp 10.254.239.40 10.254.239.60;
#  option broadcast-address 10.254.239.31;
#  option routers rtr-239-32-1.example.org;
#}

# A slightly different configuration for an internal subnet.
#subnet 10.5.5.0 netmask 255.255.255.224 {
#  range 10.5.5.26 10.5.5.30;
#  option domain-name-servers ns1.internal.example.org;
#  option domain-name "internal.example.org";
#  option routers 10.5.5.1;
#  option broadcast-address 10.5.5.31;
#  default-lease-time 600;
#  max-lease-time 7200;
#}

# Hosts which require special configuration options can be listed in
# host statements.   If no address is specified, the address will be
# allocated dynamically (if possible), but the host-specific information
# will still come from the host declaration.

#host passacaglia {
#  hardware ethernet 0:0:c0:5d:bd:95;
#  filename "vmunix.passacaglia";
#  server-name "toccata.fugue.com";
#}

# Fixed IP addresses can also be specified for hosts.   These addresses
# should not also be listed as being available for dynamic assignment.
# Hosts for which fixed IP addresses have been specified can boot using
# BOOTP or DHCP.   Hosts for which no fixed address is specified can only
# be booted with DHCP, unless there is an address range on the subnet
# to which a BOOTP client is connected which has the dynamic-bootp flag
# set.
#host fantasia {
#  hardware ethernet 08:00:07:26:c0:a5;
#  fixed-address fantasia.fugue.com;
#}

# You can declare a class of clients and then do address allocation
# based on that.   The example below shows a case where all clients
# in a certain class get addresses on the 10.17.224/24 subnet, and all
# other clients get addresses on the 10.0.29/24 subnet.

#class "foo" {
#  match if substring (option vendor-class-identifier, 0, 4) = "SUNW";
#}

#shared-network 224-29 {
#  subnet 10.17.224.0 netmask 255.255.255.0 {
#    option routers rtr-224.example.org;
#  }
#  subnet 10.0.29.0 netmask 255.255.255.0 {
#    option routers rtr-29.example.org;
#  }
#  pool {
#    allow members of "foo";
#    range 10.17.224.10 10.17.224.250;
#  }
#  pool {
#    deny members of "foo";
#    range 10.0.29.10 10.0.29.230;
#  }
#}

dopo le modifiche riavviare il servizio:

# /etc/init.d/isc-dhcp-server restart

Server DHCP su Debian Jessie

enjoy 😉

 

OpenVPN con DD-WRT Debian ed iPhone con ios 10

 

dd-wrt

OpenVPN con DD-WRT Debian ed iPhone con ios 10. Con l'arrivo di ios 10 non è più possibile utilizzare una VPN PPTP , ed era quella che io usavo velocemente per connettermi al mio router linksys e1220 aggiornato con dd-wrt. Questa guida mostra come ottenere una VPN funzionante utilizzando OpenVpn server direttamente dal nostro router, e come creare i vari certificati e chiavi con relativa configurazione lato client, questo sia su Debian che su iPhone 6S con ios 10. Io utilizzo Debian Jessie, ma questa guida vale per tutte le distro. Iniziamo.

OpenVPN con DD-WRT Debian ed iPhone con ios 10

Installazione server OpenVpn:

# apt install openvpn easy-rsa
# mkdir /etc/openvpn/easy-rsa/
# cp -r /usr/share/easy-rsa/* /etc/openvpn/easy-rsa/
# nano /etc/openvpn/easy-rsa/vars

a questo punto modificare in base alle proprie esigenze il file vars, come sotto, così successivamente basterà premere Invio quasi sempre.

export KEY_COUNTRY="IT"
export KEY_PROVINCE="Lombardia"
export KEY_CITY="Milano"
export KEY_ORG="DDWRT-VPN"
export KEY_EMAIL="me@myhost.mydomain"
export KEY_OU="DDWRT-VPN"

Creazione certificati/chiavi lato server:

# cd /etc/openvpn/easy-rsa
# source vars
# ./clean-all
# ./build-ca
# ./build-key-server serverddwrt
# ./build-dh

i certificati verranno creati in /etc/openvpn/easy-rsa

Creazione certificati/chiavi lato client:

io ho creato diverse chiavi per i miei devices:

# source vars
# ./build-key iphone
# ./build-key ipad
# ./build-key debianbox
# ./build-key win10

a questo punto tutti i certificati e le chiavi sono state create nella cartella keys in /etc/openvpn/easy-rsa/keys. Non rimane che accedere al nostro router di solito , ed andare in Services-VPN ed abilitare OpenVPN Server/Daemon, come si vede nell'immagine sotto. Nel mio caso la mia rete è 192.168.1.1 e per OpenVpn ho scelto la classe IP 192.168.75.0.

OpenVPN su DD-WRT Debian ed iPhone con ios 10

adesso bisogna aprire con un editor di testo i vari certificati e fare un copia ed incolla di tutto quello che si trova tra –BEGIN CERTIFICATE– e —END CERTIFICATE–. I certificati da incollare direttamente nella web gui sono i seguenti:

Public Server Cert= serverddwrt.crt
CA CERT= ca.crt
Private Server Key = serverddwrt.key
DH PEM = dh2048.pem

ddwrt-openserver-crt

nella sezione più in basso Additional Config inserire:

push "route 192.168.1.0 255.255.255.0"
push "redirect-gateway def1 bypass-dhcp"
dev tun0
proto tcp
keepalive 10 120

poi andare in Administration-Commands ed inserire:

iptables -I INPUT 1 -p tcp --dport 1194 -j ACCEPT
iptables -I INPUT 1 -p udp --dport 1194 -j ACCEPT
iptables -I FORWARD 1 --source 192.168.1.0/24 -j ACCEPT
iptables -I FORWARD -i br0 -o tun0 -j ACCEPT
iptables -I FORWARD -i tun0 -o br0 -j ACCEPT

e premere Save Firewall.

firewall

per avere conferma che tutto è andato bene, portarsi in Status-OpenVpn e si dovrebbe leggere Server: CONNECTED SUCCESS

ddwrt-openvpn

 

Configurazione di OpenVpn client su Debian Jessie:

# apt install network-manager-openvpn network-manager-openvpn-gnome

e configurarlo come sotto:

network-manager-openvpn

network-manager-openvpn-advanced

 

Configurazione iPhone:

OpenVPN con DD-WRT Debian ed iPhone con ios 10

 

Per prima cosa installare direttamente da Apple Store OpenVpn. Dopodichè creare un file iphone.ovpn come sotto:

client
dev tun
proto tcp
remote inserire_indirizzo_IP/DDNS 1194
nobind
persist-key
persist-tun
verb 4
float
ca ca.crt
cert iphone.crt
key iphone.key
comp-lzo yes
tun-mtu 1500
auth SHA1
cipher AES-256-CBC

a questo punto tramite iTunes, caricare all'interno del programma OpenVpn i 4 files:

  1. ca.crt
  2. iphone.crt
  3. iphone.key
  4. iphone.ovpn

OpenVPN con DD-WRT Debian ed iPhone con ios 10

enjoy 😉

 

 

(Solved) login incorrect problem con Vsftp


(Solved) login incorrect problem con Vsftp. Questo è un errore che si è presentato nel momento in cui ho cercato di accedere al server ftp, nella fattispecie Vsftp. Naturalmente user e password erano corretti, ma molto probabilmente qualcosa è cambiato in vsftpd. Il problema si risolve modificando la stringa inerente a pam in vsftpd.conf:

# nano /etc/vsftpd.conf

da così:

# This string is the name of the PAM service vsftpd will use.
pam_service_name=vsftp

a così:

# This string is the name of the PAM service vsftpd will use.
pam_service_name=ftp

enjoy 😉

 

FreePBX 500 internal server error after updates

 

FreePBX 500 internal server error after updates è un errore che ho avuto dopo aver aggiornato FreePBX su Raspbian. L'errore si risolve abilitando mod_rewrite in apache.

# a2enmod rewrite
# service apache2 restart
# fwconsole chown
# fwconsole restart
FreePBX 500 internal server error after updates

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 😉