Translation(s): English - Français - русский - Polski
Debian > Debian GNU > Debian GNU/kFreeBSD > kFreeBSD FAQ
Cette FAQ a encore besoin d'être mise à jour pour la prochaine version Wheezy .
Contents
- Questions de base
- Q. Que signifie le 'k' dans kFreeBSD ?
- Q. Quel est le but de Debian GNU/kFreeBSD?
- Q. Quelle version de kFreeBSD est supportée ?
- Q. Quelles versions de Debian sont disponibles ?
- Q. Quels mirroirs offrent Debian GNU/kFreeBSD ?
- Q. Existe-t-il des instructions pour télécharger et installer kfreebsd, qui ne nécessitent pas de connaissances préalables de Debian ?
- Q. Est-ce qu'il y a une documentation disponible ?
- Q. Qui sont les contributeurs principaux ?
- Q. Quel est le support matériel ?
- Q. Est-ce que Debian planifie de supprimer le support du noyau Linux pour le remplacer par le noyau FreeBSD ?
- Questions Techniques
- Q. Puis-je exécuter Debian GNU/kFreeBSD dans un chroot sous FreeBSD?
- Q. Puis-je partager une partition swap entre GNU/Linux et GNU/kFreeBSD ?
- Q. Puis-je partager des partitions entre GNU/Linux et GNU/kFreeBSD ?
- Q. Quel est le statut du support amd64 ?
- Q. Est-ce qu'il y a un moyen de mettre à jour toute Debian-*bsd existante, en exécutant une installation de FreeBSD (que cela est un sens ou pas)
- Q. Les paquets *.deb peuvent-ils co-exister avec les ports classiques de BSD ?
- Q. Les paquets *.deb pour *bsd sont-ils gérés de la même manière que sous Linux, ou utilisent-ils simplement le système de fichier /usr/local ?
- Q. Qu'en est-il des spécifications que j'ai lues une fois à-propos de l'utilisation de /usr/local seulement par l'administrateur système ? (peut-être que cela concerne uniquement Linux...)
- Q. Existe-t-il des plans pour prendre en charge d'autres jeux d'instructions CPU, tels que ARM, PPC or Sparc64?
- Q. Qu'en est-il des paquets qui utilisent ALSA ?
- Q. Est-ce que la licence de dpkg affect les paquets construits avec, tels que les noyaux kFreeBSD ?
- Q: Quelle interface du noyau syscall est utilisée par les binaires compilés pour Debian GNU/kFreeBSD ?
- Q: Est-il possible d'exécuter des binaires FreeBSD par le noyau de Debian GNU/kFreeBSD ?
- Q: Est-il possible d'exécuter des binaires Linux par le noyau de Debian GNU/kFreeBSD ?
- Q: Comment puis-je paramétrer un pare-feu avec Debian GNU/kFreeBSD ?
- Q. Puis-je exécuter des programmes Java ?
- Q: Comment puis-je paramétrer un système sans disque ?
- Q: Comment puis-je monter le système de fichiers racine par UUID ?
- Q. Quelles commandes de Grub sont nécessaires pour démarrer Debian/kFreeBSD depuis une racine zfs ?
- Q. Comment la configuration de kfreebsd diffère-t-elle en amont et pourquoi ?
- Utilisation de Debian GNU/kFreeBSD
- Q. Où puis-je télécharger kFreeBSD ?
- Q. Comment puis-je graver un CD-ROM ?
- Q. Comment puis-je tracer les appels systèmes ?
- Q. Comment puis-je exécuter FreeBSD nativement dans un chroot sous Debian GNU/kFreeBSD ?
- Q. Comment puis-je exécuter les outils utilisateur FreeBSD natifs facilement ?
- Q. Comment puis-je déboguer le noyau ?
- Q. Est-ce qu'il existe quelque chose comme LXR pour le parcours du codebase de FreeBSD ?
- Q. Quels outils d'espace utilisateur FreeBSD sont toujours manquants ?
- Q. Comment puis-je configurer le calque du clavier dans la console ?
- Q. Comment puis-je faire défiler vers le haut dans la console ?
- Q. Comment puis-je configurer grub pour passer des paramètres au noyau ?
- Q. J'ai spécifié un mauvais périphérique racine dans fstab, comment puis-je le remonter en mode simple utilisateur ?
- Q. Comment utiliser le mode de secours de l'installateur ?
- Q. Comment puis-je utiliser la console série ?
- Q. Je viens juste d'installer Debian GNU/kFreeBSD. Y'a-t-il quelque chose que je puis faire pour aider à le rendre plus populaire ?
- Q. Y'a-t-il le support de ZFS ?
- Q. Puis-je utiliser ZFS en tant que système de fichier racine ou pour /boot ?
- Q. Comment puis-je construire un paquet dans un chroot ?
- Q. Comment puis-je utiliser PF (Packet Filter) ?
- Q. Comment puis-je exécuter cela dans un Xen DomU ?
- Q. Comment puis-je démarrer Debian GNU/kFreeBSD en mode simple utilisateur ?
- Q. Comment puis-je faire pour que le noyau kFreeBSD lance un autre binaire au lieu de of /sbin/init ?
- Q. Qu'est-ce que ce processus inactif et pourquoi utilise-t-il tout le temps CPU disponible ?
- Q. Pourquoi ma carte réseau n'est pas reconnue ?
- Q. Est-ce qu'il y en qui le font fonctionner en production ?
- Q. Quelle est la stabilité de kFreeBSD ?
- Q. Est-ce qu'il y a des benchmarks disponibles ?
- Q. Comment prenez-vous en charge les systèmes de fichiers sous licence GPL ?
- Q. L'horloge système est bloquée ! Comment puis-je changer 'clocksource' ?
- Q. Le noyau n'attend pas assez longtemps pour que les disques se connectent ; échecs pour monter le système de fichier racine
- Questions à-propos du Développement
- Q. Où puis-je vérifier les journaux de buildd pour un paquet particulier de kfreebsd-* ?
- Q. Je suis un responsable Debian. Existe-t-il une machine exécutant GNU/kFreeBSD à laquelle je peux avoir accès ?
- Q. Ai-je la possibilité de choisir la libc à utiliser ?
- Q. Comment devrais-je détecter kfreebsd selon les règles debian ?
- Q. Comment dois-je détecter kfreebsd avec les directives de préprocesseur dans un programme C ?
- Q. Pourquoi le choix d'utiliser la gblic a été fait ?
- Q. Existe-t-il des référentiels pour les éléments non libres qui ont été sortis ?
- Q. Sous quelle licence kFreeBSD est sortie ?
- Q. Les correctifs du noyau sont-ils nécessaires pour rendre le travail de Debian GNU/kFreeBSD sur FreeBSD ?
- Questions sans réponses
Questions de base
Q. Que signifie le 'k' dans kFreeBSD ?
A. C'est une abbréviation pour "kernel of" (noyau de). Par conséquent, "kFreeBSD" signifie "noyau de FreeBSD", et "GNU/kFreeBSD" signifie "GNU avec le noyau de FreeBSD".
Q. Quel est le but de Debian GNU/kFreeBSD?
A. Lisez la réponse sur sa propre page du wiki : Debian GNU/kFreeBSD why.
Q. Quelle version de kFreeBSD est supportée ?
A. Jessie aura le noyau 10.1 et un espace utilisateur. Wheezy avait un noyau 9.0 (par défaut pour les nouvelles installations et les mises à jours) ou en option le noyau 8.3 (mais il pouvait y avoir des fonctionnalités réduites). Squeeze était basée sur le noyau 8.1, lisez les détails.
Q. Quelles versions de Debian sont disponibles ?
A. Debian GNU/kFreeBSD sera mis en vedette avec la sortie officielle de Debian Wheezy. Elle était disponible en tant qu'"aperçu technologique" pour la sortie officielle de Debian Squeeze. Pour connaître plus de détails, lisez la page principale du wiki.
Q. Quels mirroirs offrent Debian GNU/kFreeBSD ?
A. Voir la liste des mirroirs officielle.
Q. Existe-t-il des instructions pour télécharger et installer kfreebsd, qui ne nécessitent pas de connaissances préalables de Debian ?
A. Oui, lisez les manuels d'installation pour kfreebsd-i386 et kfreebsd-amd64. Notez que l'installation depuis une clé USB n'est pas supportée par Squeeze. Si vous ne pouvez pas installer depuis le réseau et que vous n'avez pas de lecteur CD-ROM, vous pouvez exécuter l'installateur sous QEMU puis copiez l'image résultante vers une clé USB :
wget ftp://ftp.debian.org/debian/dists/squeeze/main/installer-kfreebsd-amd64/20110106+squeeze1/images/netboot/mini.iso dd if=/dev/zero of=root.img bs=1M count=0 seek=4k qemu-system-x86_64 -hda root.img -cdrom mini.iso sudo dd if=root.img of=/dev/disk-id/NAME_OF_DEVICE
Si vous voulez juste "jouer" rapidement avec kFreeBSD, vous pouvez simplement récupérer une image QEMU depuis http://people.debian.org/~aurel32/qemu/kfreebsd-amd64/
Il y a aussi certaines captures d'écran d'installation.
Q. Est-ce qu'il y a une documentation disponible ?
A. À part la documentation officielle de Debian, il y a cette page du wiki, et c'est à peu près tout. Votre participation à cette page principale du wiki est la bienvenue. Si vous vous intéressez spécifiquement aux fonctionnalités du noyau alors le FreeBSD handbook pourrait vous fournir des indications même si elles sont destinées aux utilisateurs de FreeBSD.
Q. Qui sont les contributeurs principaux ?
A. Les contributeurs sont principalement : Aurélien Jarno, Petr Salinger, Luca Filipozzi, Robert Millan, Cyril Brulebois.
Q. Quel est le support matériel ?
A. Lisez les instructions d'installations et la documentation en amont.
Q. Est-ce que Debian planifie de supprimer le support du noyau Linux pour le remplacer par le noyau FreeBSD ?
A. Non. Les deux noyaux co-existeront dans Debian.
Questions Techniques
Q. Puis-je exécuter Debian GNU/kFreeBSD dans un chroot sous FreeBSD?
A. Oui, mais vous aurez besoin de :
- Un noyau de FreeBSD, version 9, 10 ou ultérieur.
- De la libc0.1 2.11.3-1 ou ultérieure (disponible dans Wheezy/Sid ou dans toute mise à jour de la Squeeze).
Vous pouvez suivre ce tutoriel pour savoir comment faire pour construire un chroot de Debian GNU/kFreeBSD en utilisant debootstrap (ignorez les références aux environnements Jails de FreeBSD, c'est cependant un problème distinct).
Q. Puis-je partager une partition swap entre GNU/Linux et GNU/kFreeBSD ?
A. Oui, mais ce n'est pas recommandé. Lisez http://www.tldp.org/HOWTO/Linux+FreeBSD-3.html pour connaître les détails sur comment procéder. De même, notez que Linux tend à sauvegarder les données de suspend-to-disk vers la partition swap, ce qui rend le partage de la swap moins attractif.
Q. Puis-je partager des partitions entre GNU/Linux et GNU/kFreeBSD ?
A. Oui, les options recommandées sont ext2fs et zfs.
- Pour ext2fs, lors de la création du système de fichier, utilisez l'option "-O none" à mke2fs pour obtenir de meilleurs résultats.
- Pour zfs, créez le système de fichier depuis GNU/kFreeBSD, et ensuite utilisez zfs-fuse sous GNU/Linux.
Quelques autres systèmes de fichiers peuvent être utilisés pour transférer des données, mais dans une seule direction :
- ufs (que ce soit 1 ou 2) est supporté en lecture seul par Linux. Le support en écriture est hautement expérimental et est susceptibles de provoquer des paniques. ufs n'est plus supporté dans les noyaux construits pour Debian Jessie et ultérieurs.
- Pour ext3fs, kFreeBSD peut seulement y accéder en mode lecture seul.
- Pour ext4fs, kFreeBSD 10.1 sera capable d'y accéder en mode lecture seul.
Pour reiserfs, le support du mode lecture seul a été ajouté dans kfreebsd 6.x (lisez 335019).
Pour xfs, le support du mode lecture seul a été ajouté dans kfreebsd 7.x (lisez 335020 for details). Le support du mode écriture est aussi planifié.
- Pour btrfs, le support du mode lecture seul peut être obtenu en utilisant l'utilitaire grub-mount (notez que cela requiert le support de FUSE, qui peut être activé avec fuse4bsd).
- Le système de fichier udf (utilisé par les DVD) peut être utilisé comme partition en lecture et écriture sous Linux, mais kFreeBSD peut seulement y accéder en mode lecture seul.
Q. Quel est le statut du support amd64 ?
A. Il est un peu mieux que celui pour i386.
Q. Est-ce qu'il y a un moyen de mettre à jour toute Debian-*bsd existante, en exécutant une installation de FreeBSD (que cela est un sens ou pas)
A. Je ne suis pas sûr à ce propos. Vous pouvez préparer un système de fichier sur une partition différente et utiliser chroot pour installer les fichiers de bases de l'installation. Cherchez à l'intérieur de la dernière ISO, il y a l'archive base/base.tgz à l'intérieur de l'image install.iso. Décompressez-la dans le chroot créé.
Q. Les paquets *.deb peuvent-ils co-exister avec les ports classiques de BSD ?
A. Ce n'est pas une bonne idée. Veuillez utiliser un chroot pour faire de telles choses.
Q. Les paquets *.deb pour *bsd sont-ils gérés de la même manière que sous Linux, ou utilisent-ils simplement le système de fichier /usr/local ?
A. De la même manière que tout autre système Debian -- le préfixe habituel est /usr.
Q. Qu'en est-il des spécifications que j'ai lues une fois à-propos de l'utilisation de /usr/local seulement par l'administrateur système ? (peut-être que cela concerne uniquement Linux...)
A. Il n'y a (presque) aucun fichier de n'importe quel *.deb dans /usr/local. Il est vraiment laissé à l'usage de l'administrateur système local.
Q. Existe-t-il des plans pour prendre en charge d'autres jeux d'instructions CPU, tels que ARM, PPC or Sparc64?
A. Il y a eu une tentative de port de MIPS, lisez Debian_GNU/kFreeBSD_MIPS
Q. Qu'en est-il des paquets qui utilisent ALSA ?
Réponse A courte : n'utilisez pas ALSA.
Réponse A longue : Nous avons salsa qui émule des fonctionnalités alsa de base, ce qui est suffisant pour certains paquets, ce qui est loin d'être le cas de tous les autres..
Q. Est-ce que la licence de dpkg affect les paquets construits avec, tels que les noyaux kFreeBSD ?
A. Non.
Q: Quelle interface du noyau syscall est utilisée par les binaires compilés pour Debian GNU/kFreeBSD ?
A: Celle native de FreeBSD.
Q: Est-il possible d'exécuter des binaires FreeBSD par le noyau de Debian GNU/kFreeBSD ?
A: Oui, veuillez juste les utiliser dans un chroot complet avec les bibliothèques de FreeBSD.
Q: Est-il possible d'exécuter des binaires Linux par le noyau de Debian GNU/kFreeBSD ?
A: Aussi longtemps que la couche de compatibilité Linux FreeBSD le permet. Certains liens symboliques peuvent être oubliés. Le chroot d'un linux-i386 de base d'une Etch ou d'une Lenny sous kfreebsd-amd64 et kfreebsd-i386 fonctionne. La couche de compatibilité Linux FreeBSD clame son support depuis syscalls 2.6.16. Veuillez noter que Squeez supporte seulement les noyaux Linux 2.6.18 et ultérieurs, mais vous pouvez tricher et modifier la version annoncée de l'émulation de Linux en paramétrant compat.linux.osrelease via sysctl. Vous avez aussi besoin de debootstrap 1.10.35 ou ultérieur.
Utilisez alors :
sysctl compat.linux.osrelease=2.6.18 debootstrap --foreign --arch=i386 squeeze ./linux-chroot http://http.debian.net/debian
Montez les systèmes de fichiers nécessaires (/dev, /proc, etc) dans le chroot. Ensuite, supprimez /var/cache/apt/archives/sysvinit_* et une fois dans le chroot, exécutez :
dpkg --force-depends -Ei /var/cache/apt/archives/*.deb
Répétez jusqu'à ce que tous les paquets soient installés.
Q: Comment puis-je paramétrer un pare-feu avec Debian GNU/kFreeBSD ?
A: Vous pouvez utiliser PF, le Packet Filter d'OpenBSD, qui a été porté vers le noyau de FreeBSD, et est disponible en tant que partie de la distribution de Debian GNU/kFreeBSD.
Un guide complet sur PF est disponible à http://www.openbsd.org/faq/pf/index.html
Q. Puis-je exécuter des programmes Java ?
A. Oui ! OpenJDK 7 est disponible dans Jessie.
Q: Comment puis-je paramétrer un système sans disque ?
A: Le support pour le démarrage réseau est toujours en cours de travail. Il est possible de le démarrer par quelques modifications, lisez ce HOWTO: http://robertmh.wordpress.com/2011/02/04/diskless-debian-gnukfreebsd-howto/
Q: Comment puis-je monter le système de fichiers racine par UUID ?
A. Ce qui suit s'applique seulement à UFS 2. Utilisez par exemple :
# grub-probe -t fs_uuid --device /dev/ad0s1 4cc08aab6455cf88
pour déterminer l'UUID de votre système de fichiers racine actuel, puis utilisez-le comme suit dans fstab :
/dev/ufsid/4cc08aab6455cf88 / ufs rw 0 1
Notez que votre /boot/grub/device.map peut toujours faire référence au disque par son vrai nom, car il est impossible de faire référence au disque entier par UUID.. Cependant, cela ne semble pas être un problème. Dans les faits, si vous créez un fichier device.map vide, cela semble fonctionner. En appliquant :
--- /etc/grub.d/10_kfreebsd.orig 2011-02-09 22:52:50.000000000 +0200 +++ /etc/grub.d/10_kfreebsd 2011-02-09 22:44:09.000000000 +0200 @@ -136,6 +136,7 @@ case ${GRUB_FS} in zfs) kfreebsd_device=$(grub-probe -t fs_label --device ${GRUB_DEVICE})$(grub-mkrelpath / | sed -e "s,/*@$,,") ;; + ufs2) kfreebsd_device=/dev/ufsid/$(grub-probe -t fs_uuid --device ${GRUB_DEVICE}) ;; *) kfreebsd_device=${GRUB_DEVICE} ;; esac
grub.cfg passera le paramètre root=/dev/ufsid/XXX au noyau. Cela a peut-être été corrigé en amont, bzr revision 2827.
Q. Quelles commandes de Grub sont nécessaires pour démarrer Debian/kFreeBSD depuis une racine zfs ?
A. Depuis "Wheezy", cela est fait pour vous par l'installateur.
En supposant que le zpool dans lequel réside votre système de fichier racine a été créé par l'installateur Debian et qu'il contient également /boot :
kfreebsd /@/boot/kfreebsd-$version.gz kfreebsd_module_elf /@/lib/modules/$version/opensolaris.ko kfreebsd_module_elf /@/lib/modules/$version/zfs.ko kfreebsd_module /@/boot/zfs/zpool.cache type=/boot/zfs/zpool.cache set kFreeBSD.vfs.root.mountfrom=zfs:$name_of_zpool_that_contains_rootfs set kFreeBSD.vfs.root.mountfrom.options=rw boot
Si vous ne savez pas comment votre pool racine zfs est nommé, vous pouvez le trouver de cette manière (depuis l'invite de grub) :
insmod zfsinfo zfsinfo (hdX,Y)
Q. Comment la configuration de kfreebsd diffère-t-elle en amont et pourquoi ?
A. Vous pouvez chercher les changements faits vers sys/amd64/conf/GENERIC pour le 9.x kernel ou 8.x kernel.
Utilisation de Debian GNU/kFreeBSD
Q. Où puis-je télécharger kFreeBSD ?
A. Lisez la page principale du wiki.
Q. Comment puis-je graver un CD-ROM ?
A. Il n'y a rien de spécial à faire, juste à utilier wodim :
apt-get install wodim wodim foo.iso
Q. Comment puis-je tracer les appels systèmes ?
A. Vous pouvez utiliser ktrace/kdump. Ceci est un aide mémoire, lisez les pages de manuels pour les détails :
GNU/Linux | GNU/kFreeBSD |
start: strace -o mytrace -s4096 -f -p PID | start: ktrace -f mytrace -d -p PID |
Q. Comment puis-je exécuter FreeBSD nativement dans un chroot sous Debian GNU/kFreeBSD ?
A. Extraire en premier les binaires depuis l'image ISO de FreeBSD :
wget ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/ISO-IMAGES/8.1/FreeBSD-8.1-RELEASE-i386-disc1.iso mdconfig -a -t vnode -f FreeBSD-8.1-RELEASE-i386-disc1.iso -u 0 mount -t cd9660 -o ro /dev/md0 /mnt mkdir /srv/freebsd-8.1 cat /mnt/8.1-RELEASE/base/base.??|tar vzxf - -C /srv/freebsd-8.1 cat /mnt/8.1-RELEASE/manpages/manpages.??|tar vzxf - -C /srv/freebsd-8.1 umount /mnt mdconfig -d -u 0
Ensuite, monter devfs dans le chroot, avec par exemple :
mount -t devfs devfs /srv/freebsd-8.1/dev
Note : bind-mounting (-t nullfs) /dev ne fonctionne pas ici.
Note 2 : Vous voulez probablement ajouter /srv/freebsd-8.1/dev à /etc/fstab, ainsi il sera monté à chaque démarrage.
Q. Comment puis-je exécuter les outils utilisateur FreeBSD natifs facilement ?
En premier, paramétrer un chroot FreeBSD (lisez la Q&A ci-dessus), puis créer un nouveau fichier nommé /usr/local/bin/freebsd avec ce contenu :
exec chroot /srv/freebsd-8.1 "$@"
rendez-le exécutable. Vous pouvez maintenant exécuter les outils utilisateurs FreeBSD facilement, en préfixant les commandes avec freebsd :
# uname GNU/kFreeBSD # freebsd uname FreeBSD
Q. Comment puis-je déboguer le noyau ?
A. Recompilez le noyau avec les symboles de déboguage et le support pour le débogueur intégré :
# Make sure you have at least 4 gigabytes of disk space. apt-get source kfreebsd-8 cd kfreebsd-8-8.1 export QUILT_PATCHES=debian/patches quilt push -a quilt new debugger.diff quilt add sys/i386/conf/GENERIC editor sys/i386/conf/GENERIC # Add the following options: # makeoptions DEBUG="-g" # options DDB # options KDB dch -i # Add a new changelog entry. # You probably want to use something like "+debugger" in the version number and # UNRELEASED in place of "unstable". quilt refresh debuild sudo debi sudo reboot
Voici un exemple d'une histoire de déboguague :
"ifconfig wlan0 create wlandev ath0" échoue avec "ifconfig: SIOCIFCREATE2: Bad address". En lisant le code source, je devine que cela peut être dû par l'échec de la fonction copyin() dans la fonction wlan_clone_create(). Je tape sur les touches Ctrl+Alt+Esc pour entrer dans l'invite du débogueur et j'ajoute un point d'arrêt à cette fonction :
KDB: enter: manual escape to debugger [thread pid 12 tid 100013 ] Stopped at kdb_enter+0x3d: movl $0,kdb_why db> break wlan_clone_create db> c
ensuite, je passe à la commande défaillante en utilisant :
root@debian:~# ifconfig wlan0 create wlandev ath0 [thread pid 1309 tid 100088 ] Breakpoint at wlan_clone_create: pushl %ebp db>
En utilisant la commande "x/x $ebp,10" , vous pouvez inspecter la pile qui contient les arguments qui sont passés à la fonction wlan_clone_create. Sur kfreebsd-i386, ce qui suit devrait être vrai :
address | contents |
$ebp + 4 | return address (usually the caller unless a tail call optimization is done) |
$ebp + 8 | the first argument |
$ebp+12 | the second argument |
$ebp+16 | the third argument |
... | ... |
Attention, le débogueur convertit silencieusement entre décimal et héxadécimal : 1+4*4 == 11 but 1+(4*4) == 17!
Si le débogueur intégré au noyau est trop primitif à votre goût, vous pouvez aussi utiliser gdb. La solution la plus simple est d'exécuter le système dans un environnement QEMU démarré avec l'option "-s" et de le connecter en utilisant gdb :
gdb flavor-8.1-1-686/sys/i386/compile/DEBCUSTOM/kernel.debug target remote localhost:1234
Q. Est-ce qu'il existe quelque chose comme LXR pour le parcours du codebase de FreeBSD ?
A. Oui, lisez http://fxr.watson.org pour tout ce qui concerne le noyau et cvsweb pour l'espace utilisateur.
Q. Quels outils d'espace utilisateur FreeBSD sont toujours manquants ?
et bien plus...
Q. Comment puis-je configurer le calque du clavier dans la console ?
A. Exécuter "dpkg-reconfigure kbdcontrol".
Q. Comment puis-je faire défiler vers le haut dans la console ?
A. Appuyez sur le verroux de défilement. Ensuite, utilisez la touche 'Page Haut', 'Page Bas' et les touches fléchées du clavier.
Q. Comment puis-je configurer grub pour passer des paramètres au noyau ?
A. Vous avez besoin d'éditer le fichier /etc/grub.d/10_kfreebsd et d'ajouter vos options après cette ligne :
kfreebsd ${rel_dirname}/${basename}
Cela devrait être plus facile dans le futur.
Q. J'ai spécifié un mauvais périphérique racine dans fstab, comment puis-je le remonter en mode simple utilisateur ?
A. Vous pouvez entrer dans le mode simple utilisateur par l'ajout de l'option '-s' au noyau dans grub à la fin de la commande de kfreebsd. Vous pouvez alors monter le système de fichier racine en lecture et écriture avec :
mount -u -o ro /dev/ad0s1 / mount -u -o rw /dev/ad0s1 /
puis, vous fixez votre fichier /etc/fstab. (Deux commandes mount sont nécessaires du fait d'un bogue).
Q. Comment utiliser le mode de secours de l'installateur ?
A. Dans grub, pressez la touche 'e' pour éditer une des entrées d'installation et ajoutez cette ligne :
set kFreeBSD.rescue/enable=true
ensuite, appuyez sur les touches Ctrl+X pour démarrer (l'installateur devrait afficher "Rescue mode" en haut, à gauche de l'écran).
TODO: écrire ceci dans les manuels de kfreebsd-* d-i ; ajouter une entrée GRUB pour faire cela facilement ?
Q. Comment puis-je utiliser la console série ?
A. Ajoutez l'option '-h' au noyau dans grub à la fin de la commande de kfreebsd. Ou l'option '-D' pour activer la sortie série et la sortie de la console, en même temps. Au moins dans Squeeze, vous souhaiterez probablement aussi éditer /etc/inittab et /etc/securetty pour mettre à jour le nom du périphérique série en cuau0.
Q. Je viens juste d'installer Debian GNU/kFreeBSD. Y'a-t-il quelque chose que je puis faire pour aider à le rendre plus populaire ?
A. Oui ! Vous pouvez installer/activer popularity-contest (lisez http://popcon.debian.org/) pour augmenter notre compteur d'utilisateurs. Vous pouvez aussi vous enregister en tant qu'utilisateur de Debian GNU/kFreeBSD dans http://buildd.net/cgi/archvote.phtml. Et, bien-sûr, vous pouvez en parler à vos amis. =)
Q. Y'a-t-il le support de ZFS ?
A: Oui ! Vous avez besoin d'installer le paquet zfsutils, si vous ne l'avez pas déjà fait au moment de l'installation.
apt-get install zfsutils
Q. Puis-je utiliser ZFS en tant que système de fichier racine ou pour /boot ?
A. Oui, et l'installateur pour "Wheezy" vous permet maintenant de le configurer au moment de l'installation ! référence
Dans "Squeeze", vvous ne pouvez pas utiliser GRUB pour démarrer depuis un volume contenant plusieurs disques ni utiliser la compression gzip (la compression par défaut est bonne). Vous voudrez peut-être lire les derniers développements dans GRUB qui rendent cela possible : http://lists.debian.org/debian-bsd/2011/02/msg00125.html.
Si vous n'avez pas repartitionner ce disque à vide, il est probable que l'installation de GRUB échoue plus tard (lisez #614768.
Q. Comment puis-je construire un paquet dans un chroot ?
A. Peut-être en utilisant sbuild. Ou, cela est possible en paramétrant pbuilder, en utilisant le correctif et la configuration mentionnée dans #560332. Andi a noté certaines limitations dans #542837, ce serait sympa d'investiguer.
Q. Comment puis-je utiliser PF (Packet Filter) ?
A. Configurez le dans /etc/pf.conf (lisez man 5 pf.conf), et rechargez pour activer votre ensemble de règles :
sudo pfctl -ef /etc/pf.conf
Q. Comment puis-je exécuter cela dans un Xen DomU ?
A: Le mode HVM fonctionne parfaitement (amd64 et i386). "Jessie" à le support PVHVM pour de meilleures performances.
Pour le mode PV, une saveur spéciale du noyau est disponible dans Wheezy (par exemple kfreebsd-image-8.2-1-xen) mais c'est seulement pour i386 et n'est pas considéré stable en amont.
Q. Comment puis-je démarrer Debian GNU/kFreeBSD en mode simple utilisateur ?
A. Dans GRUB, éditez la ligne d'entrée commençant avec "kfreebsd" et ajoutez l'option "-s" (espace, tiret, "s") à la fin. Puis, démarrez.
Q. Comment puis-je faire pour que le noyau kFreeBSD lance un autre binaire au lieu de of /sbin/init ?
A. Dans GRUB, ajoutez le paramètre kFreeBSD.init_path=/sbin/something, bien que /bin/sh et /bin/bash semblent ne pas fonctionner...
Q. Qu'est-ce que ce processus inactif et pourquoi utilise-t-il tout le temps CPU disponible ?
A. C'est un thread de noyau qui exécute des instructions spécifiques à l'architecture pour économiser de l'énergie quand il n'y a rien d'autre à exécuter. Si vous êtes curieux, lisez "man runqueue" ou regardez le code source.
Q. Pourquoi ma carte réseau n'est pas reconnue ?
A. Les interfaces réseaux supportées par le noyau originel de FreeBSD sont listées à :
http://www.freebsd.org/releases/8.3R/hardware.html#ETHERNET http://www.freebsd.org/releases/9.0R/hardware.html#ETHERNET
Mais si un NIC ou son pilote requiert des blobs non Libre, Debian ne peut les inclure dans nos paquets DFSG-free du noyau. Il n'y a pas encore de méchanisme dans GNU/kFreeBSD pour charger les blobs non Libre si vous les obtenez séparemment, de fait ils ne sont pas du tout disponibles.
Pilotes ou NIC nécessitant des composants non-free :
bce: Broadcom NetXtreme II BCM5706 1000Base-SX
bce: Broadcom NetXtreme II BCM5706 1000Base-T
bce: Broadcom NetXtreme II BCM5708 1000Base-SX
bce: Broadcom NetXtreme II BCM5708 1000Base-T
bce: Broadcom NetXtreme II BCM5709 1000Base-SX
bce: Broadcom NetXtreme II BCM5709 1000Base-T
bce: Broadcom NetXtreme II BCM5716 1000Base-T
- bce: HP NC370F Multifunction Gigabit Server Adapter
- bce: HP NC370i Multifunction Gigabit Server Adapter
- bce: HP NC370T Multifunction Gigabit Server Adapter
- bce: HP NC371i Multifunction Gigabit Server Adapter
- bce: HP NC373F PCIe Multifunc Giga Server Adapter
- bce: HP NC373i Multifunction Gigabit Server Adapter
- bce: HP NC373m Multifunction Gigabit Server Adapter
- bce: HP NC373T PCIe Multifunction Gig Server Adapter
- bce: HP NC374m PCIe Multifunction Adapter
- bce: HP NC380T PCIe DP Multifunc Gig Server Adapter
- bce: HP NC382i DP Multifunction Gigabit Server Adapter
- bce: HP NC382m DP 1GbE Multifunction BL-c Adapter
- bce: HP NC382T PCIe DP Multifunction Gigabit Server Adapter
- ce: Cronyx-Tau32-PCI serial adapter
- cp: Cronyx-Tau-PCI serial adapter
- ct: Cronyx Tau-ISA
- cxgbe: Chelsio PE9000
- cxgbe: Chelsio T302E
- cxgbe: Chelsio T310E
- cxgbe: Chelsio T320X
- cxgbe: Chelsio T302X
- cxgbe: Chelsio T320E
- cxgbe: Chelsio T310X
cxgbe: Chelsio ?T3B10
cxgbe: Chelsio ?T3B20
cxgbe: Chelsio ?T3B02
cxgbe: Chelsio ?T3B04
cxgbe: Chelsio ?T3C10
- cxgbe: Chelsio S320E-CR
- cxgbe: Chelsio N320E-G2
- cxgbe: Chelsio Terminator 4 FPGA
- cxgbe: Chelsio T440-dbg
- cxgbe: Chelsio T420-CR
- cxgbe: Chelsio T422-CR
- cxgbe: Chelsio T440-CR
- cxgbe: Chelsio T420-BCH
- cxgbe: Chelsio T440-BCH
- cxgbe: Chelsio T440-CH
- cxgbe: Chelsio T420-SO
- cxgbe: Chelsio T420-CX
- cxgbe: Chelsio T420-BT
- cxgbe: Chelsio T404-BT
- fatm: FORE PCA200E
- fxp: Intel 82550 Pro/100 Ethernet
- fxp: Intel 82550 Pro/100 Ethernet
- fxp: Intel 82550 Pro/100 Ethernet
- fxp: Intel 82551 Pro/100 Ethernet
- fxp: Intel 82551 Pro/100 Ethernet
- fxp: Intel 82551QM Pro/100 M Mobile Connection
- fxp: Intel 82557/8/9 Pro/100 Ethernet
- fxp: Intel 82557 Pro/100 Ethernet
- fxp: Intel 82557 Pro/100 Ethernet
- fxp: Intel 82557 Pro/100 Ethernet
- fxp: Intel 82558 Pro/100 Ethernet
- fxp: Intel 82558 Pro/100 Ethernet
- fxp: Intel 82559ER Embedded 10/100 Ethernet
- fxp: Intel 82559ER Pro/100 Ethernet
- fxp: Intel 82559 PCI/CardBus Pro/100
- fxp: Intel 82559 Pro/100 Ethernet
- fxp: Intel 82559 Pro/100 Ethernet
- fxp: Intel 82559 Pro/100 Ethernet
- fxp: Intel 82559 Pro/100 Ethernet
- fxp: Intel 82562EM/EX/GX Pro/100 Ethernet
- fxp: Intel 82562ET/EZ/GT/GZ PRO/100 VE Ethernet
- fxp: Intel 82562ET (ICH5/ICH5R) Pro/100 VE Ethernet
- fxp: Intel 82562EZ (ICH6)
- fxp: Intel 82562GX Pro/100 Ethernet
- fxp: Intel 82801BA/CAM (ICH2/3) Pro/100 Ethernet
- fxp: Intel 82801BA (D865) Pro/100 VE Ethernet
- fxp: Intel 82801CAM (ICH3) Pro/100 Ethernet
- fxp: Intel 82801CAM (ICH3) Pro/100 Ethernet
- fxp: Intel 82801CAM (ICH3) Pro/100 Ethernet
- fxp: Intel 82801CAM (ICH3) Pro/100 VE Ethernet
- fxp: Intel 82801CAM (ICH3) Pro/100 VE Ethernet
- fxp: Intel 82801CAM (ICH3) Pro/100 VM Ethernet
- fxp: Intel 82801CAM (ICH3) Pro/100 VM Ethernet
- fxp: Intel 82801CAM (ICH3) Pro/100 VM Ethernet
- fxp: Intel 82801DB (ICH4) Pro/100 Ethernet
- fxp: Intel 82801DB (ICH4) Pro/100 Ethernet
- fxp: Intel 82801DB (ICH4) Pro/100 VE Ethernet
- fxp: Intel 82801DB (ICH4) Pro/100 VE Ethernet
- fxp: Intel 82801DB (ICH4) Pro/100 VM Ethernet
- fxp: Intel 82801DB (ICH4) Pro/100 VM Ethernet
- fxp: Intel 82801FBM (ICH6-M) Pro/100 VE Ethernet
- fxp: Intel 82801GB (ICH7) 10/100 Ethernet
- fxp: Intel Pro/100 946GZ (ICH7) Network Connection
- fxp: Intel Pro/100 VE Network Connection
- fxp: Intel Pro/100 VM Network Connection
- sf: Adaptec ANA-62011 (rev 0) 10/100BaseTX
- sf: Adaptec ANA-62011 (rev 1) 10/100BaseTX
- sf: Adaptec ANA-62020 10/100BaseFX
- sf: Adaptec ANA-62022 10/100BaseTX
- sf: Adaptec ANA-62044 (rev 0) 10/100BaseTX
- sf: Adaptec ANA-62044 (rev 1) 10/100BaseTX
- sf: Adaptec ANA-69011 10/100BaseTX
- sn: SMC91C90/91C92
- sn: SMC91C94/91C96
- sn: SMC91C95
- sn: SMC91C100
- sn: SMC91C100FD
- sn: SMC91C110
- ti: 3Com 3c985-SX Gigabit Ethernet
- ti: Alteon AceNIC 1000baseSX Gigabit Ethernet
- ti: Alteon AceNIC 1000baseT Gigabit Ethernet
- ti: Farallon PN9000SX Gigabit Ethernet
- ti: Netgear GA620 1000baseSX Gigabit Ethernet
- ti: Netgear GA620 1000baseT Gigabit Ethernet
- ti: Silicon Graphics Gigabit Ethernet
- txp: 3Com 3cR990B-SRV Etherlink Server with 3XP Processor
- txp: 3Com 3cR990B-TXM Etherlink with 3XP Processor
- txp: 3Com 3cR990-SRV-95 Etherlink Server with 3XP Processor
- txp: 3Com 3cR990-SRV-97 Etherlink Server with 3XP Processor
- txp: 3Com 3cR990-TX-95 Etherlink with 3XP Processor
- txp: 3Com 3cR990-TX-97 Etherlink with 3XP Processor
Veuillez considérer l'usage d'un NIC différent si possible ; essayez d'en trouver un qui soit supporté par un pilote DFSG-free. Les vieilles NIC PCI 100base-T ou même les Gigabits sont souvent peu chères et très faciles à trouver. Ils fonctionneront probablement mieux et vous épargneront beaucoup de problèmes.
Mais si vous voulez être sûr d'avoir un noyau personnalisé avec des blobs non-free intégrés, voici des instructions :
http://bugs.debian.org/642468#10
(Vous pouvez utiliser "apt-get source kfreebsd-9" pour avoir les sources du noyau les plus récentes, au lieu de la ligne de commande wget suggérée ici).
Q. Est-ce qu'il y en qui le font fonctionner en production ?
A: Les systèmes Debian GNU/kFreeBSD sont utilisés par certains des développeurs en tant que station de travail, et même pour certains en tant qu'environnement de production comme serveurs web, serveurs de mails, serveurs de fichiers (ZFS avec NFS ou Samba ou iSCSI [istgt], points d'accès wifi (hostapd) et bien plus.
Si vous utilisez GNU/kFreeBSD en production quelque soit l'intérêt, mentionnez-le ici !
Le dépôt Git et http://cvs.gnupg.org/ de GnuPG fonctionnent grâce à GNU/kFreeBSD depuis au moins deux ans (référence), bien qu'il semble exécuter Linux depuis Octobre 2013 (après un apparent problème matériel).
Q. Quelle est la stabilité de kFreeBSD ?
A: Le noyau de FreeBSD est généralement très stable, et les issues de sécurité requièrent rarement un redémarrage.
J'utilise "Wheezy" avec un noyau 9.0 et ZFS sur des serveurs en production. Un serveur mail a atteint 606 jours d'uptime continu jusqu'à ce qu'il souffre de dysfonctionnement matériel.
ZFS peut être instable sur kfreebsd-i386, ou sur des systèmes manquant de RAM. 2 GiB de mémoire système au total est assez pour certaines charges de travail, mais 4 GiB est recommandée. La fonctionnalité optionnelle 'deduplication' requiert considérablement plus de mémoire (probablement au moins 8 GiB).
Il y a vait, dans le passé, des problèmes pour exécuter GNU/kFreeBSD dans certaines versions de VirtualBox. Cependant, il semble parfaitement stable sur Xen et KVM.
Q. Est-ce qu'il y a des benchmarks disponibles ?
GNU/kFreeBSD est parfois présenté dans des articles et benchmarks de Phoronix, mais une configuration et un réglage corrects font probablement la plus grande différence dans tous les cas d'utilisation.
Benchmarks de la sortie de "Jessie" à venir - fonctionnant aussi bien que GNU/Linux dans la plupart des tests ; cependant, UFS sans softupdates est plus lent qu'ext4. http://www.phoronix.com/scan.php?page=news_item&px=MTg2MzA
Q. Comment prenez-vous en charge les systèmes de fichiers sous licence GPL ?
A: Le code sous licences GPL ou CDDL (par exemple ZFS) est compilé séparemment, chargeable en tant que modules du nyau ; vous ne devriez pas utiliser les deux en même temps à cause de leurs licences incompatibles.
Dans kfreebsd-9 et ultérieur, ext2fs a été réimplémenté avec du code sous licence BSD, donc il peut être utilisé simultanément avec ZFS.
Q. L'horloge système est bloquée ! Comment puis-je changer 'clocksource' ?
A. Lisez la sortie de sysctl kern.timecounter pour obtenir les sources d'horloge disponibles et utilisez sysctl kern.hardware pour voir ou surcharger le paramètre par défaut.
Beaucoup d'applications dépendent d'une source d'horloge fiable. Les symptômes d'une horloge dysfonctionnelle seraient : la sortie de date qui ne change pas, top qui se bloque, ntpd qui démarre mais qui refuse les connexions depuis ntpq, ntpdate qui se bloque, l'invite de session qui n'apparaît pas sur les consoles locales alors que getty est focntionnelle.
Vous pouvez sélectionner une source d'horloge différente au démarrage en utilisant une option de GRUB, telle que "set kFreeBSD.kern.timecounter.hardware=i8254" mais cela ne fonctionne pas...
Pour désactiver une horloge ACPI boguée, vous pouvez utiliser un paramètre GRUB de démarrage "set kFreeBSD.debug.acpi.disabled=timer". Le noyau se tourne vers une autre source d'horloge, telle que TSC ou i8254.
Q. Le noyau n'attend pas assez longtemps pour que les disques se connectent ; échecs pour monter le système de fichier racine
A. Vous pouvez utiliser les paramètres GRUB 'set kFreeBSD.kern.cam.scsi_delay=2000' pour les disques SCSI, ou 'set kFreeBSD.kern.cam.boot_delay=60000' pour les autres (tels qu'un USB, qui sont les plus susceptibles de souffrir de ce problème). Cela paramètre un temps maximum en millisecondes à attendre que le périphérique donné par 'vfs.root.mountfrom' se connecte, avant d'abandonner.
Questions à-propos du Développement
Q. Où puis-je vérifier les journaux de buildd pour un paquet particulier de kfreebsd-* ?
A. À l'endroit habituel de presque tous les journaux de compilation : https://buildd.debian.org/status/
Q. Je suis un responsable Debian. Existe-t-il une machine exécutant GNU/kFreeBSD à laquelle je peux avoir accès ?
A. Oui, lisez http://io.debian.net/ et http://asdfasdf.debian.net/. Tous les DD ont un compte automatiquement.
Q. Ai-je la possibilité de choisir la libc à utiliser ?
A. Non.
Q. Comment devrais-je détecter kfreebsd selon les règles debian ?
A. Si vous devez vraiment faire quelque chose différemment sur kfreebsd, vous pouvez utiliser :
- ifeq ($(DEB_HOST_ARCH_OS), kfreebsd)
- ..
Q. Comment dois-je détecter kfreebsd avec les directives de préprocesseur dans un programme C ?
A. Jetez un oeil à la table de vérité suivante :
__FreeBSD_kernel__ | __GLIBC__ | __FreeBSD__ | __FreeBSD_version | __GNU__ | |
FreeBSD | Seulement sur certaines versions récentes (NE VOUS FIEZ PAS À CELA !!!) | Non | Oui | Non | |
Debian GNU/kFreeBSD | Oui | Oui | Non | Non | Non |
Debian GNU/Hurd | Non | Non | Non | ||
Debian GNU/Linux | Non | Non | Non | Non |
Q. Pourquoi le choix d'utiliser la gblic a été fait ?
A. Parce que sinon beaucoup plus de paquets auraient besoin de correctifs pour Debian GNU/kFreeBSD. Tous les paquets dans Debian GNU/Linux sont connus pour bien fonctionner avec (e)glibc. Donc, la plupart du travail est dans un seul paquet, la libc. Le port Debian GNU/NetBSD qui n"est plus actif a essayé d'utiliser la libc de BSD, mais n'a pas utilisé la glibc, ce qui est probablement une des raisons pour lesquel il a stagné.
Q. Existe-t-il des référentiels pour les éléments non libres qui ont été sortis ?
A. Plus d'informations peuvent être trouvés depuis ce rapport de bogue.
Q. Sous quelle licence kFreeBSD est sortie ?
A: Le noyau est bien sûr sous licence BSD. Mais souvenez-vous que le port est basé sur la GNI libc (LGPL), et beaucoup d'outils essentiels ont pour licence GNU GPL ou d'autres. Veuillez vous réferer au fichier copyright des paquets.
Q. Les correctifs du noyau sont-ils nécessaires pour rendre le travail de Debian GNU/kFreeBSD sur FreeBSD ?
A. Oui, vous pouvez lire les correctifs http://svn.debian.org/wsvn/glibc-bsd/trunk/kfreebsd-8/debian/patches/ mais tous ne sont pas acceptés en amont
Q2: Pourquoi ? A2: Pour certains des correctifs, lisez les lignes de "Status:" dans les correctifs eux-mêmes.