Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

.\"	$NetBSD: prep,v 1.10 2009/04/23 01:56:50 snj Exp $
.
First and foremost, before beginning the installation process,
.Em make sure you have a reliable backup
of any data (e.g., an old IRIX installation) you wish to preserve.
.Pp
Booting
.Nx*M
for the first time is most commonly done from the network.
You must set up DHCP, TFTP, and possibly NFS for the installation
procedure to be successful.
Although newer SGI bootproms can read ELF kernels directly from the
network, others require that you boot an ECOFF version of the kernel.
Attempting to boot an ELF kernel on a system with a PROM that only
supports ECOFF binaries will result in the following message being
displayed by the PROM:
.Pp
.Dl Illegal f_magic number 0x7f45, expected MIPSELMAGIC or MIPSEBMAGIC.
.Pp
You can convert the standard ELF
format kernel into an ECOFF kernel using the
.Pa objcopy
tool.
.Pp
.\" Different SGI hardware will require the executable code in the loadable
.\" image to start at a different address.
.\" You must decide which image your system is capable of loading.
.\" The current options are:
.\" .(bullet
.\" Indigo2, Indy, Challenge M, Challenge S
.\" .It
.\" O2
.\" .bullet)
.\" .Pp
.\" Additionally there may be a third type in the future for 64bit machines.
.\" From now on this document assumes you are familiar with selecting the
.\" correct image for your system.
.Pp
Note that some older bootproms have an interesting bug in reading the
kernel via TFTP.
They handle the port number as a signed entity, and
can thus not connect to ports \*[Gt]32767.
You can work around this problem on the TFTP server
(given that it is a NetBSD host) by using
.Dq sysctl
to set
.Dq net.inet.ip.anonportmin
and
.Dq net.inet.ip.anonportmax
to more suitable values.  For example:
.Pp
.Dl # Ic sysctl -w net.inet.ip.anonportmin=16384
.Dl # Ic sysctl -w net.inet.ip.anonportmax=32767
.Pp
.Dl "# cu -l /dev/ttyXX
.Pp
where XX is the serial port used on your remote machine (usually
.Pa /dev/tty00
or
.Pa /dev/tty01 ) .
Enter the Command Monitor from the System Maintenance Menu. In
order to boot the kernel properly you also have to modify the PROM
environment with
.Pp
.Dl "\*[Gt] setenv console serial
.Pp
Afterwards, just continue with the normal installation procedure.