Next: 3. Configuring the AS/400
Up: ipcs under linux
Previous: 1. Introduction
  Index
Subsections
Most of the informations following are not limited to remotely booting
the IPCS from the AS/400. You may remotely boot any PC having a
boot-capable network interface card the same way.
V4R3M0 of the Operating System OS/400 supports exporting files
using the NFS (Network File System). However as an NFS-Server the
AS/400 is somewhat limited and rather slow, especially when communicating
with clients running a linux kernel before 2.4.
The Linux kernel needs access to some special block devices, usually
to be found in the /dev file system. While unix NFS servers are able
to provide those special devices using NFS, NFS/400 does not support
that function and for that reason the AS/400 can't be the NFS root
server for a linux machine.
There are two workarounds available:
- Putting /dev (and usually the / filesystem as well) into
an initial ramdisk. Other mountpoints such as /usr, /lib etc.
may be mounted later.
- Using a Loopback root device.
A loopback device is a block device (usually called /dev/loop0)
associated to a file residing on another filesystem.
From Linux kernel 2.4 on it is possible to use a file mounted
from a remote NFS filesystem as a loopback device. It
is also possible to use such a file as the root filesystem.
Using a loopback root device has several advantages:
A remote loopback root device requieres Linux kernel 2.4,
but kernel 2.2.x seems to be no good choice for NFS communication
with NFS/400 anyway, since it is slow and has compatibility problems.
Remotely booting linux implies the following steps to be done:
- the 3Com network card retrieves IP addresses and boot file images
by DHCP from the AS/400 DHCP server.
- The 3Com network card retrieves the file pxelinux.bin by using
the TFTP (Trivial File Transfer Protocol) and starts
execution of pxelinux.
- pxelinux retrieves further configuration information associated
to the IP address from the directly pxelinux.cfg
- pxelinux retrieves the configured kernel image and
initial RAM disk image file.
- pxelinux starts the kernel with a command line telling the
kernel to use the initial ram disk (initrd), defining
IP-Configuration and root device.
- The linux kernel mounts the initial RAM disk and starts
execution of the /linuxrc script.
- /linuxrc mounts a directory from the OS/400 IFS containing
it's root image file and associates that file with the
loopback device /dev/loop0.
- The Linux kernel moves the initial ramdisk to the
mountpoint /initrd and mounts /dev/loop0 as a read-only
root filesystem.
- The regular linux boot procedure continues using
/dev/loop0 the way usually known from a harddisk.
This includes filesystem integrity checks, remounting
read/write and so on.
Next: 3. Configuring the AS/400
Up: ipcs under linux
Previous: 1. Introduction
  Index
Herd Software Development, 3. Feb 2001, http://www.herdsoft.com/