simplification drastique
This commit is contained in:
parent
2d2f9d8e15
commit
d603a02ea9
|
@ -324,6 +324,10 @@ SUBSYSTEM==\"usb_device\", GROUP=\"spice\", MODE=\"0660\"
|
||||||
;; qui se trouvent ici s'obtiennent en exécutant « blkid » dans un terminal.
|
;; qui se trouvent ici s'obtiennent en exécutant « blkid » dans un terminal.
|
||||||
(file-systems
|
(file-systems
|
||||||
(cons*
|
(cons*
|
||||||
|
(file-system
|
||||||
|
(mount-point "/boot/efi")
|
||||||
|
(device "/dev/CHANGE_THIS_DISK")
|
||||||
|
(type "vfat"))
|
||||||
(file-system
|
(file-system
|
||||||
(mount-point "/")
|
(mount-point "/")
|
||||||
(device "/dev/mapper/ROOT")
|
(device "/dev/mapper/ROOT")
|
||||||
|
|
|
@ -0,0 +1,96 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# Guix Simplified Installer
|
||||||
|
#
|
||||||
|
# Copyright (C) 2024 Adrien Bourmault <neox@a-lec.org>
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU Affero General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU Affero General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
set +x
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Définition des couleurs
|
||||||
|
RED='\033[0;31m'
|
||||||
|
GREEN='\033[0;32m'
|
||||||
|
YELLOW='\033[0;33m'
|
||||||
|
BLUE='\033[0;34m'
|
||||||
|
NC='\033[0m' # No Color
|
||||||
|
|
||||||
|
echo "${RED}Welcome to Guix Simplified Installer${NC}"
|
||||||
|
echo "${NC}Copyright (C) 2024 Adrien Bourmault <neox@a-lec.org>${NC}"
|
||||||
|
echo "${NC}This program is free software, released under the GNU AGPL version 3 or later.${NC}"
|
||||||
|
|
||||||
|
|
||||||
|
# Chemin vers le disque
|
||||||
|
DISK="$1"
|
||||||
|
|
||||||
|
# Vérification de l'existence du disque
|
||||||
|
if [ ! -b "$DISK" ]; then
|
||||||
|
echo "${RED}Creating disk layout...${NC}"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo -n "${BLUE}Creating disk layout...${NC}"
|
||||||
|
|
||||||
|
parted -s "$DISK" mklabel gpt
|
||||||
|
parted -s "$DISK" mkpart primary fat32 1MiB 5%
|
||||||
|
parted -s "$DISK" mkpart primary ext4 5% 100%
|
||||||
|
parted -s "$DISK" print
|
||||||
|
|
||||||
|
echo "${GREEN}OK${NC}"
|
||||||
|
echo -n "${BLUE}Setting up root partition encryption...${NC}"
|
||||||
|
|
||||||
|
cryptsetup luksFormat "${DISK}p2"
|
||||||
|
|
||||||
|
echo "${GREEN}OK${NC}"
|
||||||
|
echo -n "${BLUE}Unlocking root partition...${NC}"
|
||||||
|
|
||||||
|
cryptsetup open "${DISK}p2" ROOT
|
||||||
|
|
||||||
|
echo "${GREEN}OK${NC}"
|
||||||
|
echo -n "${BLUE}Formatting disks partitions...${NC}"
|
||||||
|
|
||||||
|
mkfs.vfat "${DISK}p1"
|
||||||
|
mkfs.ext4 -L ROOT /dev/mapper/ROOT
|
||||||
|
|
||||||
|
echo "${GREEN}OK${NC}"
|
||||||
|
echo -n "${BLUE}Updating disk configuration...${NC}"
|
||||||
|
|
||||||
|
UUID=$(blkid -o value -s UUID "${DISK}p2")
|
||||||
|
sed -i "s/CHANGE_THIS_UUID/${UUID}/g" config.scm
|
||||||
|
UUID2=$(blkid -o value -s UUID "${DISK}p1")
|
||||||
|
sed -i "s/CHANGE_THIS_DISK/${UUID2}/g" config.scm
|
||||||
|
|
||||||
|
echo "${GREEN}OK${NC}"
|
||||||
|
echo -n "${BLUE}Mounting disks...${NC}"
|
||||||
|
|
||||||
|
mount LABEL=ROOT /mnt
|
||||||
|
mkdir -p /mnt/boot/efi
|
||||||
|
mount "${DISK}p1" /mnt/boot/efi
|
||||||
|
|
||||||
|
echo "${GREEN}OK${NC}"
|
||||||
|
echo -n "${BLUE}Moving configuration to its final location...${NC}"
|
||||||
|
|
||||||
|
mkdir /mnt/etc
|
||||||
|
mv config.scm /mnt/etc/config.scm
|
||||||
|
|
||||||
|
echo "${GREEN}OK${NC}"
|
||||||
|
|
||||||
|
echo -n "${BLUE}Installing GNU Guix${NC}"
|
||||||
|
|
||||||
|
herd start cow-store /mnt
|
||||||
|
|
||||||
|
guix system init /mnt/etc/config.scm /mnt
|
||||||
|
|
||||||
|
echo "${GREEN}OK${NC}"
|
|
@ -50,10 +50,15 @@ dhclient
|
||||||
wget forge.chalec.org/neox/guix_jerome/raw/branch/master/config.scm
|
wget forge.chalec.org/neox/guix_jerome/raw/branch/master/config.scm
|
||||||
```
|
```
|
||||||
|
|
||||||
|
11. Récupérer l'installateur simplifié de Guix pré-préparé :
|
||||||
|
```
|
||||||
|
wget forge.chalec.org/neox/guix_jerome/raw/branch/master/install.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
### Préparation du disque
|
### Préparation du disque
|
||||||
|
|
||||||
11. Rechercher la liste des disques :
|
12. Rechercher la liste des disques :
|
||||||
```
|
```
|
||||||
lsblk
|
lsblk
|
||||||
```
|
```
|
||||||
|
@ -61,71 +66,13 @@ lsblk
|
||||||
Un résultat comme suit apparaît :
|
Un résultat comme suit apparaît :
|
||||||
![](guix_07.png)
|
![](guix_07.png)
|
||||||
|
|
||||||
12. Si aucune partition n'existe, on utilisera l'utilitaire `cfdisk` (embarqué dans l'installateur). Pour cela, lancer simplement `cfdisk` et créer au moins une partition. Attention : bien penser à exécuter la commande d'écriture pour que les changements ne soient pas perdus. Redémarrer peut être nécessaire. Si vous avez un nvme (petit disque SSD très rapide ressemblant à une barette) :
|
13. On cherche alors le nom du disque local. Si vous ne voyez que `sda` c'est la clé USB. Votre disque peut s'appeler `nvme0n1`, et dans ce cas c'est un nvme. Lancez la commande d'installation en indiquant votre disque. Par exemple, avec un nvme :
|
||||||
```
|
```
|
||||||
cfdisk /dev/nvme0n1
|
chmod +x install.sh
|
||||||
|
./install.sh /dev/nvme0n1
|
||||||
```
|
```
|
||||||
|
|
||||||
La selection des commandes se fait avec les flèches.
|
14. Redémarrer l'appareil.
|
||||||
|
|
||||||
12. Utilisez la commande _New_, appuyez sur entrée
|
|
||||||
|
|
||||||
13. Utilisez la commande _Write_, appuyez sur entrée, puis tapez 'yes' et appuyez sur entrée
|
|
||||||
|
|
||||||
14. Utiliser la commande _Quit_, appuyez sur entrée.
|
|
||||||
|
|
||||||
15. Dans ce tutoriel on identifie `/dev/vda1` comme le disque cible de l'installation. Si vous avez un nvme, il faudra le remplacer par le bon chemin sur votre machine : par exemple `/dev/nvme0n1p1`
|
|
||||||
|
|
||||||
On commence par formater et chiffrer la partition :
|
|
||||||
|
|
||||||
```
|
|
||||||
cryptsetup luksFormat /dev/nvme0n1p1
|
|
||||||
```
|
|
||||||
|
|
||||||
Puis on ouvre le disque chiffré :
|
|
||||||
```
|
|
||||||
cryptsetup open /dev/nvme0n1p1 ROOT
|
|
||||||
```
|
|
||||||
|
|
||||||
Puis on formate la partition :
|
|
||||||
```
|
|
||||||
mkfs.ext4 -L ROOT /dev/mapper/ROOT
|
|
||||||
```
|
|
||||||
|
|
||||||
16. La partition racine a maintenant un identufuabt On corrige l'identificant de la partition racine dans la configuration :
|
|
||||||
```
|
|
||||||
UUID=$(blkid -o value -s UUID /dev/nvme0n1p1)
|
|
||||||
sed -i "s/CHANGE_THIS_UUID/${UUID}/g" config.scm
|
|
||||||
```
|
|
||||||
|
|
||||||
17. On monte ensuite la partition :
|
|
||||||
```
|
|
||||||
mount LABEL=ROOT /mnt
|
|
||||||
```
|
|
||||||
|
|
||||||
18. Déplacer le fichier de configuration à son emplacement final :
|
|
||||||
```
|
|
||||||
mkdir /mnt/etc
|
|
||||||
mv config.scm /mnt/etc/config.scm
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
### Lancement de l'installation
|
|
||||||
|
|
||||||
19. On active le service du Store :
|
|
||||||
```
|
|
||||||
herd start cow-store /mnt
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
20. On lance l'installation :
|
|
||||||
```
|
|
||||||
guix system init /mnt/etc/config.scm /mnt
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
21. Une fois cela terminé, on peut redémarrer le système.
|
|
||||||
|
|
||||||
|
|
||||||
### Configuration d'OpenVPN
|
### Configuration d'OpenVPN
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue