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 😉