Le Guide d'Installation

Le Guide d'Installation de l'image de live-CD d'Hyperbola (également amorçable depuis une clé USB) est destiné à aider des utilisateurs GNU/Linux expérimentés à installer Hyperbola depuis un système live démarré avec l'image d'installation officielle. Cette page présuppose que vous avez déjà un niveau élevé d'expérience du système et des utilitaires GNU/Linux, et notamment de la ligne de commande. Si vous aimeriez un guide détaillant plus l'installation étape par étape, consultez le Guide pour débutants. Avant de commencer, nous vous recommandons de lire notre FAQ, la FAQ d'Arch, et d'utiliser man “command” pour lire la page de manuel de chaque commande à laquelle vous n'êtes pas famillier. Le wiki d'Hyperbola (connu sous le nom d'HyperWiki), ainsi que l'ArchWiki, devrait être votre principale source d'information et votre première assistance en cas de pépin.

Téléchargement

Téléchargez la dernière ISO d'Hyperbola GNU/Linux-libre depuis la page de téléchargement.

  • Plutôt que de proposer six images différentes, nous n'en fournissons qu'une seule qui pourra être démarrée en système live i686 ou x86_64 pour installer Hyperbola GNU/Linux-libre par le réseau.
  • Les images d'installation sont signées, et il est hautement recommandé de vérifier leur signature avant de les utiliser. Sur Hyperbola GNU/Linux-libre, cela peut être faire en utilisant pacman-key -v <iso-file>.sig
  • L'image peut être gravée sur un CD, montée en tant que fichier ISO ou directement copiée sur une clé USB en utilisant un outil comme dd. Ceci est dédié aux nouvelles installations uniquement ; un système existant d'Hyperbola GNU/Linux-libre peut toujours être mis à jour avec pacman -Syu.

Utilisateurs non- ou mal-voyants

Il existe une ISO nommée HyperTalking, qui est un live-CD d'installation basé sur TalkingArch et sur une version de l'ISO d'Hyperbola modifiée intégrant la synthèse vocale et la sortie braille.

Graver l'image ISO d'Hyperbola sur une clé USB

# dd if=''[fichier iso]'' of=''[fichier dev usb]'' bs=1M && sync
[fichier iso] est le chemin vers le fichier ISO.
[fichier dev usb] est le chemin vers le fichier du périphérique USB. dmesg ou lsblk –fs peuvent être utilisés pour connaître ce chemin. C'est généralement semblable aux noms de fichiers des périphériques de stockage comme les disque durs et les SSD, ex : /dev/sdb 'Il est crucial d'utiliser la valeur correcte' pour éviter d'écraser d'autres périphériques de stockage.

Installation

Disposition du clavier

Des dispositions de claviers sont initialement disponibles pour de nombreux pays et types de claviers, et une commande du style loadkeys uk devrait faire l'affaire. Les fichiers de dispositions de claviers disponibles sont dans /usr/share/kbd/keymaps/ (vous pouvez passer outre le chemin et l'extension lorsque vous utilisez loadkeys)

Support du braille

HyperTalking inclue brltty, pour ceux qui possèdent un affichage braille. Le paquet brltty disponible sur le CD d'HyperTalking a été compilé avec le moins de dépendances possibles. Si vous souhaitez utiliser le braille, vous devrez fournir le paramètre brltty au prompt de démarrage. Autrement, vous pouvez démarrer brltty depuis le shell, après que le système aie démarré.

Le paramètre de démarrage brltty consiste en trois champs séparés par des virgules : driver, device et table. Le premier est le pilote pour votre affichage, le second est le nom du fichier de périphérique, et le dernier est le chemin relatif à la table de traduction. Vous pouvez utiliser “auto” pour spécifier une détection automatique du pilote. Nous vous encourageons à lire la documentation de brltty pour un explication plus exhaustive du programme.

Par exemple, supposons que vous avez un périphérique connecté sur /dev/ttyS0, le premier port série. Vous souhaitez utiliser la table de texte anglais US, et le pilote devrait être automatiquement détecté. Voici ce que vous devrez taper à l'invité de commande lors du démarrage :

arch32 brltty=auto,ttyS0,en_US

Une fois que btltty sera lancé, vous souhaiterez peut-être désactiver la lecture d'écran. Cela peut être fait par la touche “print screen”, également appelée “sysrq”. Sur un clavier qwerty, elle est située directement sous la touche “inser”, entre F12 et “scroll lock”.

Partitionnement des disques

Consultez cette page dédiée au partitionnement pour les détails.

Veillez à créer des piles périphériques de type bloc comme LVM, LUKS, ou RAID.

Formatage des partitions

Consultez la page Systèmes de fichier pour les détails.

Si vous utilisez (U)EFI, vous devrez certainement créer une autre partition pour accueillir la partition Système UEFI. Consultez la page pour créer une partition UEFI System sous GNU/Linux.

Montage des partitions

Vous devez à présent monter la partition racine sur /mnt. Vous devriez également créer des dossiers pour monter toute autre partition (/mnt/boot, /mnt/home, …) et activer votre partition swap si vous souhaitez que genfstab les détecte.

Connexion à l'Internet

Depuis la v197, udev n'assigne plus les noms d'interface réseau selon le schéma de nommage wlanX et ethX. Si vous venez d'une distribution différente ou êtes en train de ré-installer Hyperbola, et n'êtes pas au courant du nouveau style de nommage d'interface, merci de ne pas supposer que votre interface sans-fil est nommée wlan0, ou que votre interface filaire est nommée eth0. Vous pouvez utiliser la commande ip link pour connaitre les noms de vos interfaces.

Un service DHCP est déjà activé pour tous les périphériques disponibles. Si vous avez besoin d'une adresse IP statique ou d'utiliser des outils de configuration, vous devriez d'abord stopper ce service :

# rc-service dhcpcd stop

Pour plus d'informations lisez la documentation des connexions réseaux.

The dhcpcd network daemon starts automatically during boot and it will attempt to start a wired connection. Try to ping a server to see if a connection was established. For example, gnu.org:

# ping -c 3 gnu.org
 
PING gnu.org (208.118.235.148) 56(84) bytes of data.
64 bytes from wildebeest.gnu.org (208.118.235.148): icmp_seq=1 ttl=47 time=183 ms
64 bytes from wildebeest.gnu.org (208.118.235.148): icmp_seq=2 ttl=47 time=168 ms
64 bytes from wildebeest.gnu.org (208.118.235.148): icmp_seq=3 ttl=47 time=183 ms
 
--- gnu.org ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 168.131/178.357/183.914/7.248 ms

If you get a ping: unknown host error, first check if there is an issue with your cable or wireless signal strength. If not, you will need to set up the network manually, as explained below.

Wired

Follow this procedure if you need to set up a wired connection via a static IP address.

First, disable the dhcpcd service which was started automatically at boot:

# rc-service dhcpcd stop

Identify the name of your Ethernet interface.

# ip link
 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp2s0f0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT qlen 1000
    link/ether 00:11:25:31:69:20 brd ff:ff:ff:ff:ff:ff
3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT qlen 1000
    link/ether 01:02:03:04:05:06 brd ff:ff:ff:ff:ff:ff

In this example, the Ethernet interface is enp2s0f0. If you are unsure, your Ethernet interface is likely to start with the letter “e”, and unlikely to be “lo” or start with the letter “w”. You can also use iwconfig and see which interfaces are not wireless:

# iwconfig
 
enp2s0f0  no wireless extensions.
wlp3s0    IEEE 802.11bgn  ESSID:"NETGEAR97"
          Mode:Managed  Frequency:2.427 GHz  Access Point: 2C:B0:5D:9C:72:BF
          Bit Rate=65 Mb/s   Tx-Power=16 dBm
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Power Management:on
          Link Quality=61/70  Signal level=-49 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:430   Missed beacon:0
lo        no wireless extensions.

In this example, neither enp2s0f0 nor the loopback device have wireless extensions, meaning enp2s0f0 is our Ethernet interface.

You also need to know these settings:

  • Static IP address.
  • Subnet mask.
  • Gateway's IP address.
  • Name servers' (DNS) IP addresses.
  • Domain name (unless you are on a local LAN, in which case you can make it up).

Activate the connected Ethernet interface (e.g. enp2s0f0):

# ip link set enp2s0f0 up

Add the address:

# ip addr add ip_address/subnetmask dev interface_name

For example:

# ip addr add 192.168.1.2/24 dev enp2s0f0

For more options, run man ip.

Add your gateway like this, substituting your own gateway's IP address:

# ip route add default via ip_address

For example:

# ip route add default via 192.168.1.1

Edit resolv.conf, substituting your name servers' IP addresses and your local domain name:

# nano /etc/resolv.conf
 
nameserver 61.23.173.5
nameserver 61.95.849.8
search example.com
Currently, you may include a maximum of three nameserver lines. In order to overcome this limitation, you can use a locally caching nameserver like Dnsmasq.

You should now have a working network connection. If you do not, check the detailed Network Configuration page.

Wireless

Follow this procedure if you need wireless connectivity (Wi-Fi) during the installation process.

First, identify the name of your wireless interface.

# iw dev
 
phy#0
        Interface wlp3s0
                ifindex 3
                wdev 0x1
                addr 00:21:6a:5e:52:bc
                type managed

In this example, wlp3s0 is the available wireless interface. If you are unsure, your wireless interface is likely to start with the letter “w”, and unlikely to be “lo” or start with the letter “e”.

If you do not see output similar to this, then your wireless driver has not been loaded. Please see Wireless Setup for more detailed information.

Bring the interface up with:

# ip link set wlp3s0 up
If you get this error message:
SIOCSIFFLAGS: No such file or directory

Then, your wireless chipset could need a non-free firmware to function. This is not supported on Hyperbola. Please see Wireless Setup if you are unsure if this is the true for your particular chipset.

Next, use iw dev wlp3s0 scan | grep SSID to scan for available networks, then connect to a network with:

# wpa_supplicant -B -i wlp3s0 -c <(wpa_passphrase "ssid" "psk")

You need to replace ssid with the name of your network (e.g. “Linksys etc…”) and psk with your wireless password, leaving the quotes around the network name and password.

Finally, you have to give your interface an IP address. This can be set manually or using the dhcp:

# dhcpcd wlp3s0

If that does not work, issue the following commands:

# echo 'ctrl_interface=DIR=/run/wpa_supplicant' > /etc/wpa_supplicant.conf
# wpa_passphrase <ssid> <passphrase> >> /etc/wpa_supplicant.conf
# ip link set <interface> up # May not be needed as dhcpcd should bring it up but may be needed for wpa_supplicant.
# wpa_supplicant -B -D nl80211 -c /foobar.conf -i <interface name>
# dhcpcd -A <interface name>

ADSL with PPPoE/PPPoA

Follow this procedure if you need ADSL with PPPoE/PPPoA during the installation process.

First, identify the name of your Ethernet interface.

# ip link
 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp2s0f0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT qlen 1000
    link/ether 00:11:25:31:69:20 brd ff:ff:ff:ff:ff:ff
3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT qlen 1000
    link/ether 01:02:03:04:05:06 brd ff:ff:ff:ff:ff:ff

In this example, the Ethernet interface is enp2s0f0.

Second, create the PPP net script and the net script for the Ethernet interface to be used by PPP:

# ln -s /etc/init.d/net.lo /etc/init.d/net.ppp0
# ln -s /etc/init.d/net.lo /etc/init.d/net.enp2s0f0
Be sure to set rc_depend_strict to YES in /etc/rc.conf.

Now we need to configure /etc/conf.d/net.

# nano /etc/conf.d/net

config_eth0=null (Specify the ethernet interface)
config_ppp0="ppp"
link_ppp0="enp2s0f0" (Specify the ethernet interface)
plugins_ppp0="pppoe"
username_ppp0='user'
password_ppp0='password'
pppd_ppp0="
noauth
defaultroute
usepeerdns
holdoff 3
child-timeout 60
lcp-echo-interval 15
lcp-echo-failure 3
noaccomp noccp nobsdcomp nodeflate nopcomp novj novjccomp"
  
rc_net_ppp0_need="net.enp2s0f0"
It is also possible to set the password in /etc/ppp/pap-secrets.
Please carefully read the section on ADSL and PPP in /usr/share/doc/netifrc-*/net.example.bz2. It contains many more detailed explanations of all the settings any particular PPP setup will likely need.

Now that the interface is configured, we can start it using the following commands:

rc-service net.ppp0 start

Behind a proxy server

If you are behind a proxy server, you will need to export the http_proxy and ftp_proxy environment variables. See Proxy settings for more information.

Vérification des signatures de paquets

De nouvelles clés de mainteneurs de paquets sont nécessaires par défaut pour installer Hyperbola depuis les ISOs actuelles. Il est recommandé, voir même obligé, de mettre à jour les clés avant d'essayer une installation, à cause d'éventuels changements qu'il y a pu y avoir sur les clés existantes depuis la sortie de l'ISO.

# pacman -Sy hyperbola-keyring

Si vous faites face à des erreurs GPG en mettant à jour ce paquet, c'est probablement parce que la clé qui le signe a expiré. Pour régler cela, lancez :

# pacman-key --populate archlinux
# pacman-key --populate hyperbola
# pacman-key --refresh-keys

Après cela, si aucune erreur ne survient, la commande pacman -Sy hyperbola-keyring devrait fonctionner.

Si vous recevez une erreur relative à dirmngr, vous pouvez l'écarter par :

# mkdir /root/.gnupg && chmod go-rx /root/.gnupg && touch /root/.gnupg/dirmngr_ldapservers.conf

Pour le moment, lancer cette commande peut également se révéler nécessaire sur les systèmes fraîchement installés.

Il est également possible que l'horloge système soit en retard et que les clés soient faussement marquées comme invalides. Pour régler cela, remettez manuellement l'horloge à l'heure :

# date MMDDhhmm[[CC]YY][.ss]

où MM est le mois, DD le jour, hh l'heure, mm les minutes, CC le siècle, YY l'année et ss les secondes de l'heure actuelle. Les secondes peuvent être ignorées, ainsi que l'année ou le siècle. Par exemple, si l'heure actuelle était 18h 44 minutes et 32 secondes du 13 novembre 2013, la commande serait :

# date 111318442013.32

Installation du système de base

Avant d'installer, vous souhaiterez sûrement éditer /etc/pacman.d/mirrorlist afin de trier vos miroirs préférés. Une copie de cette liste de miroirs sera installée sur votre nouveau système par pacstrap de toutes manières, donc autant la modifier dès à présent.

Installer le système de base avec pacstrap :

# pacstrap /mnt

Vous pouvez installer des paquets additionnels en passant base et les noms de ces paquets en arguments après le chemin de la racine de votre nouvelle installation (tous les paquets du groupe base sont installés si aucun argument n'est spécifié).

Si vous avez une racine en btrfs, vous voudrez probablement installer aussi btrfs-progs.

Si vous faites face à des erreurs GPG lors du lancement de # pacstrap /mnt, vous pouvez essayer de les régler ainsi :
# pacman -Sfy archlinux-keyring && pacman -Sfy hyperbola-keyring

Installation et configuration du programme de démarrage

GRUB

  • Pour BIOS et EFI :
# pacstrap /mnt grub

Consultez la page de GRUB pour plus de détails.

Syslinux

# pacstrap /mnt syslinux

Consultez la page de Syslinux pour plus de détails.

Installation des outils pour la connexion sans-fil

Si votre réseau sans-fil est protégé par WPA, vous aurez besoin de wpa_supplicant pour vous y connecter :

# pacstrap /mnt wpa_supplicant

Si vous utilisez wifi-menu pour vous connecter, vous aurez également besoin du paquet dialog :

# pacstrap /mnt dialog

Configuration du système

Générez un fichier fstab par la commande suivante (si vous souhaitez utiliser les UUIDs ou les étiquettes (labels), ajoutez respectivement l'option -U ou -L) :

# genfstab -p /mnt >> /mnt/etc/fstab

Puis, vous pouvez chrooter sur votre nouveau système :

# arch-chroot /mnt
  • Écrivez votre nom d'hôte dans /etc/hostname
  • Créez le lien symbolique /etc/localtime pointant sur /usr/share/zoneinfo/Zone/SousZone. Remplacez Zone et SousZone dans votre lien. Par exemple :
# ln -s /usr/share/zoneinfo/Europe/Athens /etc/localtime
  • Editez vos préférences de localisation dans /etc/locale.conf
  • Ajoutez vos disposition de clavier et police dans /etc/vconsole.conf
  • Décommentez la bonne entrée dans /etc/locale.gen puis générez la grâce à locale-gen
  • Configurez /etc/mkinitcpio.conf (voir mkinitcpio) puis créez une image de démarrage avec :
# mkinitcpio -p linux-libre-lts
linux-libre-lts est notre noyau par défaut étant donné que nous gérons la prise en charge sur le long terme (LTS).
  • Si vous voulez installer GRUB pour le mode (U)EFI, vous devrez vous assurer que :
    • L'ordinateur a démarré en mode (U)EFI (si /sys/firmware/efi existe, alors il a démarré en mode (U)EFI)
    • Le module efivars est chargé (la commande modprobe efivars pourra le charger)
  • Pour configurer le gestionnaire de démarrage, vous devez l'installer et générer le fichier grub.cfg :
# grub-install /dev/sdX
# grub-mkconfig -o /boot/grub/grub.cfg

Ajoutez votre utilisateur aux groupes échéants, par exemple :

# gpasswd -a NomDeVotreUtilisateur video

Configuration du support de lecture d'écran (pour les utilisateurs non- ou mal-voyants)

Si vous utilisez HyperTalking et que vous avez besoin du support de lecture d'écran dès le démarrage du système, vous aurez besoin :

  • D'installer espeakup et alsa-utils.
  • D'activer le service espeakup de systemd en exécutant :
# systemctl enable espeakup.service
  • Se sauvegarder l'état de la carte son, afin qu'il puisse être restauré au redémarrage :
# alsactl store

Démontage et redémarrage

Si vous êtes toujours dans l'environnement chroot, tapez exit ou Ctrl+D afin d'en sortir. Si tout à l'heure des partitions ont été montées sur /mnt, il faut à présent les démonter avec :

# umount /mnt/{boot,home,}

À présent, vous pouvez redémarrer et vous authentifier sur le nouveau système en tant que super-utilisateur (root).

Configuration de pacman

Modifiez /etc/pacman.conf pour configurer les options de pacman et activer les dépots dont vous avez besoin. Consultez la documentation de Pacman et des Dépots pour plus de détails.

Mise à jour du système

À présent vous devriez mettre à jour votre système.

Suivez les instructions pour la Mise à jour des paquets.

Ajout d'un utilisateur

Enfin, ajoutez un utilisateur ordinaire tel que décrit dans la Gestion des utilisateurs.

Gestion des services

Hyperbola GNU/Linux-libre se prépare à retirer tout support pour Systemd, c'est pourquoi nous vous suggérons de commencer à apprendre à vous servir d'OpenRC en tant qu'option de démarrage (init) puisqu'il sera implémenté par défaut dans la version 0.2. Pour administrer votre installation, il est recommandé d'en apprendre les bases. Lisez les manuels d'OpenRC pour plus d'information.

Conclusion

Votre nouveau système de base Hyperbola GNU/Linux-libre est dorénavant un environnement GNU/Linux fonctionnel.

Reconnaissance

Cet article de wiki est basé sur l'ArchWiki, le GentooWiki et le ParabolaWiki. Nous avons pu y retirer toute partie ne suivant pas les Recommandations pour les distributions systèmes libres (GNU FSDG).