The firmware determines from which device
to boot via either user input or primary path.
The firmware looks for a LIF header on that device,
and if it finds it, it looks in the LIF header for where the ISL
starts.
The firmware loads the ISL into memory from the boot
device and executes it. It passes a flag to it that indicates whether
to run interactively or to autoboot.
If the ISL is interactive then it gives the ISL> prompt and waits for user input before proceeding.
If the ISL is not interactive, then it looks for the AUTO file on the boot device to determine what to run
next.
The AUTO file or user input usually supplies the hpux args command. This tells ISL to load the program HPUX from the LIF header on the boot device and to
run it with the given arguments.
The hpux program (also known as the secondary loader)
figures out what HP-UX kernel to load, and what arguments to pass
to it (like init state).
hpux loads the kernel and starts running it.
For the INSTALL kernel, the kernel looks at its name
and realizes that it fits the pattern *INSTALL and then loads the matching *INSTALLFS file from the boot device.