OpenBSD 4.7 sur carte RB600A

Procédure d’installation d’OpenBSD 4.7 sur une carte Routerboard RB600A

Récupérer le fichier miniroot47.fs sur le site OpenBSD (là par exemple).

Ecriture de la carte flash 1Gb sous Linux (en supposant que la carte flash soit vu en /dev/hdc) :

# dd if=miniroot47.fs of=/dev/hdc
8064+0 enregistrements lus
8064+0 enregistrements écrits
4128768 octets (4,1 MB) copiés, 1,11394 seconde, 3,7 MB/s

# fdisk -l /dev/hdc
Disk /dev/hdc: 1039 MB, 1039417344 bytes
16 heads, 63 sectors/track, 2014 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes

 Device Boot      Start         End      Blocks   Id  System
/dev/hdc1   *           1           1         256   27  Unknown
Partition 1 does not end on cylinder boundary.
/dev/hdc4               2           8        3528   a6  OpenBSD

Mise en place dans le slot J301 de la RB600A, connexion à la carte par le port série à 115200 8N1; dans le setup choisir le boot device Compact Flash only et boot de l’installation OpenBSD.

Le device réseau à configurer est le tsec0 si le branchement réseau est sur la prise marquée POE (la carte RB600A est compatible avec la norme 803.af).

Dans l’utilitaire fdisk, affecter l’espace libre de la carte flash à une partition de type A6 (OpenBSD) et dans le disklabel accepter la proposition par défaut.

Choisir ftp pour location of sets, la configuration réseau doit évidemment être opérationnelle et choix par défaut des sets.

L’écriture du système sur la carte flash rend l’installation lente.

Au redémarrage, ajout de quelques paquets pratiques pour la suite, ils sont pris dans le répertoire powerpc de l’arborescence des packages :

# export PKG_PATH=ftp://ftp.openbsd.org/pub/OpenBSD/4.7/packages/powerpc/                                       
# pkg_add screen-4.0.3p1-static wget

L’analyse du dmesg montre qu’un certain nombre de devices ne sont pas supportés par le noyau fourni en standard, il faut donc recompiler un nouveau noyau :

# cd /usr/src/
# wget ftp://ftp.openbsd.org/pub/OpenBSD/4.7/sys.tar.gz
# tar -xzf sys.tar.gz
# cd sys/arch/socppc/conf

Créer un fichier config pour la RB600A et l’éditer (fichier RB600A)

# cp GENERIC RB600A

Supprimer tous les devices USB et rajouter ath*  at pci? pour les support des cartes Wifi Atheros.

# vi RB600A
# config RB600A
# cd ../compile/RB600A

La compilation étant relativement longue, il est plus intéressant de la lancer dans une session screen :

# screen
# make depend
# make
# exit

Mettre en place le noyau obtenu et rebooter.

# mv /bsd /bsd.old
# cp bsd /
# reboot

Le dmesg :

The Regents of the University of California.  All rights reserved.
Copyright (c) 1995-2010 OpenBSD. All rights reserved.  http://www.OpenBSD.org

OpenBSD 4.7 (RB600A) #0: Thu Mar 18 20:53:11 CET 2010
 root@mkt236.lekermeur.net:/usr/src/sys/arch/socppc/compile/RB600A
real mem = 134217728 (128MB)
avail mem = 125194240 (119MB)
mainbus0 at root
cpu0 at mainbus0: 8347
obio0 at mainbus0
"wdt" at obio0 offset 0x00200 not configured
com0 at obio0 offset 0x04500 ivec 9: st16650, no working fifo
com0: console
socpcic0 at obio0 offset 0x08500
pci0 at socpcic0 bus 0
"Freescale MPC8343" rev 0x30 at pci0 dev 0 function 0 not configured
vge0 at pci0 dev 11 function 0 "VIA VT612x" rev 0x11: ivec 21, address 00:0c:42:45:85:61
ciphy0 at vge0 phy 1: CS8201 10/100/1000TX PHY, rev. 2
ath0 at pci0 dev 13 function 0 "Atheros AR5413" rev 0x01: ivec 17
ath0: AR5413 10.5 phy 6.1 rf 6.3, FCC2A*, address 00:0c:42:60:96:ee
ipic0 at obio0 offset 0x00700
"mdio" at obio0 offset 0x24520 not configured
tsec0 at obio0 offset 0x25000 ivec 35: address 00:0c:42:45:85:5f
rgephy0 at tsec0 phy 0: RTL8169S/8110S PHY, rev. 2
tsec1 at obio0 offset 0x24000 ivec 32: address 00:0c:42:45:85:60
rgephy1 at tsec1 phy 1: RTL8169S/8110S PHY, rev. 2
"gpio" at obio0 offset 0x00c08 not configured
"beeper" at obio0 offset 0x00500 not configured
"led" at obio0 not configured
"fancon" at mainbus0 not configured
"nand" at mainbus0 not configured
"nnand" at mainbus0 not configured
"flash" at mainbus0 not configured
wdc0 at mainbus0
wd0 at wdc0 channel 0 drive 0: <ULTIMATE CF CARD 1GB>
wd0: 1-sector PIO, LBA, 991MB, 2030112 sectors
wd0(wdc0:0:0): using BIOS timings
wdc1 at mainbus0
vscsi0 at root
scsibus0 at vscsi0: 256 targets
softraid0 at root
root on wd0a swap on wd0b dump on wd0b
WARNING: / was not properly unmounted
WARNING: clock lost 14671 days, using FS time -- CHECK AND RESET THE DATE!
Automatic boot in progress: starting file system checks.
/dev/rwd0a: 28485 files, 354422 used, 134801 free (65 frags, 16842 blocks, 0.0% fragmentat
ion)
/dev/rwd0a: MARKING FILE SYSTEM CLEAN
setting tty flags
pf enabled
starting network
pf enabled
starting network
starting system logger
syslogd: /var/log/maillog: No such file or directory
starting initial daemons: ntpd.
savecore: no core dump
checking quotas: done.
building ps databases: kvm dev.
clearing /tmp
starting pre-securelevel daemons:.
setting kernel security level: kern.securelevel: 0 -> 1
creating runtime link editor directory cache.
preserving editor files.
starting network daemons: sshd sendmail inetd.
starting local daemons:.
standard daemons: cron.
Fri Mar 19 03:44:00 CET 2010

OpenBSD/socppc (mkt236.lekermeur.net) (console)

login:

La carte RB600 a trois interfaces éthernet 10/100/1000; elles sont vues comme eth1, eth2, eth3 sous RouterOs.

Sous OpenBSD, les interfaces éthernet tsec0, tsec1 (eth1 et eth2 sous RouterOs) sont celles du processeur Freescale MPC8349E, la troisième vge0 (eth3 sous RouterOS) celle du chipset VIA Technologies VT6122.