Showing posts with label netbsd. Show all posts
Showing posts with label netbsd. Show all posts

Tuesday, April 23, 2013

IPv6 sur VPS Hetzner / NetBSD

Ayant découvert il y a quelques mois que mon hébergeur (Hetzner) proposait IPv6 sur ses offres VPS, je me suis décidé à l'activer, pour avoir un aperçu de la configuration requise.

Configuration envoyée par Hetzner:
IPs: 2a01:4f8:d13:1d00:: /64
Gateway: 2a01:4f8:d13:1d00::1 /64
Useable IP addresses:
2a01:4f8:d13:1d00::2 to 2a01:4f8:d13:1d00:ffff:ffff:ffff:ffff


On ajoute la première adresse du pool IPv6 à l'interface réseau:
cat /etc/ifconfig.rtk0
inet 78.47.36.230 netmask 0xfffffff0
inet6 2a01:4f8:d13:1d00::2 prefixlen 64


et on définit la passerelle IPv6:
cat /etc/mygate6                                              
2a01:4f8:d13:1d00::1


Après avoir ajouté une entrée de type AAAA sur le registrar DNS (pour moi Gandi) on vérifie que cette entrée est bien accessible:
host -t AAAA libera.cc
libera.cc has IPv6 address 2a01:4f8:d13:1d00::2


Par défaut Apache httpd "écoute" seulement sur IPv4, il faut ajouter "Listen [::]:80" dans /usr/pkg/etc/httpd/httpd.conf:
grep ^Listen httpd.conf 
Listen 0.0.0.0:80
Listen [::]:80


Avons une socket ouverte en IPv6 sur le port 80 ?
sockstat -f inet6  -ln | grep 80
www      httpd      700    4 tcp6   *.80                  *.*
www      httpd      1958   4 tcp6   *.80                  *.*
www      httpd      1971   4 tcp6   *.80                  *.*
root     httpd      2100   4 tcp6   *.80

On peut donc tester depuis une machine cliente si Apache envoie répond bien sur IPv6:
curl -6 libera.cc


Computer says:

Computer says:

Hello World !



Business as usual ...





Saturday, September 17, 2011

Grub2 et FreeBSD/NetBSD

Même si ma propre expérience avec Grub2 a plutôt été décevante, j'ai pris le temps de documenter dans un mail à grub-devel, et dans le wiki Ubuntu la procédure nécessaire pour charger un noyau FreeBSD ou NetBSD depuis GRUB2.

Le support NetBSD permet de faire des choses bien pratiques, comme installer un système NetBSD directement depuis GRUB2, en chargeant le kernel-INSTALL depuis une partition Linux.  C'est la procédure que j'ai suivie pour installer NetBSD sur un serveur KVM hosted, où les options d'installation ne proposaient pas ce dernier.

Tuesday, June 21, 2011

Le Multi Boot peut rendre biens des services

Avoir deux OS sur une machine, même si on n'en n'utilise qu'un  permet de vérifier qu'un bug est un bug, et non pas une défaillance du matériel ( carte wifi, graveur, carte ethernet, etc ... ) En général j'installe donc toujours un deuxième OS sur ma machine perso au cas ou. Sur mon bureau, j'ai laissé OSX installé, sur lequel je reboote de temps en temps pour graver un DVD. Sur un netbook, après avoir installé Fedora 15, j'ai installé NetBSD 5.1.

J'ai été agréablement surpris de voire que NetBSD dispose maintenant d'un installeur sur clé USB, et l'installation s'est passé sans grand problème.
NetBSD étant compatible multi boot, et grub pouvant lire le système de fichier FFS de Netbsd, il est possible de charger directement le noyau depuis grub.
Lors de l'installation, il faudra veiller à ne pas installer le boot manager de NetBSD sur le MBR, en répondant "non" dans l'écran suivant:













Et d'ajouter par la suite dans  /boot/grub/menu.lst sur Fedora:

title NetBSD (5.1)
root (hd0,3a)
kernel --type=netbsd /netbsd


hd0 désigne le premier disque dur, 3 désigne la 4 ème partition sur le disque dur ( Grub Legacy numérotant les partitions à partir de 0 ), et a la première entrée du disklabel BSD.

Wednesday, March 17, 2010

pkg_rollling-replace et pkgsrc

Je pense beaucoup de bien de pkgsrc, une infrastructure multi plateforme pour installer des logiciels à partir du code source,  dont je me sers pour bénéficier des dernières nouveautés du libre à côté des outils standards de ma plateforme.
Pkgsrc permet sur OSX d'avoir ainsi git, mplayer, unrar, hatari, gpg, nedit et sur Linux ( Debian ) d'avoir la dernière version de svn et d'openvpn, sans mettre le bazar dans dpkg.

Pour la dernière mise à jour de pkgsrc, je me suis laissé tenté par pkg_rolling-replace en lieu et place de l'habituel pkg_chk. pkg-rolling-replace a le principal avantage par rapport à pkg_chk de faire une mise à jour progressive, alors que pkg_chk deinstalle tout ce qui doit être mis à jour avant de recompiler.
Comme sur ma machine ( PowerPC 1,42 GHz), la compilation de mes 500 paquets prend plusieurs jours, cela représente un intérêt évident.
J'ai documenté sur le wiki netbsd  les étapes utilisées, la commande principale étant

pkg_rolling-replace -rsuvX bmake,bootstrap-mk-files,pax,pkg_install

Deux échecs seulement dans la mise à jour des 506 paquets.

===> Building for physfs-1.0.1nb1
/Volumes/Projects/netbsd/bin/bmake  all-recursive
/bin/sh ./libtool --mode=link gcc  -O2 -pipe -O2 -I/Volumes/Projects/netbsd/include -I/usr/include -D_REENTRANT -D_REENTRANT -D_THREAD_SAFE   -L/V
olumes/Projects/netbsd/lib -L/usr/lib  -Wl,-framework -Wl,Carbon -Wl,-framework -Wl,IOKit -no-undefined -o test_physfs  test_physfs.o ./libphysfs.
la -lpthread -lz
gcc -O2 -pipe -O2 -I/Volumes/Projects/netbsd/pkgsrc/devel/physfs/work/.buildlink/include -D_REENTRANT -D_THREAD_SAFE -Wl,-framework -Wl,Carbon -Wl
,-framework -Wl,IOKit -o .libs/test_physfs test_physfs.o  -L/Volumes/Projects/netbsd/pkgsrc/devel/physfs/work/.buildlink/lib ./.libs/libphysfs.dyl
ib -lpthread -lz
Undefined symbols:
  "_readline", referenced from:
      _main in test_physfs.o
  "_add_history", referenced from:
      _main in test_physfs.o
      _main in test_physfs.o
ld: symbol(s) not found

Ceci est du à un petit LDFLAGS+=      -lreadline manquant et a fait l'objet d'un rapport de bug (#42468) pour aboutir à la conclusion que ceci avait déja été corrigé, et que mon source n'était pas à jour ! Apparemment csup avait manqué quelques répertoires lors de la mise à jour, ou quelque chose a manqué entre la chaise et l'ordinateur lors de l'update.

===> Installing for tex-courier-2008.7340
ERROR: tex-courier-2008.7340 conflicts with installed package(s):
ERROR:     teTeX-texmf-3.0nb16
ERROR: They install the same files into the same place.
ERROR: Please remove conflicts first with pkg_delete(1).

Un cas de paquet renommé, rien de bien méchant après quelques pkg_delete et bmake install, l'erreur disparait.

Tuesday, February 2, 2010

Nouveau Noyau, Nouvelle Plateforme: Palm Pre avec WebOS

Depuis quelques temps déja, je réfléchissais à l'idée d'un nouveau téléphone, avec Wifi et vrai clavier, et possédant pourquoi pas un Unix libre embarqué. Un smartphone avec du libre en quelque sorte. Il existe actuellement trois plateformes de téléphonie mobile basées sur Linux:
  * Maemo ( pour le Nokia N900 )
  * WebOS ( pour le Palm Pre )
  * Android ( pour différents modèles, entre autres le Motorola Milestone )

Quand à OpenMoko, la plateforme semble etre encore au stade du développement, et ne supporte pas l'UMTS. Enfin il semblerait que le Sidekick LX 2009 utiliserait le noyau NetBSD, mais il s'agit plus de suppositions que de faits prouvés.

Je me suis finalement décidé pour un Palm Pre avec clavier QWERTZ acheté sur ebay 266 €, essentiellement pour des raisons de taille de l'appareil, le Palm Pre étant le plus petit des smartphones unix-based. Je n'ai en effet aucune envie de poser mon téléphone sur la table à chaque fois que je m'assieds, comme les possesseurs d'iPhone. De plus je savais qu'au moins un développeur Debian (Joey Hess ) avait installé un chroot Debian sur cet appareil.

Après réception de l'engin, je ne suis pas décu du tout. Tout d'abord le Palm Pre est vendu sans Simlock par O2 en Allemagne, ce qui le rend  utilisable sur mon réseau. Ensuite en branchant le Pre sur le port USB on trouve sur la flash le document opensource.pdf, qui contient le nom et licences des produits utilisés, de bsdiff à script.aculo.us.
Ensuite contrairement à certains portables android et iPhones qui ont besoin de cracks postés sur des forums par Jean Kevin, il suffit d'installer le SDK de Palm et d'activer le mode développeur du Palm en suivant la documentation officielle de Palm pour avoir un accès complet au téléphone. Un shell root nous nous sommes bien compris.

Enfin le SDK WebOS ( basé sur VirtualBox et Eclipse ) est multiplateforme, étant supporté sous GNU/Linux, Windows et OSX.

Évidemment tout n'est pas rose sur la plateforme, comme le fait que Palm vous oblige par défaut à créer un compte sur leurs serveurs pour activer le téléphone au démarrage du téléphone ( mais on peut par ailleurs désactiver l'activation avec une ROM custom, ce que j'ai fait)
C'est en quelque sort d'ailleurs plus le hardware qui est non est bridé, que la plateforme, dont l'interface graphique n'est pas libre.

Enfin pour ceux  qui réfléchissent à l'achat d'un smartphone linux, ( et ils doivent être nombreux, étant donné que le marché du smartphone connait une croissance à deux chiffres ) je conseille vivement l'installation des SDK WebOS, Maemo ou Android qui permettent de se faire une très bonne idée du logiciel du téléphone avant l'achat.

Le SDK WebOS permet ainsi de tester le navigateur Web inclus dans le téléphone, et de simuler les "taps" des doigts sur l'écran avec des clics de souris.

Note Complémentaire: oui, on peut aussi passer des appels téléphoniques dessus.

Saturday, January 9, 2010

Pygrub et Wikis

Le mois dernier, je me suis pensé sur pygrub, un petit utilitaire bien pratique de Xen 3.2 et plus, qui permet à une VM Xen d'avoir son propre noyau indépendamment du noyau du dom0, et contenu dans son propre FS.
Très pratique pour mettre à jour le noyau du domU sans rien toucher au dom0.
Plus de détails sur cette doc écrite pour le wiki Debian.

Une petite déception d'ailleurs en parlant de Wiki, alors que le Wiki Debian est ouvert en écriture à tous,  NetBSD a apparemment décidé en Novembre dernier de créer un Wiki officiel ouvert uniquement aux développeurs, au lieu de rendre officiel le Wiki communautaire de Zafer Eydogan, déjà bien rempli.

Debian et Ubuntu utilisent des Wikis ouverts en écriture à tous (ainsi que le squad), et le contenu de ces wikis n'est en rien décevant.

Tuesday, January 6, 2009

Barrières de langue

J'utilise depuis maintenant longtemps Linux et BSD, et une différence notable des deux systèmes m'est apparu récemment de façon nette en lisant Les Cahiers de l'Admin BSD:
" Si lire l'anglais technique représente un obstacle insurmontable, les BSD ne sont probablement pas faits pour vous."
De même sur sur la FAQ BSD du wiki gcu commence ainsi:
"Primo : apprendre l'anglais."

Pour FreeBSD et OpenBSD le manuel et la plupart des pages du site web sont traduits en français. Sur NetBSD, l'installateur est disponible en français. Mais les pages de man, qui restent la documentation de référence ne sont disponibles qu'en anglais sur les trois systèmes.
Ainsi donc si vous voulez utiliser un BSD n'oubliez pas ce pré requis: compréhension de l'anglais technique requise ! Si vous écorchez trop l'anglais, on créera peut être un jour un live cd BSD en votre hommage.

Une autre barrière, cette fois celle de la langue informatique, est celle du shell, de la console, bref de l'interface texte pour saisir des commandes. Chaque fois que j'ouvre une console que ce soit sous Windows, OS X ou Linux, mon entourage non informaticien ouvre des yeux ébahis, en évoquant WarGames ou encore la lecture en direct de la matrice.
Si vous faites du prosélytisme pour le libre à des non informaticiens, effectuez donc chaque action possible avec l'interface graphique et éditez les fichiers de configuration avec gedit pas avec vi ( Note: Alt-F2 puis 'gksu gedit' peut se révéler très pratique sous Debian, et 'gksudo gedit' sous Ubuntu)

Un des buts sociaux du logiciel libre est l'empowerment de l'utilisateur, qu'on peut traduire par l'augmentation de son autonomie. Ainsi le logiciel libre permet de choisir son système d'exploitation, son navigateur web, son éditeur de texte, le format d'encodage de sa musique, et de modifier chacun de ces composants si l'on en a l'envie et la compétence.
Mais malheureusement la difficulté technique du passage à Unix entraîne souvent une dépendance de fait envers le prosélyte qui vous l'a installé. Si vous préférez lire Platon en grec ancien pour la richesse de la langue, la meilleure de façon de faire découvrir la philosophie grecque est sans doute d'offrir une traduction en français.
Similairement, même si la ligne de commande vous permet de faire dans une boucle shell les choses dix fois rapidement qu'avec synaptic ou les paquets PBI, ce n'est pas la meilleure façon
de présenter les Unix libres aux non informaticiens.

Tuesday, April 22, 2008

Worse Is Better versus The Right Thing dans le logiciel libre

Worse is better, qui pourra se comprendre schémaiquement en "le plus c'est simple, le mieux ce sera tire son nom d'un article du spécialiste Lisp Richard Gabriel. Dans cet article écrit en 1989, Richard Gabriel explique comment Unix et le C l'ont emporté commercialement et dans la recherche par rapport à Lisp et aux machines Lisp, bien que celles ci semblaient initialement bien mieux conçues. Pourquoi ? Le développement Worse is Better met l'accent sur la rapidité du développement et la simplicité de l'interface, ce qui permet au logiciel de croire rapidement en fonctionnalités et d'être porté facilement, alors que le développement "The Right Thing" met d'abord l'accent sur la perfection de la conception et de l'implémentation. Un exemple est Mysql versus Postgres, où Mysql a représenté longtemps un SGBDR simple et rapide, mais qui implémentait peu de fonctionnalités SQL ANSI.

Le tableau suivant propose suivant une gradation Worse is Better versus the Right Thing, dans le stack du logiciel libre, suivant ma propre expérience d'administrateur système et diverses lectures.


Références externes:

NB: en aucun cas ce tableau ne représente un quelconque jugement de valeur des logiciels mentionnés.
Un désaccord ? Des exemples a rajouter ? Le document source est disponible ici.

Tuesday, April 1, 2008

Installer une console série pour NetBSD

En ce moment je teste un certain nombre de procédures de migration machine physique ==> machine virtuelle, la dernière en date étant la migration d'un routeur Soekris 4801 dans une machine qemu.
Seulement voila je n'aime pas trop la console SDL sur laquelle boote qemu par defaut et je préfère bien mieux avoir les messages de démarrage de NetBSD dans un terminal X.
Pour cela il faut configurer NetBSD pour utiliser une console série, ce que j'ai documenté sur le wiki gcu (le logiciel libre, ça se documente mieux dans un wiki ) et lancer qemu avec la ligne de commande suivante:

qemu -nographic -hda /fatc/qemu/soekris.img -redir tcp:2222::22

Ce qui nous donne le résultat suivant:

PS : Je suis a la recherche d'un wiki anglophone sympa pour laisser un Multiboot killing Howto qui explique comment migrer votre installation windows existante dans une machine virtuelle utilisable avec vmware player. Si vous avez des idées ...