Kerminy HackSpace

Outils du site


ressources:odroid_c4

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
ressources:odroid_c4 [2023/04/02 11:31] – [autologin] jeffressources:odroid_c4 [2024/02/08 17:20] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
 ======  ODROID C4 ====== ======  ODROID C4 ======
 +{{tag>système}}{{tag>Odroid}}
 +
 C'est un Single Board Computer genre Raspberry en mieux  C'est un Single Board Computer genre Raspberry en mieux 
   * https://wiki.odroid.com/odroid-c4/odroid-c4   * https://wiki.odroid.com/odroid-c4/odroid-c4
   * https://www.armbian.com/odroid-c4/   * https://www.armbian.com/odroid-c4/
  
-Notre usage est celui d'une machine de création sonore utilisant des capteurs, cela nécessite l'installation de puredata (purr,pd-l2ork,vanilla) et l'acces correcte aux GPIO, bouton Power (uart,i2c,...)+Notre usage est celui d'une machine de création sonore utilisant des capteurs, cela nécessite l'installation de puredata (purr,pd-l2ork,vanilla) et l'acces correcte aux GPIO, bouton Power (uart,i2c,...), ici c'est la C4 plutôt que la N2 parce qu'elle est plus petite et loge bien dans nos tuyaux.
  
-Il faut utiliser le noyau 4.9 pour avoir un bon compromis avec le 'device tree' des GPIO... et ne pas encore passer sur un 5 ou 6 ! +de https://wiki.odroid.com/odroid-c4/getting_started/os_installation_guide#tab__odroid-c4hc4, récupérer [[https://de.eu.odroid.in/ubuntu_20.04lts/c4-hc4/ubuntu-20.04-4.9-minimal-odroid-c4-hc4-20220228.img.xz | l'image minimale ubuntu focal C4]] 
 +<code c> 
 +apt install odroid-wiringpi odroid-wiringpi-python vim git 
 +journalctl --vacuum-size=1M 
 +echo "SystemMaxUse=5M" >> /etc/systemd/journald.conf 
 + 
 +</code> 
 + 
 +<code> 
 +root@odroid:~# gpio readall 
 + +-----+-----+---------+------+---+--- C4 ---+---+------+---------+-----+-----+ 
 + | I/O | wPi |   Name  | Mode | V | Physical | V | Mode |  Name   | wPi | I/O | 
 + +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+ 
 +            3.3V |      |    1 || 2  |        | 5V      |         | 
 + | 493 |   8 |   SDA.2 | ALT1 | 1 |  3 || 4  |        | 5V      |         | 
 + | 494 |   9 |   SCL.2 | ALT1 | 1 |  5 || 6  |        | 0V      |         | 
 + | 481 |   7 |  IO.481 |   IN | 1 |  7 || 8  | 1 | ALT1 | TxD1    | 15  | 488 | 
 +              0V |      |    9 || 10 | 1 | ALT1 | RxD1    | 16  | 489 | 
 + | 479 |   0 |  IO.479 |   IN | 1 | 11 || 12 | 1 | IN   | IO.492  | 1   | 492 | 
 + | 480 |   2 |  IO.480 |   IN | 1 | 13 || 14 |        | 0V      |         | 
 + | 483 |   3 |  IO.483 |   IN | 1 | 15 || 16 | 1 | IN   | IO.476  | 4   | 476 | 
 +            3.3V |      |   | 17 || 18 | 1 | IN   | IO.477  | 5   | 477 | 
 + | 484 |  12 |    MOSI | ALT4 | 1 | 19 || 20 |        | 0V      |         | 
 + | 485 |  13 |    MISO | ALT4 | 1 | 21 || 22 | 1 | IN   | IO.478  | 6   | 478 | 
 + | 487 |  14 |    SLCK | ALT4 | 1 | 23 || 24 | 1 | OUT  | SS      | 10  | 486 | 
 +              0V |      |   | 25 || 26 | 0 | IN   | IO. 23  | 11  | 433 | 
 + | 474 |  30 |   SDA.3 | ALT2 | 1 | 27 || 28 | 1 | ALT2 | SCL.3   | 31  | 475 | 
 + | 490 |  21 |  IO.490 |   IN | 1 | 29 || 30 |        | 0V      |         | 
 + | 491 |  22 |  IO.491 |   IN | 1 | 31 || 32 | 0 | IN   | IO. 24  | 26  | 434 | 
 + | 482 |  23 |  IO.482 |   IN | 0 | 33 || 34 |        | 0V      |         | 
 + | 495 |  24 |  IO.495 |   IN | 0 | 35 || 36 | 1 | OUT  | IO. 22  | 27  | 432 | 
 +      25 |   AIN.2 |      |   | 37 || 38 |        | 1V8     | 28  |     | 
 +              0V |      |   | 39 || 40 |        | AIN.0   | 29  |     | 
 + +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+ 
 + | I/O | wPi |   Name  | Mode | V | Physical | V | Mode |  Name   | wPi | I/O | 
 + +-----+-----+---------+------+---+--- C4 ---+---+------+---------+-----+-----+ 
 + 
 +</code> 
 +===== Ajout bouton on/off ===== 
 +Connexion du bouton sur 9/11 
 + 
 +ajouter dans /media/boot/boot.ini dans la section Boot Args juste apres la ligne bootargs en surcharge  
 + 
 +<code c> 
 +### in case of GPIOX.3 (Pin 11) of 2x20 pins connector 
 +setenv gpiopower "479" 
 +setenv bootargs ${bootargs} gpiopower=${gpiopower} 
 +</code> 
 + 
 +===== Ajout interface graphique ===== 
 +Un bureau fluxbox minimaliste consommant moins de 300Mo (mieux que les 800 de mate ou 600 de xfce),\\ 
 +sous root pour minimiser les temps de latence (attention aux connexion...) 
 +<code c> 
 +apt install xserver-xorg-core xserver-xorg-input-libinput xinit dbus-x11 xfonts-base x11-xserver-utils x11-utils libgl1-mesa-dri mesa-utils mesa-utils-extra 
 +apt install vim fluxbox xterm  xfonts-base x11-xserver-utils 
 +apt install pcmanfm xpad avahi-daemon # options 
 +echo "startfluxbox" > /root/.xsession 
 +</code> 
 +<code> 
 +echo " 
 +# fluxbox startup-script: 
 +#  ~/.fluxbox/startup 
 +# Lines starting with a '#' are ignored. 
 +# doit finir par exec fluxbox 
 +#fbsetbg -l 
 +fbsetroot -solid black 
 + 
 +xterm -T 'Top' -e /usr/bin/top & 
 +/root/.fluxbox/x11vnc.sh 2>&1 > /tmp/x11vnc.log & 
 +exec fluxbox -log ~/.fluxbox/fluxbox.log 
 +" > /root/.fluxbox/startup 
 +chmod 755 /root/.fluxbox/startup 
 +</code> 
 +menu fluxbox ./fluxbox/menu 
 +<code> 
 +[begin] (Fluxbox) 
 +  [exec] (Bash) { /usr/bin/xterm -T "Bash" -e /bin/bash --login} <> 
 + 
 +  [exec] (ROX) {rox-filer} <> 
 +  [exec] (Xkill) {xkill} <> 
 +  [exec] (Xrefresh) {xrefresh} <> 
 +  [submenu] (Monitoring) {} 
 +       [exec] (Pstree) { xterm -T "Pstree" -e /usr/bin/pstree.x11} </usr/share/
 +ixmaps/pstree16.xpm> 
 +       [exec] (Top) { xterm -T "Top" -e /usr/bin/top} <> 
 +       [exec] (Top) { xterm -T "HTOP" -e /usr/bin/htop} <> 
 +       [exec] (Xconsole) {xconsole -file /dev/xconsole} <> 
 +       [exec] (Xload) {xload} <> 
 +  [end] 
 + 
 +   [submenu] (Styles) {} 
 +      [stylesdir] (/usr/share/fluxbox/styles) 
 +      [stylesdir] (~/.fluxbox/styles) 
 +   [end] 
 + 
 +   [config] (Configuration) 
 +   [workspaces] (Workspaces) 
 +   [reconfig] (Reconfigure) 
 +   [restart] (Restart) 
 +   [exec] (Power Off) {sudo /sbin/shutdown -h now} 
 +   [exec] (Reboot) {sudo /sbin/shutdown -r now} 
 +   [exit] (Exit) 
 + 
 +[end] 
 +</code> 
 +===== VNC ===== 
 +<code>  
 +apt install x11vnc 
 +x11vnc -storepasswd votre_mot_de_passe ~/.vnc_passwd 
 +echo " 
 +sleep 3 
 +/usr/bin/x11vnc -rfbauth /root/.vnc_passwd -geometry 1024x780 \ 
 + -reopen -bg -avahi -forever -display :0  
 +exit 0 
 +" >/root/.fluxbox/x11vnc.sh 
 +</code> 
 + 
 + 
 +===== audio et Puredata ===== 
 +Une partie particulière pour nos installations audio 
 +<code> 
 +apt install qjackctl puredata- extra multimedia-puredata 
 +</code> 
 +liste des paquets puredata dans cette debian: 
 +{{ :ressources:list_paquet_puredata.txt |}} 
 +---- 
 + 
 +Archives 
 + 
 +Le suivi du noyau est un peu chaotique, ceux téléchargés ne sont pas satisfaisant voir pas fonctionnels ... 
 +je passe par la phase de fabrication d'Armbian : https://docs.armbian.com/Developer-Guide_Build-Preparation/ 
 +<code c> 
 +cd ~ #user odroid précédemment crée 
 +sudo apt-get -y -qq install git   
 +git clone --depth=1 --branch=main https://github.com/armbian/build   
 +cd build 
 +./compile.sh # ATTENTION il faut plus de 16Go sur exclusivement une ubuntu jammy ! 
 +</code> 
 +  * image simple sans bureau 
 +on obtient dans ./build/images/ le fichier Arm...img 
 + 
 +**Sinon**\\ 
 +Il faut utiliser le noyau 4.9 legacy pour avoir un bon compromis avec le 'device tree' des GPIO... et ne pas encore passer sur un 5 ou 6 ! (ce qui est un véritable problème pour le suivi)
   * https://imola.armbian.com/archive/odroidc4/archive/   * https://imola.armbian.com/archive/odroidc4/archive/
   * https://wiki.odroid.com/odroid-c4/os_images/ubuntu   * https://wiki.odroid.com/odroid-c4/os_images/ubuntu
   * Dietpi a aussi des images basées sur armbian pour la partie kernel et trop à jour    * Dietpi a aussi des images basées sur armbian pour la partie kernel et trop à jour 
  
-je récupère : https://wiki.odroid.com/odroid-c4/os_images/ubuntu/mate/20220713 pour avoir un bureau que je viderai, +VNC +...+j'avais  récupèré : https://wiki.odroid.com/odroid-c4/os_images/ubuntu/mate/20220713 pour avoir un bureau que je viderai, +VNC +...De fait en y repassant, les images desktop fournis par Armbian ou Dietpi (qui utilise le noyau armian) ne me sont pas fonctionnelles en version legacy :(
  
-Je me connecte en serie. +Je me connecte en serie par gtkterm
-===== Ménage de ce qui m'est inutile: =====+Dans le cas de l'image récupérée toute faite il faut faire du ménage de ce qui m'est inutile
 <code>  <code> 
 apt remove --purge office* cups shotwell rhythmbox transmission-common transmission-gtk simple-scan poppler-utils apparmor modemmanager brltty mate-desktop pipewire lightdm apt remove --purge office* cups shotwell rhythmbox transmission-common transmission-gtk simple-scan poppler-utils apparmor modemmanager brltty mate-desktop pipewire lightdm
Ligne 21: Ligne 165:
 echo "SystemMaxUse=5M" >> /etc/systemd/journald.conf echo "SystemMaxUse=5M" >> /etc/systemd/journald.conf
 </code>  </code> 
 +===== GPIO =====
 +  * https://bricoles.du-libre.org/xu4 , autogen.sh, configure , make , make install
 +<code>
 +gpio readall
 + +-----+-----+---------+------+---+--- C4 ---+---+------+---------+-----+-----+
 + | I/O | wPi |   Name  | Mode | V | Physical | V | Mode |  Name   | wPi | I/O |
 + +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
 +            3.3V |      |    1 || 2  |        | 5V      |         |
 + | 493 |   8 |   SDA.2 |   IN | 1 |  3 || 4  |        | 5V      |         |
 + | 494 |   9 |   SCL.2 |   IN | 1 |  5 || 6  |        | 0V      |         |
 + | 481 |   7 |  IO.481 |   IN | 1 |  7 || 8  | 1 | IN   | TxD1    | 15  | 488 |
 +              0V |      |    9 || 10 | 1 | IN   | RxD1    | 16  | 489 |
 + | 479 |   0 |  IO.479 |   IN | 1 | 11 || 12 | 1 | IN   | IO.492  | 1   | 492 |
 + | 480 |   2 |  IO.480 |   IN | 1 | 13 || 14 |        | 0V      |         |
 + | 483 |   3 |  IO.483 |   IN | 1 | 15 || 16 | 1 | IN   | IO.476  | 4   | 476 |
 +            3.3V |      |   | 17 || 18 | 1 | IN   | IO.477  | 5   | 477 |
 + | 484 |  12 |    MOSI |   IN | 1 | 19 || 20 |        | 0V      |         |
 + | 485 |  13 |    MISO |   IN | 1 | 21 || 22 | 1 | IN   | IO.478  | 6   | 478 |
 + | 487 |  14 |    SLCK |   IN | 1 | 23 || 24 | 1 | IN   | SS      | 10  | 486 |
 +              0V |      |   | 25 || 26 | 0 | IN   | IO. 23  | 11  | 433 |
 + | 474 |  30 |   SDA.3 |   IN | 1 | 27 || 28 | 1 | IN   | SCL.3   | 31  | 475 |
 + | 490 |  21 |  IO.490 |   IN | 1 | 29 || 30 |        | 0V      |         |
 + | 491 |  22 |  IO.491 |   IN | 1 | 31 || 32 | 0 | IN   | IO. 24  | 26  | 434 |
 + | 482 |  23 |  IO.482 |   IN | 0 | 33 || 34 |        | 0V      |         |
 + | 495 |  24 |  IO.495 |   IN | 0 | 35 || 36 | 0 | IN   | IO. 22  | 27  | 432 |
 +      25 |   AIN.2 |      |   | 37 || 38 |        | 1V8     | 28  |     |
 +              0V |      |   | 39 || 40 |        | AIN.0   | 29  |     |
 + +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
 + | I/O | wPi |   Name  | Mode | V | Physical | V | Mode |  Name   | wPi | I/O |
 + +-----+-----+---------+------+---+--- C4 ---+---+------+---------+-----+-----+
 +===== truc autour du device tree =====
 +  * https://forums.raspberrypi.com/viewtopic.php?t=339588
 +  * https://stackoverflow.com/questions/21670967/how-to-compile-dts-linux-device-tree-source-files-to-dtb
 +
 +/boot/dtb/amlogic# dtc -I dtb -O dts meson-sm1-odroid-c4.dtb -o meson-sm1-odroid-c4.dts
 +
 +:-( ... trop de taf de ce coté du device tree ... je laisse tombé et reviens sur les images Hardkernel Odroid!
 +
 ===== install truc fluxbox ===== ===== install truc fluxbox =====
 +<code c>
 +#si image toute faite 
 apt install software-properties-common apt install software-properties-common
 add-apt-repository ppa:hardkernel/ppa add-apt-repository ppa:hardkernel/ppa
Ligne 27: Ligne 211:
 apt install odroid-wiringpi sudo apt install odroid-wiringpi sudo
 usermod -G sudo odroid #user odroid deja fait usermod -G sudo odroid #user odroid deja fait
-apt install fluxbox xterm  xfonts-base x11-xserver-utils+# dans tous les cas 
 +apt install vim fluxbox xterm  xfonts-base x11-xserver-utils
 apt install pcmanfm xpad # options apt install pcmanfm xpad # options
 +</code>
 ===== Ajout bouton on/off ===== ===== Ajout bouton on/off =====
 Connexion du bouton sur 9/11 Connexion du bouton sur 9/11
  
-ajouter dans /media/boot/boot.ini juste avant # Load kernel, dtb and initrd+ajouter dans /media/boot/boot.ini pour Ubuntu-Odroid ou boot.cmd pour Armbian juste avant # Load kernel, dtb and initrd
 <code c> <code c>
 ### in case of GPIOX.3 (Pin 11) of 2x20 pins connector ### in case of GPIOX.3 (Pin 11) of 2x20 pins connector
 setenv gpiopower "479" setenv gpiopower "479"
 setenv bootargs ${bootargs} gpiopower=${gpiopower} setenv bootargs ${bootargs} gpiopower=${gpiopower}
 +
 +#recompile
 +mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr
 +
 </code> </code>
  
ressources/odroid_c4.1680427895.txt.gz · Dernière modification : 2024/02/08 17:20 (modification externe)