:: CloudSHell2 - Installation d'Archlinux ::
Introduction
Toutes les opérations décrites ci-dessous ont été faites à partir d'un portable sous Archlinux et du reader/writer eMMC se branchant sur le port SD (via un adaptateur micro-SD).
La commande lsblk
permet de récupérer le nom du périphérique, pour ma part /dev/mmcblk0
Préparation du module eMMC
Remise à zéro
$ sudo dd if=/dev/zero of=/dev/mmcblk0 bs=1M count=8
Partitionnement
$ sudo fdisk /dev/mmcblk0
Créer une nouvelle partition primaire vide, en tapant les commandes suivantes :
- o : crée une nouvelle table de partition DOS
- n : crée une nouvelle partition avec les paramètres suivants :
- p : type de partition primaire
- 1 : première partition
- 4096 : premier secteur de la partition
- ENTER : dernier secteur de la partition (defaut)
- w : écrit la table de partition et quitte
Création du système de fichiers ext4
$ sudo mkfs.ext4 /dev/mmcblk0p1
Montage du système de fichiers
$ mkdir root
$ sudo mount /dev/mmcblk0p1 root
Téléchargement et extraction du système de fichier root
$ wget http://os.archlinuxarm.org/os/ArchLinuxARM-odroid-xu3-latest.tar.gz
$ sudo bsdtar -xpf ArchLinuxARM-odroid-xu3-latest.tar.gz -C root
Flash du bootloader
$ cd root/boot/
$ sudo ./sd_fusing.sh /dev/mmcblk0
Démontage du système de fichiers
$ cd ../..
$ sudo umount root
Premier démarrage du système
- Insérer le module eMMC dans son emplacement sur la carte XU4
- Connecter le câble ethernet et brancher l'alimentation
Attendre la fin du démarrage du système puis se connecter en ssh avec le user alarm et le mot de passe alarm
$ ssh alarm@cloudshell.domaine.lan
Ouvrir une session root avec le mot de passe root
$ su - root
Initialisation
Création du trouseau de clés et enrichissement des certificats des dépôts Arch Linux ARM
# pacman-key --init
# pacman-key --populate archlinuxarm
Gestion de paquets
Mise à jour du système
# pacman -Syu
Paquets supplémentaires
# pacman -S vim
Localisation
Timezone
# ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime
Horloge
hwclock --systohc
Cette commande permet de générer le fichier /etc/adjtime
.
Locales
Décommenter la ligne fr_FR.UTF-8 UTF-8
dans le fichier /etc/locale.gen
.
/etc/locale.gen
fr_FR.UTF-8 UTF-8
Générer les locales :
# locale-gen
Generating locales...
fr_FR.UTF-8... done
Generation complete.
Configuration réseau
Nom d'hôte
/etc/hostname
cloudshell
/etc/hosts
127.0.0.1 localhost ::1 localhost 127.0.1.1 cloudshell.domaine.lan cloudshell
Adresse IP
Comme il s'agit d'un serveur installé dans mon réseau local, je préfère lui assigner une adresse ip fixe tout en gardant la possibilité de demander une adresse ip dynamique (si je le déplace par exemple).
J'ai donc créé un profil statique en ajoutant les lignes suivantes à la fin du fichier /etc/dhcpcd.conf
:
/etc/dhcpcd.conf
# Static profile interface eth0 static ip_address=192.168.0.2/24 static routers=192.168.0.254 static domain_name_servers=192.168.0.254 8.8.8.8
Configuration des disques
Le CloudShell2 permet de connecter deux disques SATA au format 3.5" et supporte les technologies RAID0, RAID1, SPAN ainsi que l'accès direct (mode PM).
Dans ma configuration, j'ai branché deux disques SATA de 3To et configuré le 'DIP switch' en RAID1.
Le volume RAID est accessible via /dev/sda
et sera monté sur /home
.
Partitionnement
# fdisk /dev/sda
Créer une nouvelle partition primaire sur le volume, en tapant les commandes suivantes :
- n : crée une nouvelle partition avec les paramètres suivants :
- p : partition de type primaire
- 1 : numéro de partition
- ENTER (2048) : premier secteur par defaut
- ENTER (dernier secteur) : dernier secteur par defaut
- w : applique les changements et quitte
Formatage de la partition
# mkfs.ext4 /dev/sda1
Synchronisation du contenu de /home
# mkdir /mnt/data
# mount /dev/sda1 /mnt/data
# rsync -avz /home/ /mnt/data/
Une fois les données synchronisées (et vérifiées !), on peut nettoyer le répertoire /home :
# rm -rf /home/*
Montage de la partition et génération du fstab
# mount /dev/sda1 /home
# genfstab -p -U / > /etc/fstab
Ecran LCD
# echo "options fbtft_device name=hktft9340 busnum=1 rotate=270" > /etc/modprobe.d/cloudshell.conf
# echo "spi_s3c64xx" >> /etc/modules-load.d/fbtft_device.conf
# echo "spidev" >> /etc/modules-load.d/fbtft_device.conf
# echo "fbtft_device" >> /etc/modules-load.d/fbtft_device.conf
Ventilateur
Récepteur infrarouge
Références
- ODROID-XU4
- Cloudshell2
- ODROID-XU4 | Arch Linux ARM
- How to Install ArchLinux With Full Disk Encryption on an ODROID-C2