Installer OpenBSD 6.7 sur un Thinkpad T490
simplicité n’est pas synonyme de facilité.
Voici les quelques étapes que j’ai suivies pour installer OpenBSD 6.7 sur un Lenovo Thinkpad T490.
Configuration du BIOS
Désactiver les périphériques qui ne sont pas supportés par OpenBSD ou qui ne seront pas utilisés.
- Security > IO Ports: Bluethooth, Fingerprint Reader = Disabled
Désactiver le Secure Boot qui empêche les OS non-sécuritaires de démarrer.
- Security > Secure Boot = Disabled
- Startup: UEFI/Legacy Boot = UEFI Only
Appuyer sur F10 pour sauvegarder et redémarrer.
Écrire l’image sur une clé USB
# dd if=install67.fs of=/dev/rsd1c bs=1m
Redémarrer l’ordi en sélectionnant la clé usb comme disque d’amorçage (Enter, F12).
Installation
Sélectionner le (S)hell en tapant S, Enter.
Afficher les disques durs
# sysctl hw.disknames
hw.disknames=sd0:,rd0:5002a2104c89d6f6,sd1:3bd615e698d75c63
Afficher les partitions actuelles sur sd0:
# disklabel sd0
Si sd0 n’apparait pas dans /dev/ vous aurai des messages du type disklabel: DIOCGDINFO: Inappropriate ioctl or device
. Il faut alors créer sd0 manuellement:
# cd /dev && sh MAKEDEV sd0
Effacer le disque dur au complet. Créer une table de partition GUID (GPT) avec une partition RAID.
# dd if=/dev/urandom of=/dev/rsd0c bs=1m
# fdisk -iy -g -b 960 sd0
# disklabel -E sd0
Label
> a a
offset: [1024]
size: [500117105]
FS type: [4.2BSD] RAID
> w
> q
No label changes:
#
Créer un disque virtuel encrypté avec un mot de passe fort. Effacer le premier meg sur le nouveau disque (FAQ).
# bioctl -c C -l sd0a softraid0
# cd /dev && sh MAKEDEV sd2
# dd if=/dev/zero of=/dev/rsd2c bs=1m count=1
# exit
Sélectionner (I)nstall et répondre aux questions. L’installateur vous aidera à créer les partitions, le mot de passe root, un utilisateur, extraire les paquets du système, configurer le fuseau horaire et la langue du clavier, activer xenodm.
Débrancher la clé USB et redémarrer OpenBSD à partir du disque dur.
Exécuter syspatch(8) pour mettre les dernière mises à jour.
# syspatch
Mettre à jour les firmwares pour activer la carte wifi.
# fw_update
Augmenter la limite de mémoire dans login.conf(5):
# cp /etc/login.conf /etc/login.conf.orig
# sed -i 's/datasize-cur=768M/datasize-cur=4096M/' /etc/login.conf
# sed -i 's/datasize-max=768M/datasize-max=4096M/' /etc/login.conf
doas
Donner des droits à votre super-utilisateur dans /etc/doas.conf
:
# usermod -G wheel phil
# cat /etc/doas.conf
permit persist keepenv phil
permit nopass :wheel cmd /sbin/disklabel
permit nopass :wheel cmd /sbin/umount
permit nopass :wheel cmd /sbin/shutdown
permit nopass :wheel cmd /sbin/reboot
permit nopass :wheel cmd /sbin/mount
permit nopass :wheel cmd /usr/sbin/zzz
permit nopass :wheel cmd /usr/sbin/ZZZ
wsconsctl
cat << EOF > /etc/wsconsctl.conf
keyboard.bell.volume=0 display.brightness=80 EOF
rc.shutdown
Scripts à exécuter au shutdown
echo “su prx -c ‘/usr/local/bin/mpd –kill’ >> /etc/rc.shutdown echo “su prx /home/prx/bin/prxsync push” >> /etc/rc.shutdown
Configurer les cartes réseau
# echo '192.168.1.1' > /etc/mygate
# echo 'up' > /etc/hostname.em0
# cat /etc/hostname.iwm0
join SSID wpakey votre_cle_wpa
up
# cat /etc/hostname.trunk0
trunkproto failover trunkport em0 trunkport iwm0
dhcp
Ajouter le NAS:
# echo '192.168.1.8 nas' >> /etc/hosts
https://www.openbsd.org/faq/faq6.html
Activer apmd(8):
# rcctl enable apmd
# rcctl set apmd flags -A -z 7
# rcctl start apmd
apmd (ok)
Redémarrer.
Post-installation
/tmp en ram
Je monte /tmp en ram, et j’attribue 1/10 de la RAM disponible pour ça.
On commente avant tout la ligne contenant déjà une entrée pour /tmp dans /etc/fstab.
# sed -i '/\/tmp /s/^/\#/' /etc/fstab
# printf "swap /tmp mfs rw,nodev,nosuid,-s=%sB 0 0\n" \
$(dmesg |awk '/avail mem/ { print int($4 / 10)}') \
>> /etc/fstab
# chmod 1777 /tmp
/home en 700
$ chmod 0700 $HOME
Utilisation d’imprimante
J’ai une imprimante USB, je ne souhaite pas qu’elle soit détectée comme “ulpt”.
Donc :
echo "disable ulpt" >> /etc/bsd.re-config
softdeps,noatime
L’option softdeps permet d’accélérer l’utilisation des disques. Attention, en cas de crash, il y a plus de risques d’avoir des pertes malgré le caractère très conservateur du système de fichier d’OpenBSD.
sed -i ‘s/rw,/rw,softdep,/g’ /etc/fstab
On peut aller encore plus loin en ne tenant pas compte des dates d’accès (noatime) :
sed -i ‘s/rw,/rw,softdep,noatime,/g’ /etc/fstab
Ajouter noatime dans fstab(5) pour réduire la fréquence d’écriture au disque dur:
# cp /etc/fstab /etc/fstab.orig
# sed -i 's/rw/rw,noatime/' /etc/fstab
Modifier /etc/installurl
avec un mirroir proche de votre endroit. installurl(5)
Installer les ports utilisés sur l’ancienne machine. pkg_info -tm > pkglist
pour obtenir la liste des ports installés. Copier pkglist
sur le nouvel ordinateur et taper:
# pkg_add -l pkglist
Activer smtpd(8), httpd(8), ifstated(8), ntpd(8), unwind(8).
Restaurer les fichiers de l’ancien système avec duplicity.
# duplicity file:///mnt/nas/backup/thinkpad/home /home/phil
# duplicity file:///mnt/nas/backup/thinkpad/etc /etc.old
# duplicity file:///mnt/nas/backup/www /var/www/htdoc
Modifier les fichiers dans /etc au besoin (/etc/hosts, etc)
Autologin
Si on est le seul utilisateur de la machine et que l’ensemble est chiffré et qu’on éteint son ordi lorsqu’on ne l’utilise pas, alors on peut activer l’autologin pour xenodm :
echo 'DisplayManager._0.autoLogin: user' >> /etc/X11/xenodm/xenodm-config
Dans ce cas, je vous conseille de désactiver la possibilité de fermer la session graphique avec Ctrl-Shift-backspace. Sinon, n’importe qui peut prendre le contrôle de votre session même si vous l’avez verrouillée avec xlock (ou autre).
cat << EOF >> /etc/X11/xorg.conf
Section "ServerFlags"
Option "DontZap" "true"
EndSection
EOF
voilà
Guides utiles
- https://si3t.ch/Logiciel-libre/OpenBSD/Post-install.xhtml
- https://www.romanzolotarev.com/
- https://www.c0ffee.net/blog/openbsd-on-a-laptop/
- https://jcs.org/2019/08/14/x1c7
Par Philippe St-Jacques