2022/10/22

Acer Aspire ES 15 et Debian 11.5

Tout ce que j'ai décrit ici est à vos risques!

Installer Debian 11.5 sur un Acer Aspire ES 15, c'est comme une quête d'un jeu vidéo pourri produit par Acer avec des énigmes posées par le BIOS qui ne te donne aucune piste pour les résoudre. Je me questionnerai dorénavant avant d'acheter un ordinateur Acer.

Pour moi, l'installation de Debian 11.5 AMD 64 s'est bien passée. J'avais choisi le partionnement par défaut sur un SSD de 128 Go. C'est au redémarrage du système que la quête a commencée.

Première queète: un message No Boot Device avec une image de disque dur avec un loupe m'apparaît. Je cherche et je tombe sur une procédure qui explique comment réinstaller GRUB 2 et copier à la main un fichier grubx64.efi en bootx64.cfg dans un répertoire /boot/efi/BOOT/. J'ai changé la procédure et la mienne est celle-ci:

  1. Démarrer la clé USB Debian 11.5 AMD 64 Net Install.
  2. Choisir Advanced tools.
  3. Choisir Rescue Mode.
  4. Suivre les indications jusqu'à ce que le mode demande de monter une partition root. Il faut choisir celle que l'installeur a créée. Dans mon cas, /dev/sda2.
  5. Une partition /boot/efi sera détectée et on demandera s'il faut la monter. Choisir de la monter.
  6. Une fois l'invite de commande atteinte, cd /boot/efi.
  7. Il devrait y avoid un dossier nommé debian. Utiliser la commande ls pour confirmer.
  8. Créer un dossier BOOT. EN LETTRE MAJUSCULES!
  9. Entrer la commande cp debian/* . en étant toujours dans le dossier /boot/efi/BOOT/.
  10. Créer le fichier bootx64.efi à partir du fichier grubx64.efi avec cp grubx64.efi bootx64.efi.

Ensuite, je me retrouve bloqué sur un écran qui affiche Security Boot Fail. Il faut entrer dans le BIOS et mettre un mot de passe administrateur/supervisor password/master password ce qui débloque les options dans une aute page du bios pour désactiver le Secure Boot.

À partir de ce moment, Debian démarre finalement.

Pour activer la carte wifi, j'ai dû autoriser les paquets propriétaires en modifiant /etc/apt/sources.list. Il faut commenter les lignes présentes et ajouter les lignes non-free (voir le 3e lien ci-dessous). Le paquet nécessaire est iwlwifi.

Liens qui m'ont aidés:

Mise à jour 2023-09-08: un sudo apt-get dist-upgrade peut briser grub. Pour s'en sortir, à l'invite de commande du grub:

set root=(hd0, gpt2)
set prefix=(hd0, gpt2)/boot/grub
insmod normal
normal

J'ai compris ceci en lisant entre autre ce site https://copyprogramming.com/tutorial/what-to-do-when-i-get-an-attempt-to-read-or-write-outside-of-disk-hd0-error-and-boot-repair-does-not-solve-the-problem 

Terminale Debian e tmux

 I comandi

Su debian: 

sudo apt install tmux
tmux new -s qualcosa_lungo
tmux ls
tmux a -t qualcosa_lungo

Hotkeys

Ognuna chiava si deve premere dopo avere premuto ctrl+b:
%          # aprire un'altro terminale verticale
ctrl+[     # entrare il modo navigazione del terminale con le frecce
ctrl+space # nel modo di navigazione a frece, selezionare testo
alt+w      # copiare il testo

Ubuntu e git

 

I comandi

Questo esempio usa GitLab. 

In un nuovo Ubuntu 20.04:

ssh-keygen -t ed25519
git config --global user.name "User Name"
git config --global user.email "username@domain.com"
git config --global url."git@gitlab.com:".insteadOf "https://gitlab.com/"
git clone git@gitlab.com:orgranization/repo.git

Le spiegazioni

Il primo comando genera una chiave asimmetrica. Due file sarano create. Una di queste finirà con .pub. È la parte pubblica. Il contento è da copiare sul sito di GitLab per autorizzare la chiave.

Il quarto comando forza l'uso di SSH facendo una conversione degli URL di tipo HTTPS in URL di tipo SSH.

Il comando cinque ottiene il code dal server. Quando vedrai il fingerprint, cerchialo su Google per confermare che il server è il vero. Per GitLab, puoi andare qui https://docs.gitlab.com/ee/user/gitlab_com/.


2022/04/30

Ubuntu 22.04 et Wake On Lan

 Pourquoi?

Mettre un ordinateur en veille par ssh et le réveiller à distance.

Les commandes...

Sur l'ordinateur qu'on veut faire dormir et réveiller:

sudo apt update
sudo apt install ethtool
ip a
sudo ethtool enp1s0
echo 'ethtool -s enp1s0 wol g' >> /etc/network/if-up.d/avahi-autoipd
sudo reboot
sudo systemctl suspend

Sur un autre ordinateur:

sudo apt install etherwake
sudo etherwake -i enp1s0 AB:CD:01:02:03:FF
ssh utilisateur@10.0.0.5

Il faut remplacer enp1s0 par l'interface qui connecte les deux ordinateurs.

L'adresse 10.0.0.5 doit être remplacée par l'adresse de l'ordinateur qu'on fait dormir et qu'on réveille. 

Références

https://doc.ubuntu-fr.org/wakeonlan

2022/04/05

folding at home, AMD et i386

Pourquoi?

Si vous voulez installer les pilotes graphiques sous Ubuntu 20.04.4 et tenter d'utiliser le conteneur docker de folding at home. J'avais une R9 390 dans mon cas. J'ai utilisé le fichier deb téléchargeable sous la section Ubuntu x86 64-Bit sur le site d'AMD.

Les commandes...

Il faut vérifier si l'architecture i386 est bien présente dans foreign architectures. Dans mon exemple, j'avais Ubuntu 64bit, donc --print-architecture montrait amd64.

dpkg --print-architecture
dpkg --print-foreign-architectures
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get dist-upgrade

sudo apt-get install ./amdgpu-install-VERSION.deb
sudo apt-get update

sudo amdgpu-install

docker run --name fah0 -d --user "$(id -u):$(id -g)" --volume $HOME/fah/c1:/fah foldingathome/fah-gpu:latest

La config xml qui doit se trouver dans le dossier c1 si on veut utiliser que le CPU:

<config>
  <!-- Set with your user, passkey, team-->
  <user value="anonymous"/>
  <passkey value=""/>
  <team value="0"/>

  <power value="full"/>
  <exit-when-done v='true'/>

  <web-enable v='false'/>
  <disable-viz v='true'/>
  <gui-enabled v='false'/>

  <!-- 16-1= 15 = 3*5 for decomposition -->
  <slot id='0' type='SMP'> <cpus v='15'/> </slot>

</config>

J'avais un CPU 8 coeurs dans ce cas-ci et je me suis fié à l'exemple ici.

La configuration xml pour un GPU (non-testé) devrait avoir l'air de ceci:

<config>
  <!-- Set with your user, passkey, team-->
  <user value="anonymous"/>
  <passkey value=""/>
  <team value="0"/>

  <power value="full"/>
  <exit-when-done v='true'/>

  <web-enable v='false'/>
  <disable-viz v='true'/>
  <gui-enabled v='false'/>

  <!-- 1 slot for GPU -->
  <slot id='0' type='GPU'> </slot>

  <!-- 16-1= 15 = 3*5 for decomposition -->
  <slot id='1' type='SMP'> <cpus v='15'/> </slot>

</config>

Les références...

https://www.linode.com/community/questions/19916/how-do-i-enable-32-bit-support-on-my-64-bit-os

https://www.amd.com/fr/support/graphics/amd-radeon-r9-series/amd-radeon-r9-300-series/amd-radeon-r9-390

https://amdgpu-install.readthedocs.io/en/latest/install-prereq.html#installing-the-installer-package

https://amdgpu-install.readthedocs.io/en/latest/install-script.html

https://hub.docker.com/r/foldingathome/fah-gpu

2022/04/03

docker

Les commandes...

Sur la première machine qui génère l'image:
docker build . -t repository:v1
docker push repository:v1

Sur l'autre machine qui roule l'image:
docker pull repository:v1
docker image
docker run -d --network host 523ab341 sleep infinity
docker ps
docker exec -it 4128974ab3 bash

Pour arrêter:
docker ps
docker stop 4128974ab3

Références

https://docs.docker.com/network/network-tutorial-host/

pipenv

Les commandes...

Sur une première machine:

pipenv shell
pipenv install numpy
pipenv lock
git add *
git commit -m "Ajout de Pipfile et Pipfile.lock"
git push

Ensuite, sur une autre machine:

git pull
pipenv shell
pipenv install --ignore-pipfile

Référence

https://realpython.com/pipenv-guide/#is-pipenv-worth-checking-out