For installing BSDRP you need a 512Mb Compact Flash/USB stick.
For using BSDRP you need a minimum of 64MB RAM for Qemu and 96MB RAM for XORP.
All hardware supported by FreeBSD 8.0 is supported by BSDRP with the exception of following drivers:
Wireless, PCMCIA cards, SCSI adapters, USB printer, fire wire, etc. that were removed from the FreeBSD kernel.
BSDRP use:
And only theses devices support these modes:
| name | Description | Polling | ALTQ |
|---|---|---|---|
| age | Attansic/Atheros L1 Gigabit Ethernet driver | no | yes |
| ale | Atheros AR8121/AR8113/AR8114 Gigabit/Fast Ethernet driver | no | yes |
| bce | Broadcom NetXtreme II (BCM5706/5708/5709/5716) PCI/PCIe Gigabit Ethernet adapter driver | no | yes |
| bge | Broadcom BCM570x/5714/5721/5722/5750/5751/5752/5789 PCI Gigabit Ethernet adapter driver | yes | no |
| dc | DEC/Intel 21143 and clone 10/100 Ethernet driver | yes | yes |
| de | DEC DC21x4x Ethernet device driver | no | yes |
| ed | NE-2000 and WD-80×3 Ethernet driver | no | yes |
| em | Intel(R) PRO/1000 Gigabit Ethernet adapter driver | yes | yes |
| ep | Ethernet driver for 3Com Etherlink III (3c5x9) interfaces | no | yes |
| fwip | standard IP over FireWire (IEEE 1394) based on the protocols described in RFC 2734 and RFC 3146 | yes | no |
| fxp | Intel EtherExpress PRO/100 Ethernet device driver | yes | yes |
| gem | ERI/GEM/GMAC Ethernet device driver | no | yes |
| hme | Sun Microelectronics STP2002-STQ Ethernet interfaces device driver | no | yes |
| ixgb | Intel(R) PRO/10GbE Ethernet driver | yes | no |
| jme | JMicron Gigabit/Fast Ethernet driver | no | yes |
| le | AMD Am7900 LANCE and Am79C9xx ILACC/PCnet Ethernet interface driver | no | yes |
| msk | Marvell/SysKonnect Yukon II Gigabit Ethernet adapter driver | no | yes |
| mxge | Myricom Myri10GE 10 Gigabit Ethernet adapter driver | no | yes |
| my | Myson Technology Ethernet PCI driver | no | yes |
| nfe | NVIDIA nForce MCP Ethernet driver | yes | yes |
| nge | National Semiconductor PCI Gigabit Ethernet adapter driver | yes | no |
| nve | NVIDIA nForce MCP Networking Adapter device driver | no | yes |
| re | RealTek 8139C+/8169/816xS/811xS/8101E PCI/PCIe Ethernet adapter driver | yes | yes |
| rl | RealTek 8129/8139 Fast Ethernet device driver | yes | yes |
| sf | Adaptec AIC‐6915 “Starfire” PCI Fast Ethernet adapter driver | yes | yes |
| sis | SiS 900, SiS 7016 and NS DP83815/DP83816 Fast Ethernet device driver | yes | yes |
| sk | SysKonnect SK-984x and SK-982x PCI Gigabit Ethernet adapter driver | yes | yes |
| ste | Sundance Technologies ST201 Fast Ethernet device driver | yes | yes |
| stge | Sundance/Tamarack TC9021 Gigabit Ethernet adapter driver | yes | yes |
| txp | 3Com 3XP Typhoon/Sidewinder (3CR990) Ethernet interface | no | yes |
| vge | VIA Networking Technologies VT6122 PCI Gigabit Ethernet adapter driver | yes | yes |
| vr | VIA Technologies Rhine I/II/III Ethernet device driver | yes | yes |
| xl | 3Com Etherlink XL and Fast Etherlink XL Ethernet device driver | yes | yes |
Using others NIC will works, but not give you optimal performance.
The BSDRP images use this filename convention:
BSDRP_release_image type_arch_console.img.bz2
The value image type can be:
The value arch can be:
The value console can be:
Examples:
The *.mtree.bz2 files are used for system integrity check.
Unzip the BSDRP image file (you need to have a file with .img extension and not .bz2 extension).
Then, use physdiskwrite for writting the image on your CF/USB connected to your PC.
Connect your Compact Flash or USB disk and note the device name (sd4 for a usb key in this exemple).
Then unzip the file and byte copy it to your drive (Warning: Double check that you had choosen the good destination disk!!!):
bunzip2 -c BSDRP-full-vga.0.2.img.bz2 | dd of=/dev/sd4 bs=64k
You can boot from this media now.
Connect your Compact Flash or USB disk and note the device name (da0 for a usb key in this exemple).
Then unzip the file and byte copy it to your drive (Warning: Double check that you had choosen the good destination disk!!!):
bunzip2 -c BSDRP-full-vga.0.2.img.bz2 | dd of=/dev/da0 bs=64k
You can boot from this media now.
Insert the USB key, and run mount in a terminal (or disk utility if you prefer graphical method) to see what device OSX has assigned to your USB key. You should see something like this:
/dev/disk0s2 on / (hfs, local, journaled) devfs on /dev (devfs, local) fdesc on /dev (fdesc, union) map -hosts on /net (autofs, automounted) map auto_home on /home (autofs, automounted) /dev/disk3s1 on /Volumes/UNTITLED (msdos, local, nodev, nosuid, noowners)
The last line is your USB device. Unmount it and write the BSDRP image to it with:
sudo umount -f /dev/disk3s1 bunzip2 -c BSDRP-full-vga.0.2.img.bz2 | dd of=/dev/disk3 bs=64k
If successful, OSX will pop up an error dialog telling you it doesn't recognize the disk. Click 'Eject', remove the USB key, and you're done.
For using BSDRP as a Virtual Machine, refers to chapter How to run in the Technical docs.
Once BSDRP is started for the first time, don't forget to lower the default kern.HZ value that is not optimized for a VM usage by entering this command:
system virtualized
The FreeBSD (BSDRP) bootloader default configuration isn't compatible with the WRAP: You need to change the bootloader mode before to use it on a WRAP platform. From a FreeBSD host, once you had installed the image on your CF, change the bootloader mode (replace daX by your device):
boot0cfg -o nopacket /dev/daX
sysctl kern.geom.debugflags=16
Using this method, you need a SCP server (any unix/linux with SSH enabled).
Resume: The router download the BSDRP image by SCP then it start the upgrade
Put the BSDRP-upgrade.image.bz2 file on SCP server “my-server” home dir of “my-user”, and from the BSDRP router, enter this command:
ssh my-user@my-server cat BSDRP-upgrade.image.bz2 | bzcat | upgrade
This method requiered:
Resume:
Step 1: Creating the ram disk
On BSDRP, enter theses commands:
set RAMDRIVE=`mdconfig -a -t malloc -s 64m` newfs -m 0 -n $RAMDRIVE mount /dev/$RAMDRIVE /mnt/
Step 2: From your Windows desktop using your SCP client, send the BSDRP upgrade image to the /mnt folder.
Step 3: After transfer complete, On BSDRP, enter this command:
cat /mnt/BSDRP-upgrade.image.bz2 | bzcat | upgrade umount /mnt
Login as root with no password.
If you are using the serial version, serial port parameters are: 9600,8,N,1,MODEM
Start by using the help:
help
Create a password for root (mandatory for SSH):
passwd
Enter in quagga mode:
cli
Do your quagga configuration, and save quagga config and exit quagga cli:
wr exit
Then save all changes:
config save
BSDRP is a FreeBSD, then you need to read how to configure a FreeBSD for using it.
Here is a list of useful documentations:
The config tool:
Usage: ./config option
- save : Save current config
- apply : Apply current config
- rollback : Revert to previous config
- put : Put config to a remote server
- get : Get config from remote server
- reset : Return to default configuration
- password (pass) : Change root password
- help (h) [option] : Display this help message.
If [option] given, display more detail about
The root filesystem is in read-only mode, then you can't modify or create your own script on it.
For modify the existing script (don't forget to send us your improvement), use the “data” partition. Here is an example for customizing the config tools:
mount /dev/ufs/data /mnt cp /usr/local/bin/config /mnt vim /mnt/config
Now you can add your great patches to config script. And test it:
cd /mnt ./config
Then, don't forget to umount the /mnt partition:
umount /mnt
You can modify the full filesystem by re-mount the active slice in read-write mode:
mount -u -o rw /
Now you can modify all files or removing/installing package.
Here is how to remove bird as example:
[root@router]~#pkg_info | grep bird bird-1.2.1 Dynamic IP routing daemon [root@router]~#pkg_delete bird-1.2.1
After your changes, re-mount it in read-only mode:
mount -u -o ro /