Pegasos

From Earlham CS Department
Revision as of 14:44, 3 November 2006 by Charliep (talk | contribs) (Upgrading the firmware)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Serial Console

Use a serial console to connect to LittleFe/PPC. Currently this is done by running:

minicom -o lf0

on ACL13, after verifying that the serial cable is connected properly (it should be connected between the serial port labelled '2' on the back of ACL13 and only serial port on the ODW board in question).

Also see http://www.ppczone.org/article.php?article=serialconsole

Also see http://wiki.cs.earlham.edu/index.php/Little-Fe_PPC for instructions on setting-up Little-Fe/PPC boards.

SmartFirmware

The Open Desktop Workstations (ODWs) use SmartFirmware. The SmartFirmware user manual has good tutorials for a variety of boot configurations.

You can save environment variables in SmartFirmware by editing the nvramrc script.

  • To begin editing, type nvedit and make any desired changes.
  • Use the commands below to navigate the editor; arrow keys do not work.
    • control-e - end of line
    • control-n - next line
    • control-f - forward
    • control-b - back
    • control-c - exit
    • control-d - delete character
  • When finished, hit control-C to exit the editor.
  • Finally, type nvstore to save your changes.

Netbooting

For information on netbooting Little-Fe/PPC, see the Little-Fe PPC page.

The DHCP support in the firmware is slightly buggy and requires inserting a client and server IP of 0.0.0.0 in the boot-device string, like so:

setenv boot-device eth:dhcp,0.0.0.0,,0.0.0.0

(The double comma indicates an empty boot file name--it is supplised by the DHCP server.) eth is an alias for the 100Mbit ethernet device and geth is an alias for the Gigabit device. Now to boot, simply type boot and hit return.

In order for the board to boot on power-up you must set a variable at the ok prompt:

setenv auto-boot? true

The red cables are hooked up to the 100baseT interfaces, and the yellow ones are hooked up to the 1000baseT interfaces

Booting from disk

The current working boot configuration is as follows:

boot-device = hd:0                                                              
boot-file = /boot/vmlinuz-2.6.15.6 root=/dev/hda1 console=ttyS1,115200n1

You can modify these variables using the setenv command; optionally saving them in nvramrc according to the above instructions.

Upgrading the firmware

These notes come from http://www.bplan-gmbh.de/news/update_en.html Make sure that you have a stable power supply, cables, etc. during this process. If you loose connectivity or power you will probably zorch the motherboard.

1) Put the new firmware in /boot on lf0.

2) Set the boot-file variable to point to the new firmware image name.

3) Change the filename in /etc/dhcpd3/dhcpd.conf on lf0 to point to the new firmware image name. Restart dhcpd.

4) Reboot the board, follow the on-screen prompts.

5) Undo the dhcpd and boot-file changes. Restart dhcpd.

The current nvscript for clients (lf1-lfn) as of July 20 2006:

   1: devalias eth /pci@80000000/ethernet@D
   2: devalias geth /ethernet/port1
   3: setenv boot-file vmlinuz-2.6.15.6 ip=dhcp root=/dev/nfs init=/linuxrc console=ttyS1,115200n1
   4: setenv boot-device eth:dhcp,0.0.0.0,,0.0.0.0