KiCad : Contour de PCB personnalisé

Avec KiCad, le contour et les différents perçages d’une carte sont définis sur la couche Edges.cuts. Or les outils disponibles sont assez basiques (polygones, segment de droite, arcs, courbes de Bézier). Si l’on veut, par exemple, des arrondis sur des angles autre que 90°, c’est quasi impossible à réaliser.
Continue reading

TimeMachine : Migration de AFP vers SMB/CIFS

Le protocole AFP est déprécié depuis presque 10 ans par APPLE qui l’a progressivement remplacé par SMB/CIFS à partir de macOS 10.9 (2016). La partie serveur n’existe plus depuis macOS 11 (2020). Mais avec macOS 26 (2025), le client est supprimé: on nous avait prévenu.

Ci-dessous la méthode que j’ai utilisé pour migrer ma configuration  AFP vers Samba 4:

Procédure:

Installez samba et avahi-daemon:

sudo pkg install samba422 avahi-app

Créez le fichier de configuration /usr/local/etc/smb4.conf :

[global]
	security = user
	server role = standalone server
	encrypt passwords = yes
	passdb backend = tdbsam
	server min protocol = SMB3
	hosts allow = 192.168.1.
	max log size = 50
	#
	# Extensions Apple/TimeMachine
	vfs objects = catia fruit streams_xattr

[homes]
	path = /usr/home/%u
	valid users = %u
	browseable = no
	writable = yes
	create mask = 0644
	directory mask = 0755
	force create mode = 0644
	force directory mode = 0755

[TimeMachine]
	comment = TimeMachine
        path = /usr/local/TimeMachine/%u
	browseable = no
	valid users = luc
	writable = yes
	#
	# Spécifique Time Machine
	fruit:aapl = yes
	fruit:time machine = yes
	fruit:time machine max size = 1.5T
	fruit:locking = none
	fruit:resource = stream
	fruit:metadata = stream
	#
        # Permissions
        create mask = 0644
        directory mask = 0755
        force create mode = 0644
        force directory mode = 0755

Configurez la publication du service SMB avec l’option « TimeMachine » (_disk._tcp) via avahi-daemon en créant le fichier /usr/local/etc/avahi/services/smb.conf:

<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
  <name replace-wildcards="yes">%h</name>
  <service>
    <type>_smb._tcp</type>
    <port>445</port>
  </service>
  <service>
    <type>_adisk._tcp</type>
    <port>445</port>
    <txt-record>sys=waMa=0,adVF=0x100</txt-record>
    <txt-record>dk0=adVN=TimeMachine,adVF=0x81</txt-record>
  </service>
  <service>
    <type>_device-info._tcp</type>
    <port>0</port>
    <txt-record>model=MacPro7,1@ECOLOR=226,226,224</txt-record>
  </service>
</service-group>

Activez/désactivez les nouveaux/anciens services:

sudo sysrc -x netatalk_enable
sudo sysrc samba_server_enable="YES"
sudo service avahi-daemon start
sudo service samba start

Enfin le nettoyage:

sudo pkg remove netatalk3
sudo pkg autoremove

Sous Linux la configuration est la même. Seuls le nom des paquets et l’emplacement des fichiers de configuration diffèrent. Par exemple sous Fedora, il faut installer les paquets samba et avahi

dnf install samba avahi

Les fichiers de configuration sont respectivement:

/etc/samba/smb.conf
/etc/avahi/services/smb.conf

Oldies but goldies

Dernièrement, j’ai dû faire des tests sur une distribution RedHat RHL 7.2/7.3. Notez bien RHL pour « RedHat Linux » et non RHEL (RedHat Enterprise Linux). L’absence du mot « Enterprise » est important ici. Cette version date du début des années 2000 (circa 2002) et correspond, grosso-modo, à une RHEL AS 2 (RedHat Enterprise Linux – Advanced Server). Je vous laisse consulter la page de Wikipedia pour essayer de décrypter les différentes appellations commerciales des distributions RedHat.

Mon problème était de trouver les médias d’installation originaux pour créer une machine virtuelle (VM) sous VMware et/ou Proxmox (KVM). En fait cette version (et bien d’autres) est téléchargeable directement depuis le site d’archive de RedHat. Pour info, la version 7.2 démarre mais se fige (sans kernel panic) dès qu’on active le réseau (Proxmox 8.3). La version 7.3 fonctionne correctement avec les paramètres suivants:

  • CPU : Pentium 3
  • Contrôleur disque : LSI 53C895 1
  • Carte réseau: Realtek 8139 2

Mais l’important n’est pas là: au cours de mes recherches archéologiques, j’ai trouvé un site qui archive des systèmes d’exploitation plus ou moins obsolètes, à savoir l’incroyable fsck.technologies.

Ce site renferme quelques pépites dont, dans le désordre, NextStep/OpenStep, Apple A/UX, SCO UNIX et Xenix, Novell Netware, BeOS, QNX 3, UNIX AT&T SVR4, IRIX, les légendaires UNIX BSD 4x (dont BSDi) et même une version d’AIX (v4.1.4) qu’Apple livrait avec ses Network servers. Ça m’étonnerait qu’elles soient Y2K compatibles.

Enjoy!

Notes

1 : Ne boote pas avec le classique NCR53C810 après installation
2 : Proxmox ne propose pas de WD8003E ou de NE2000: Une honte!
2 : Un système d’exploitation complet avec le réseau, une GUI (Photon) et un navigateur, le tout tenant sur 2 disquettes 1.44Mo.

Développement distant avec VSCode/VSCodium

Le plugin « Open remote – SSH » pour VSCode permet d’éditer/exécuter du code sur une machine distante depuis votre ordinateur de bureau. C’est très pratique pour du dev sur des machines hébergées ou des ordinateurs monocarte sans écran, genre Nanopi/Raspberry PI.

On pourrait faire ça avec des partages SMB et un simple xterm, mais là tout est intégré, il y a même un plugin pour utiliser des Makefiles sur la machine distante 😜: le confort de la vie moderne.

Ça fonctionne parfaitement avec des machines Linux (Testé sur Debian 12 et Rocky 8/9). Pour FreeBSD, la documentation indique d’installer manuellement « vscodium-server » mais ne décrit pas la méthode.
Une autre solution, plus rapide, est d’installer la couche de compatibilité Linux. Cela permet de faire passer la machine distante pour un Linux. Avec ça, l’installation se fera sans douleur. Dans l’ordre:

  • on active le service linux au démarrage
  • on démarre le service (Chargement des modules et montage des FS spécifiques /proc, /dev/shm, etc.)
  • on installe un environnement Linux (Centos 7)
sudo sysrc linux_enable="YES"
sudo service linux start
sudo pkg install linux_base-c7

Si vous êtes plus familier avec les distributions de type Debian, vous pouvez installer un environnement Debian ou Ubuntu avec debootstrap.

Enfin, sur votre ordinateur de bureau (celui où vous utilisez VSCode/VSCodium), éditez le fichier $HOME/.ssh/config et ajoutez une entrée pour votre machine FreeBSD préférée avec les options suivantes:

Host unxdev
    HostName unxbox
    User luc
    RequestTTY force
    SetEnv PATH="/compat/linux/usr/sbin:/compat/linux/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin"

Attention, l’installation peut modifier votre configuration git sur la machine distante. Pensez à sauvegarder le fichier $HOME/.gitconfig.

La source.

Il est préférable d’utiliser VSCodium plutôt que VSCode pour éviter d’envoyer des informations chez son éditeur: VSCodium est un clone de VSCode où la télémétrie est désactivée par défaut.