This is a Quick How To that explains one way to set up and run Indigo on the BCM 56634 reference design using NFS.
Please note that explaining how to install and set up NFS is beyond the scope of this document. Once installed, you will likely want an entry in /etc/exports of the form:
/var/exports 192.168.3.0/24(rw,sync,no_subtree_check) |
Where:
You'll need to restart NFS after making changes.
Similarly, installing and setting up a TFTP server is beyond the scope of this document. Some notes have been added in the 3290 doc
The Linux kernel uImage-t2ref file should be placed in the TFTP server directory (usually /tftpboot or /var/tftpboot).
Assuming you have the file system is in a tar file named t2ref-nfs.tgz and that you have set up your NFS server to export from /var/exports, you should move t2ref-nfs.tgz to /var/exports and then the following.
NOTE that you should be in the target directory when you untar the root file system.
cd /var/exports mkdir t2ref cd t2ref sudo tar xzf ../t2ref-nfs.tgz ls |
The ls command should give something like:
bin/ etc/ lib/ lost+found/ sbin/ tmp/ dev/ include/ linuxrc@ proc/ share/ usr/ |
It is recommended that you change the owner of the files for NFS mounting.
cd /var/exports sudo chown -R nobody t2ref sudo chgrp -R nogroup t2ref |
On Redhat-like systems, the user and group are both called nfsnobody.
Here is an example set of variables with explanations.
setenv -p ifcfg ifconfig eth0 -addr=192.168.3.34. |
Here, 192.168.3.34 is the management address of the switch.
You may want to save the existing definition of LINUX_CMDLINE.
setenv -p LINUX_CMDLINE 'console=ttyS0,9600 ip=192.168.3.34:192.168.3.10:192.168.3.10:255.255.255.0:my_host:eth0 root=/dev/nfs rw nfsroot=/var/exports/t2ref |
Here, 192.168.3.34 is the management address of the switch; 192.168.3.10 is the address of the TFTP and NFS server; andtThe root file system is stored in /var/exports/t2ref.
setenv -p nfsboot boot -uboot -tftp 192.168.3.10:uImage-t2ref |
This indicates that the boot operation should come from the server via TFTP and load the uImage-t2ref file as the kernel. The subsequent boot operations are indicated by the LINUX_CMDLINE variable above which indicates that the root FS is to come from an NFS mount.
Note that the system will still boot to the original image if you do not interrupt bootup. To avoid this, you can define
setenv -p STARTUP 'sleep 2; ifconfig eth0 -addr=192.168.3.34; sleep 2; boot -uboot -tftp 192.168.3.10:uImage-t2ref' |
See above for an explanation of this line.
If you do not do this, you now use the commands defined above:
CFE> ifcfg Device eth0: hwaddr 00-10-18-48-F9-24, ipaddr 192.168.3.34, mask not set gateway not set, nameserver not set *** command status = 0 CFE> nfsboot Loader:uboot Filesys:tftp Dev:eth0 File:192.168.3.10:uImage-t2ref Options:(null) Loading: .. 1382400 bytes read Unpacking U-Boot image at 0x00000000 (1382336) .... 2892120 bytes Entry at 0x00000000 ... |
After booting with the NFS image, the platform will have no identity. You can enter the CLI and define configuration variables.
Alternatively, and you can do this prior to init, you can edit the file local/sysenv in the file system and add the configuration variables you want with export commands there.