AviGNU - Mot-clé - NetBSDGroupe d'utilisateurs de logiciels libres du Grand Avignon2024-01-02T17:40:01+01:00Administrateururn:md5:8ed776652564792dba453bac492a5a6cDotclearQuel est l'équivalent de prctl () pour les BSD avec le langage Vala ?urn:md5:8f458822421164fb530044d6a216654a2014-05-27T22:46:00+02:002014-05-28T21:28:03+02:00Olivier DuchateauProgrammationBSDCCodeDragonFlyFreeBSDNetBSDOpenBSDVala <p>J'écris ce billet ici, au lieu du wiki, pour qu'il ait plus de visibiliter.</p>
<p>Parfois dans certains projets écris en <a href="https://wiki.gnome.org/Projects/Vala/">Vala</a> on trouve ce bout de code :</p>
<pre>
[...]
[CCode (cheader_filename = "sys/prctl.h", cname = "prctl")]
extern int prctl (int option, string arg2, ulong arg3, ulong arg4, ulong arg5);
[...]
</pre>
<p>On dénomme ce fragement par <em>C code attribut</em> (ou CCode attribut). Il s'agit d'une particularité de ce langage, pour utiliser directement des fonctions « externes ».</p>
<p>Sous Linux la fonction <code>prctl ()</code> permet de nommer un processus (on peut le voir avec <code>top</code>).</p>
<p>Sous les BSD (DragonFly, FreeBSD, NetBSD et OpenBSD) cette fonction n'existe pas. En fait elle s'appelle autrement, <code>setproctitle ()</code>.</p>
<p>Or elle n'est pas présente au même endroit dans chacun des BSD.</p>
<p>Sous DragonFly et FreeBSD, on la retrouve dans <strong>unistd.h</strong>.</p>
<pre>
[...]
[CCode (cheader_filename = "unistd.h", cname = "setproctitle")]
extern static void setproctitle (string fmt, ...);
[...]
</pre>
<p>Sous NetBSD et OpenBSD, on la retrouve dans <strong>stdlib.h</strong>.</p>
<pre>
[...]
[CCode (cheader_filename = "stdlib.h", cname = "setproctitle")]
extern static void setproctitle (string fmt, ...);
[...]
</pre>
<p>Voilà, désormais on peut écrire du code « portable ».</p>Installation pas à pas, du système d'exploitation NetBSDurn:md5:5819f7100a609487294e992dab5093992012-06-22T22:19:00+02:002013-02-14T20:49:04+01:00Olivier DuchateauBSDBSDHowtoNetBSDpkginpkgsrc<p><img src="http://avignu.tuxfamily.org/news-custom/public/NetBSD.png" alt="Logo du système d'exploitation, NetBSD" style="display:block; margin:0 auto;" title="Logo du système d'exploitation" /></p>
<p>Ce billet est consacré à la procédure d'installation de <a href="http://www.netbsd.org/">NetBSD</a>.</p> <p><strong>Note :</strong> Les captures d'écran ont été effectuées sous la prochaine version stable.</p>
<h2>1. Paramétrage de la session du <acronym title="Compact Disc">CD</acronym></h2>
<p>Une des particularités de <strong>NetBSD</strong>, son « l'installateur » est traduit.</p>
<p><a href="http://avignu.tuxfamily.org/news-custom/public/netbsd/screen02.png"><img src="http://avignu.tuxfamily.org/news-custom/public/netbsd/.screen02_s.jpg" alt="sysint - choix de la langue" style="display:block; margin:0 auto;" title="sysint - choix de la langue" /></a></p>
<p>On sélectionne la traduction <strong>française</strong>, ainsi que l'agencement du clavier.</p>
<p><a href="http://avignu.tuxfamily.org/news-custom/public/netbsd/screen03.png"><img src="http://avignu.tuxfamily.org/news-custom/public/netbsd/.screen03_s.jpg" alt="systinst - french" style="display:block; margin:0 auto;" title="systinst - french" /></a></p>
<p><a href="http://avignu.tuxfamily.org/news-custom/public/netbsd/screen04.png"><img src="http://avignu.tuxfamily.org/news-custom/public/netbsd/.screen04_s.jpg" alt="sysinst - keyboard" style="display:block; margin:0 auto;" title="sysinst - keyboard" /></a></p>
<p>Les réglages du clavier seront conservés, une fois l'installation terminée. Elle résume les premières étapes de configuration.</p>
<h2>2. Installation</h2>
<p>On arrive au menu principal de <code>sysinst</code>.</p>
<p><a href="http://avignu.tuxfamily.org/news-custom/public/netbsd/screen05.png"><img src="http://avignu.tuxfamily.org/news-custom/public/netbsd/.screen05_s.jpg" alt="sysinst - main menu" style="display:block; margin:0 auto;" title="sysinst - main menu" /></a></p>
<p>On va sélectionner manuellement les éléments (dans le monde des BSD, on parle de <em>sets</em>) du sytème de base.</p>
<p><a href="http://avignu.tuxfamily.org/news-custom/public/netbsd/screen07.png"><img src="http://avignu.tuxfamily.org/news-custom/public/netbsd/.screen07_s.jpg" alt="systinst- installation" style="display:block; margin:0 auto;" title="systinst- installation" /></a></p>
<p><a href="http://avignu.tuxfamily.org/news-custom/public/netbsd/screen08.png"><img src="http://avignu.tuxfamily.org/news-custom/public/netbsd/.screen08_s.jpg" alt="systinst - sets" style="display:block; margin:0 auto;" title="systinst - sets" /></a></p>
<p>Dans mon cas, j'ai rajouté les <em>man pages</em>, par contre, je n'ai pas choisi d'installer <strong>Xorg</strong> (on peut le faire plus tard).</p>
<p>Ensuite on passe au partitionnement du disque dur.</p>
<p><a href="http://avignu.tuxfamily.org/news-custom/public/netbsd/screen09.png"><img src="http://avignu.tuxfamily.org/news-custom/public/netbsd/.screen09_s.jpg" alt="systinst - disc geometry" style="display:block; margin:0 auto;" title="systinst - disc geometry" /></a></p>
<p>NetBSD occupera la totalité du disque 30<acronym title="giga">G</acronym>.</p>
<p><a href="http://avignu.tuxfamily.org/news-custom/public/netbsd/screen10.png"><img src="http://avignu.tuxfamily.org/news-custom/public/netbsd/.screen10_s.jpg" alt="sysinst - disc" style="display:block; margin:0 auto;" title="sysinst - disc" /></a></p>
<p>On spécifie la taille de chacune des partitions.</p>
<p><a href="http://avignu.tuxfamily.org/news-custom/public/netbsd/screen12.png"><img src="http://avignu.tuxfamily.org/news-custom/public/netbsd/.screen12_s.jpg" alt="sysinst - disc partition" style="display:block; margin:0 auto;" title="sysinst - disc partition" /></a></p>
<p>Voici le résultat, on constate, que le dossier <code>/tmp</code> sera « monté en RAM ».</p>
<p><a href="http://avignu.tuxfamily.org/news-custom/public/netbsd/screen14.png"><img src="http://avignu.tuxfamily.org/news-custom/public/netbsd/.screen14_s.jpg" alt="sysinst - partitionment" style="display:block; margin:0 auto;" title="sysinst - partitionment" /></a></p>
<p>Le dernier message d'avertissement.</p>
<p><a href="http://avignu.tuxfamily.org/news-custom/public/netbsd/screen15.png"><img src="http://avignu.tuxfamily.org/news-custom/public/netbsd/.screen15_s.jpg" alt="sysinst - last chance" style="display:block; margin:0 auto;" title="sysinst - last chance" /></a></p>
<p>La capture ci-dessous montre le formatage d'une des partitions.</p>
<p><a href="http://avignu.tuxfamily.org/news-custom/public/netbsd/screen16.png"><img src="http://avignu.tuxfamily.org/news-custom/public/netbsd/.screen16_s.jpg" alt="newfs" style="display:block; margin:0 auto;" title="newfs" /></a></p>
<p>L'installation des <em>sets</em>.</p>
<p><a href="http://avignu.tuxfamily.org/news-custom/public/netbsd/screen23.png"><img src="http://avignu.tuxfamily.org/news-custom/public/netbsd/.screen23_s.jpg" alt="install sets" style="display:block; margin:0 auto;" title="install sets" /></a></p>
<p>L'installation c'est parfaitement déroulée.</p>
<p><a href="http://avignu.tuxfamily.org/news-custom/public/netbsd/screen24.png"><img src="http://avignu.tuxfamily.org/news-custom/public/netbsd/.screen24_s.jpg" alt="success" style="display:block; margin:0 auto;" title="success" /></a></p>
<p>On peut définir la zone horaire (pour la date et l"heure du système). On a le choix entre :</p>
<ul>
<li><acronym title="Temps Universel Coordonné">UTC</acronym></li>
<li>Europe/Paris</li>
</ul>
<p><a href="http://avignu.tuxfamily.org/news-custom/public/netbsd/screen25.png"><img src="http://avignu.tuxfamily.org/news-custom/public/netbsd/.screen25_s.jpg" alt="timezone" style="display:block; margin:0 auto;" title="timezone" /></a></p>
<p>Le mot de passe pour le compte <strong>root</strong>, et son <em>shell de login</em>.</p>
<p><a href="http://avignu.tuxfamily.org/news-custom/public/netbsd/screen26.png"><img src="http://avignu.tuxfamily.org/news-custom/public/netbsd/.screen26_s.jpg" alt="root-password" style="display:block; margin:0 auto;" title="root-password" /></a></p>
<p><a href="http://avignu.tuxfamily.org/news-custom/public/netbsd/screen27.png"><img src="http://avignu.tuxfamily.org/news-custom/public/netbsd/.screen27_s.jpg" alt="shell" style="display:block; margin:0 auto;" title="shell" /></a></p>
<p>On peut désormais redémarrer son ordinateur, et commencer à configurer son système.</p>
<h2>3. man afterboot</h2>
<p>La première fois, il est conseillé de lire la page <a href="http://netbsd.gw.com/cgi-bin/man-cgi?afterboot+8+NetBSD-5.1">afterboot(8)</a>.</p>
<p>Nous allons tout d'abord modifié le fichier <code>/etc/<a href="http://netbsd.gw.com/cgi-bin/man-cgi?rc.conf+5+NetBSD-5.1">rc.conf</a></code>.</p>
<p>Voici un extrait :</p>
<pre>[...]
hostname=judas.errements.net
# Launch dhcpcd
dhcpcd_flags="-q -b"
critical_filesystems_local="/var"
critical_filesystems_remote="/usr"
clear_tmp=YES
cron=YES
postfix=NO
[...]</pre>
<p>Comme on utilise l'utilitaire, <code>dhcpcd</code>, il nous faut créer le fichier <code>/etc/ifconfig.<eth0></code>. où <strong>eth0</strong> correspond au <em>driver</em> de notre carte réseau. Un simple <code>ifconfig -a</code> permettra de l'indiquer. Sur cet ordinateur ma carte réseau est une <strong>Intel</strong>, pris en charge par <a href="http://netbsd.gw.com/cgi-bin/man-cgi?wm+4+NetBSD-5.1">wm(4)</a>.</p>
<p>Voici le contenu du fichier <code>/etc/ifconfig.wm0</code> pour du DHCP.</p>
<pre>up
dhcp</pre>
<p>Pour avoir immédiatement du réseau sans redémarrer, <code>dhcpcd wm0</code>.</p>
<p>Pour que <a href="http://netbsd.gw.com/cgi-bin/man-cgi?vi+1+NetBSD-5.1">Vi(1)</a> soit plus convivial, on peut créer le fichier <code>/root/.exrc</code> (<em>Cf. annexe</em>).</p>NetBSD sur un iBook G4urn:md5:ac2a257b920030030e58a96905fda42c2010-07-31T20:44:00+02:002010-08-22T09:30:07+02:00Olivier DuchateauBSDNetBSD<p>Ce billet décrit l'installation du système <a href="http://www.netbsd.org/" hreflang="en">NetBSD</a> sur un iBook. Je me suis inspiré de cette <a href="http://wiki.unixboard.de/index.php/NetBSD_-_iBook_installieren">page</a>.</p> <p>J'ai souhaité ne pas conservé <a href="http://fr.wikipedia.org/wiki/Mac_OS_X">MacOS X</a>, donc NetBSD occupera la totalité du disque (56G). De plus, toute la configuration se fera avec un clavier en <strong>QWERTY</strong>.</p>
<h3>Quelques remarques à propos de MacOS X</h3>
<p>Pour démarrer à partir du CD, il faut obtenir le prompt Open Firmware. Il faut appuyer simultanément sur les touches <strong>commande</strong> + <strong>option</strong> + <strong>O</strong> + <strong>F</strong>.</p>
<p>La touche commande est celle où il y a la pomme. Option est la touche <code>Alt</code>.</p>
<p><strong>/!\ Sous le prompt Open Firmware, le clavier est en QWERTY (pour les claviers AZERTY).</strong></p>
<p>Ensuite on va modifier la valeur de l'<code>auto-boot</code>. Par défaut cette valeur est à <strong>true</strong>, on va la mettre à <strong>false</strong>.</p>
<pre> ok
0 > setenv auto-boot? false
0 > reset-all</pre>
<p><strong>Remarque :</strong> On peut faire la même chose sous MacOS X, dans la console tapez :</p>
<pre>sudo su
nvram 'auto-boot?'='false'
exit
</pre>
<h3>Let's go</h3>
<p>Pour <em>booter</em> sur le CD à partir du prompt :</p>
<pre> ok
0 > boot cd:,ofwboot.xcf netbsd.macppc</pre>
<p>On valide le choix de l'émulateur de terminal, mais on ne procède pas à l'installation, il faut choisir <code>(S)hell</code>.</p>
<h4>Le partionnement</h4>
<p>Depuis la version 5.0.x, l'outil de partionnement, <a href="http://netbsd.gw.com/cgi-bin/man-cgi?pdisk+.macppc+NetBSD-current">pdisk(8)</a> est présent dans le média d'installation.</p>
<p><strong> /!\ LE CLAVIER EST EN QWERTY et LE SHELL /bin/sh</strong></p>
<p>On peut lancer cette commande :</p>
<pre># /sbin/pdisk /dev/wd0c
Edit /dev/wd0c -
Command (? for help):</pre>
<p>La lettre "c" correspond à la totalité du disque.</p>
<p>On va ré-initialiser la table des partitions grâce à l'option <strong>i</strong>. Cela a également pour effet de supprimer toutes les partitions.</p>
<p>Ensuite, on va créer une partition particulière, qui servira plus tard à stocker le fichier <code>ofwboot.xcf</code>. Cette partition doit être dans le format <strong>HFS</strong> ou <strong><a href="http://en.wikipedia.org/wiki/HFS_Plus" hreflang="en">HFS+</a></strong>.</p>
<ul>
<li>option : C (<strong>C majuscule</strong>)</li>
<li>offset : 2p (car c'est la deuxième partition)</li>
<li>size : 32m</li>
<li>type : Apple_HFS</li>
<li>name : boot (le nom n'a aucune importance)</li>
</ul>
<p>Maintenant, on va partitionner le disque pour installer le futur système.</p>
<p>Pour la racine :</p>
<ul>
<li>option : c (<strong>c minuscule</strong>)</li>
<li>offset : 3p</li>
<li>size : 5g</li>
<li><em>bzb bit</em> : a</li>
<li>name : root</li>
</ul>
<p>Pour la <em>swap</em> :</p>
<ul>
<li>option : c (<strong>c minuscule</strong>)</li>
<li>offset : 4p</li>
<li>size : 1g</li>
<li><em>bzb bit</em> : b</li>
<li>name : swap</li>
</ul>
<p>Pour la partition temporaire (/tmp) :</p>
<ul>
<li>option : c (<strong>c minuscule</strong>)</li>
<li>offset : 5p</li>
<li>size : 512m</li>
<li><em>bzb bit</em> : e</li>
<li>name : tmp</li>
</ul>
<p>Pour la partition /var :</p>
<ul>
<li>option : c (<strong>c minuscule</strong>)</li>
<li>offset : 6p</li>
<li>size : 1g</li>
<li><em>bzb bit</em> : f</li>
<li>name : var</li>
</ul>
<p>Pour la partition /usr :</p>
<ul>
<li>option : c (<strong>c minuscule</strong>)</li>
<li>offset : 7p</li>
<li>size : 35g</li>
<li><em>bzb bit</em> : g</li>
<li>name : usr</li>
</ul>
<p>Pour la partition /home :</p>
<ul>
<li>option : c (<strong>c minuscule</strong>)</li>
<li>offset : 8p</li>
<li>size : 8p (prend la totalité de l'espace libre)</li>
<li><em>bzb bit</em> : h</li>
<li>name : home</li>
</ul>
<p>L'option "p" affiche toutes les partitions (dans mon cas) :</p>
<pre>Command (? for help): p
Partition map (with 512 byte blocks) on '/dev/wd0c'
#: type name length base ( size )
1: Apple_partition_map Apple 63 @ 1
2: Apple_HFS boot 65536 @ 64 ( 32.0M)
3: Apple_UNIX_SVR2 root 10485760 @ 65600 ( 5.0G) S0 RUFS k0 /
4: Apple_UNIX_SVR2 swap 2097152 @ 10551360 ( 1.0G) S1 SFS k0 (swap)
5: Apple_UNIX_SVR2 tmp 1048576 @ 12648512 (512.0M) S2 UFS k0
6: Apple_UNIX_SVR2 var 2097152 @ 13697088 ( 1.0G) S2 UFS k0
7: Apple_UNIX_SVR2 usr 73400320 @ 15794240 ( 35.0G) S2 UFS k0 /usr
8: Apple_UNIX_SVR2 home 28015680 @ 89194560 ( 13.4G) S2 UFS k0
Device block size=512, Number of Blocks=117210240 (55.9G)
DeviceType=0x0, DeviceId=0x0
Command (? for help): </pre>
<p>Pour connaître le véritable nom de chacune de nos partitions <sup>[<a href="http://avignu.tuxfamily.org/index.php?post/2010/07/30/NetBSD-sur-un-iBook-G4#pnote-20-1" id="rev-pnote-20-1">1</a>]</sup>, on doit utiliser <a href="http://netbsd.gw.com/cgi-bin/man-cgi?disklabel+.macppc+NetBSD-current">disklabel(8)</a>.</p>
<pre># disklabel /dev/wd0
# /dev/wd0c:
type: ESDI
disk: FUJITSU MHT2060A
[...]
8 partitions:
# size offset fstype [fsize bsize cpg/sgs]
a: 10485760 65600 4.2BSD 0 0 0 # (Cyl. 65*- 10467*)
b: 2097152 10551360 swap # (Cyl. 10467*- 12548*)
c: 117210240 0 unused 0 0 # (Cyl. 0 - 116279)
d: 65536 64 HFS # (Cyl. 0*- 65*)
e: 2097152 13697088 4.2BSD 0 0 0 # (Cyl. 13588*- 15668*)
f: 73400320 15794240 4.2BSD 0 0 0 # (Cyl. 15668*- 88486*)
g: 1048576 12648512 4.2BSD 0 0 0 # (Cyl. 12548*- 13588*)
h: 28015680 89194560 4.2BSD 0 0 0 # (Cyl. 88486*- 116279)
disklabel: boot block size 0
disklabel: super block size 0</pre>
<p>On constate, qu'il n'y a pas de correspondance entre <strong>pdisk</strong> et <strong>disklabel</strong> au niveau des partitions. Il faut se référer à la taille.</p>
<p>Il faut savoir que : 2097152 correspond à 1g, de plus <strong>a</strong> est toujours la racine, et <strong>b</strong> la swap. On peut ainsi déduire l'ordre des partitions par déduction.</p>
<p>On peut formater les partitions avec <a href="http://netbsd.gw.com/cgi-bin/man-cgi?newfs+.macppc+NetBSD-current">newfs(8)</a>. Il faudra préciser les partitions en <em>raw device</em> et non en <em>bloc device</em> (concrètement on rajoute la lettre "r").</p>
<pre># newfs -m 5 /dev/rwd0a
# newfs -m 5 /dev/rwd0e
# newfs -m 5 /dev/rwd0g
# newfs -m 5 /dev/rwd0f
# newfs -m 5 /dev/rwd0h
</pre>
<p>L'étape suivante consiste à créer le fichier <code>/etc/fstab</code>. Pour cela on va « monter » la partition racine, et créer les différents répertoires correspondant aux autres partitions.</p>
<pre># mount /dev/wd0a /mnt2
# mkdir /mnt2/etc
# mkdir /mnt2/tmp
# mkdir /mnt2/usr
# mkdir /mnt2/var
# mkdir /mnt2/home
</pre>
<p>Ne connaissant pas l'éditeur <a href="http://netbsd.gw.com/cgi-bin/man-cgi?ed+.macppc+NetBSD-current">ed(1)</a>, je passe par la fonction <code>echo</code> pour écrire dans le fichier <code>/mnt2/etc/fstab</code>.</p>
<pre># echo "dev/wd0a / ffs rw 1 1" > /mnt2/etc/fstab
# echo "/dev/wd0b none swap sw 0 0" >> /mnt2/etc/fstab
# echo "/dev/wd0e /var ffs rw,nocoredump 1 2" >> /mnt2/etc/fstab
# echo "/dev/wd0f /usr ffs rw,nocoredump 1 2" >> /mnt2/etc/fstab
# echo "/dev/wd0g /tmp ffs rw,nocoredump 1 2" >> /mnt2/etc/fstab
# echo "/dev/wd0h /home ffs rw,nocoredump 1 2" >> /mnt2/etc/fstab
</pre>
<p>On « démonte » la partition, et on lance <code>sysinst</code>. Il faut choisir cette fois-ci <strong>Réinstaller des composants</strong>.</p>
<p>Si tout c'est parfaitement déroulé, on quitte <code>sysinst</code> pour récuper le shell. On va réaliser un <a href="http://netbsd.gw.com/cgi-bin/man-cgi?chroot+.macppc+NetBSD-current">chroot(8)</a> pour commencer à configuer notre système.</p>
<pre># mount -o rw /dev/wd0a /mnt2
# mount -o rw /dev/wd0f /mnt2/usr
# mount -o rw /dev/wd0e /mnt2/var
</pre>
<p>La partition <code>/var</code> n'est pas nécessaire, par contre si vous comptez utiliser <a href="http://netbsd.gw.com/cgi-bin/man-cgi?vi+.macppc+NetBSD-current">vi(1)</a>, il la faut pour <code>/var/tmp/vi.recover</code>.</p>
<pre># chroot -u root /mnt2 /bin/ksh
</pre>
<p>A partir de là, on est à la racine de notre système. On va tout d'abord mettre le clavier en AZERTY.</p>
<pre># wsconsctl -w encoding=fr
</pre>
<p>Ensuite on va éditer le fichier <code>/etc/rc.conf</code>, voici un extrait :</p>
<pre>[...]
# If this is not set to YES, the system will drop into single-user mode.
#
rc_configured=YES
# Add local overrides below
#
wscons=YES
dhclient=YES
hostname=brigand.errements.net
net_interfaces="gem0"
critical_filesystems_local="/var"
clear_tmp=YES
sshd=YES
cron=YES
postfix=NO
ntpdate=YES
ntpdate_hosts="ntp.obspm.fr"</pre>
<p>Les deux premiers paramètres sont les plus importants.</p>
<p>Dans le fichier <code>/etc/wscons.conf</code> on rajoute cette ligne :</p>
<pre>
[...]
# Select a kernel builtin keyboard map by uncommenting the following line and
# altering the country code to your requirements
# (choose from user, us, uk, de, dk, it, fr, jp, sv, no, es, pt, cz, hu).
# See wsconsctl(8), pckbd(4), ukbd(4) etc. for more details.
encoding fr
[...]</pre>
<p>Pour préparer les futurs utilisateurs les fichiers à modifier / créer :</p>
<ul>
<li>/etc/login.conf</li>
<li>/etc/skel</li>
</ul>
<p>On est prêt à redémarrer la machine. Il faut connaître le numéro de la partition racine, si on l'a oublié, <strong>pdisk</strong>.</p>
<pre># exit
# halt</pre>
<h3>Fin de l'installation</h3>
<p><strong>/!\ Il faut conserver le CD dans le lecteur.</strong></p>
<p>Au prompt de l'OpenFirmware :</p>
<pre> ok
0 > boot cd:,ofwboot.xcf hd:3,/netbsd
</pre>
<p>Normalement la connexion réseau devrait être établie, on va pouvoir installer <a href="http://pkgsrc.se/sysutils/hfsutils">hfsutils</a>. Là il y a plusieurs méthodes :</p>
<ul>
<li>par compilation, via pkgsrc</li>
<li>en le téléchargeant par ftp / <a href="http://netbsd.gw.com/cgi-bin/man-cgi?pkg_add+.macppc+NetBSD-current">pkg_add(1)</a> ou <a href="http://imil.net/pkgin/">pkgin</a></li>
</ul>
<p>A l'heure où j'écris ces lignes, le <em>pkgsrc-bulk</em> pour les PowerPC donne ça comme résultat :</p>
<pre>pkgsrc 2010Q1 bulk build results
NetBSD 5.1/powerpc
Compiler: gcc
Summary:
Build started: Wed May 26 07:34:32 2010 UTC
Build ended: Thu Jun 3 23:42:33 2010 UTC
Successfully packaged: 8266
Packages really broken: 213
Pkgs broken due to them: 283
Total broken: 496
Not packaged: 1
Not available: 292
Total: 497
</pre>
<p><em><a href="http://mail-index.netbsd.org/pkgsrc-bulk/2010/06/04/msg007467.html">source</a></em></p>
<p>On peut formater notre partition de <em>boot</em> (celle qui est formatée en HFS).</p>
<pre># hformat /dev/wd0d
</pre>
<p>On copie le fichier <code>ofwboot.xcf</code> du CD sur cette partition. Il faut au préalable « monter » le CD.</p>
<pre># mount -t cd9660 /dev/cd0a /mnt
# hcopy /mnt/ofwboot.xcf :
</pre>
<p>Le système est enfin prêt.</p>
<h3>Dernières remarques</h3>
<p>A chaque démarrage, pour <em>booter</em>, il faut écrire la ligne suivante :</p>
<pre> ok
0 > boot hd:2,ofwboot.xcf hd:3,/netbsd</pre>
<p>On peut automatiser cette commande :</p>
<pre> ok
0 > setenv boot-device hd:2,ofwboot.xcf
0 > setenv boot-file hd:3,/netbsd
0 > reset-all
</pre>
<p>Désormais à chaque démarrage, au prompt, il suffira de taper <strong>boot</strong>.</p>
<p>Suivant le gestionnaire de bureaux choisit, il faudra créer les partitions <code>/proc</code> et <code>/kern</code>.</p>
<pre># mkdir /proc
# mount -t procfs proc /proc
# mkdir /kern
# mount -t kernfs kernfs /kern
</pre>
<p>On rajoute ces lignes au fichier <code>/etc/fstab</code>.</p>
<pre>[...]
proc /proc procfs rw 0 0
kernfs /kern kernfs rw 0 0</pre>
<div class="footnotes"><h4>Notes</h4>
<p>[<a href="http://avignu.tuxfamily.org/index.php?post/2010/07/30/NetBSD-sur-un-iBook-G4#rev-pnote-20-1" id="pnote-20-1">1</a>] On parle généralement de <em>slices</em>.</p></div>