GLG Programs fa uso di cookie per migliorare l'esperienza di navigazione degli utenti, ma non per tracciarne un profilo. Proseguendo nella navigazione, si accetta implicitamente l'utilizzo dei cookie.
[OK]Note legaliNon mi importa
Logo GLGPrograms Logo GLGPrograms

Debian 8 Jessie su Raspberry Pi 2

[Logotipi] Raspberry Pi 2 + Debian - Raspbian + Hard disk

Questo è un prontuario di istruzioni commentate per installare il sistema operativo Debian GNU/Linux sul Raspberry Pi 2, su un hard disk esterno. Nota bene: questo prontuario

Indice:

  1. Blob di avvio
  2. Installazione di Debian, primo passaggio
  3. Installazione di Debian, secondo passaggio
  4. Programmi base su Debian

Blob di avvio

Purtroppo, sembra che ad oggi nessuno conosca il contenuto del blob binario necessario per il caricamento del kernel, perciò, un paio di file dovranno essere presi così come sono direttamente dalla partizione di boot di una delle immagini ufficiali.

Inoltre, Debian supporta l'architettura ARM, ma non il Raspberry Pi, quindi non mette a disposizione un kernel ufficiale per il microcomputer. Per risolvere abbiamo due alternative: usare il kernel binario fornito nell'immagine insieme a Raspbian, oppure cross-compilarlo manualmente secondo le istruzioni ufficiali.

Si può scegliere la soluzione che si preferisce: noi abbiamo ricompilato il kernel col supporto a btrfs perché ci piace questo filesystem per fare snapshot del sistema a intervalli regolari.

Sul nostro filebox sono disponibili:

boot-2015-11-21.tar.gz binari partizione di boot ufficiale (per evitare di dover scaricare tutta l'immagine)
boot-4.1.15-btrfs.tar.gz binari con kernel personalizzato con supporto integrato btrfs; i moduli esterni non sono inclusi
config-4.1.5-btrfs .config per il kernel personalizzato; usare questo per ricompilare kernel con btrfs e moduli

Creare una partizione FAT32 (non FAT16) di circa 100MB sulla propria schedina microSD e posizionare i binari e i file di configurazione in tale partizione.

Modificare il file cmdline.txt aggiungendo:

  root=/dev/sda1 rootflags=subvol=slashfs rootfstype=btrfs rootwait init=/bin/bash

dove:

Installazione Debian

Primo passaggio

Installare lo script debootstrap sulla propria distribuzione. Questo strumento consente di creare un filesystem di root Debian:

$ yaourt -S debootstrap         # Arch Linux e derivate
# apt-get install debootstrap   # Debian e derivate

Partizionare e formattare il disco (occhio a non cancellare il sistema), e montare la partizione in una posizione comoda. Ad esempio, una soluzione può essere:

# cfdisk /dev/sdb
# mkfs.btrfs /dev/sdb1
# mkdir /mnt/piroot
# mount /dev/sdb1 /mnt/piroot
# cd /mnt/piroot
# btrfs subvolume create slashfs
# cd
# umount /mnt/piroot
# mount -o subvol=slashfs /dev/sdb1 /mnt/piroot

Adesso installare il sistema minimale Debian usando debootstrap. Se il sistema host gira su un'architettura diversa da quella del minicomputer (come nella maggior parte dei casi, x86_64), l'installazione deve avvenire in due passaggi:

  1. creazione di un filesystem di root minimale ma avviabile, completo dei pacchetti di base necessari per un'installazione funzionante, e di tutti gli strumenti necessari per completare l'installazione;
  2. avviato il minicomputer, completamento dell'installazione del sistema e della configurazione dei pacchetti mancanti;
    infine, ci si potrà sbizzarrire a personalizzare il sistema come si preferisce, come in una comune installazione.
# debootstrap --arch=armhf --foreign jessie /mnt/piroot http://debian.fastweb.it/debian/

dove:

Per maggiori delucidazioni, come sempre, vedere $ man debootstrap

Secondo passaggio

Inserire la microSD nel Raspberry, collegare il disco esterno e avviare. Il primo avvio darà qualche errore ma caricherà la sola shell bash come richiesto. Se ciò non dovesse accadere (e il sistema si blocca in un bel kernel panic), ricontrollare attentamente tutte le configurazioni.

Rimontare il filesystem di root in scrittura, avendo cura di prendere nota del suo nome (nella maggioranza dei casi sarà /dev/sda1):

# mount -o remount,rw,subvol=slashfs /dev/sda1 /

Scrivere nel file /etc/fstab la configurazione per montare il filesystem di root (si può usare nano che è già installato e configurato). Esempio di fstab:

/dev/sda1   /   btrfs    rw,subvol=slashfs    0   0

Scrivere nel file /etc/hostname l'hostname. Per ragioni ignote, l'hostname predefinito è già impostato come quello del vostro sistema host.

Impostare una password di root. Questa operazione deve essere eseguita adesso, perché l'amministratore non è dotato di una password di default, perciò, al primo avvio regolare, risulterebbe impossibile accedere.

# passwd root

Completare l'installazione di Debian:

/debootstrap/debootstrap --second-stage

Montare la partizione di boot (sulla scheda microSD) e rimuovere init=/bin/bash dal file cmdline.txt per permettere un avvio regolare di tutto il sistema:

# mount /dev/mmcblk0p1 /boot
# nano /boot/cmdline.txt

Riavviare il sistema:

# reboot
Se reboot non funziona, usare il Magic SysReq ALT + Stamp + REISU per chiudere tutti i processi e sincronizzare tutti di dischi, quindi riavviare con CTRL + ALT + CANC.

Configurazione base Debian

Riavviato il computer, si ha ora un sistema Debian perfettamente funzionante, perciò questo prontuario può considerarsi concluso. Tuttavia, qui segue un veloce elenco di alcune operazioni facoltative, ma che in molti troveranno comodo.