9load man page on Inferno

Man page or keyword search:  
man Server   579 pages
apropos Keyword Search (all sections)
Output format
Inferno logo
[printable version]

9LOAD(10.8)							   9LOAD(10.8)

NAME
       9load, ld, 9pxeload - PC bootstrap program

SYNOPSIS
       (Under MS-DOS)
       [ drive :][ path ]ld [ 9load ]

DESCRIPTION
       On  the	PC, bootstrap programs from Plan 9 are used to boot Inferno as
       well (hence the naming convention).  9load and  ld  are	programs  that
       reside  in  a  FAT  file system and bootstrap Inferno.  9load loads the
       kernel, but it cannot be run from DOS; use ld to bootstrap (by starting
       9load)  if DOS is running.  9load is run automatically by the boot pro‐
       cedures described below; it cannot be run directly by hand.  There  are
       three bootstrap sequences:

       -      BIOS, MBR, disk partition PBS, 9load, kernel

       -      BIOS, floppy PBS, 9load, kernel

       -      BIOS, MBR, DOS, ld, 9load, kernel.

       Details follow.

       9load is a bootstrap program that loads and starts a program, typically
       the kernel, on a PC.  It is run by the PC partition boot sector program
       (PBS),  which  usually resides in the first sector of the active parti‐
       tion.  A copy of the Plan 9 PBS is kept in /Inferno/386/pbs, but due to
       the  ``cylinder-head-sector''  (CHS)  addressing mode of old BIOSes, it
       can only operate up to 8.5GB into the disk.  Plan 9 partitions  further
       into  the  disk	can only be booted using /Inferno/386/pbslba, and then
       only if the machine's BIOS supports linear block addressing (LBA)  mode
       for disk transfers.

       When  booting from floppy or hard disk, the BIOS loads the first sector
       of the medium at location 0x7C00.  In the case of a floppy, this is the
       PBS.   In  the  case of a hard disk it it the master boot record (MBR).
       The MBR copies itself to address 0x600, finds the active partition  and
       loads  its  PBS at address 0x7C00.  A copy of the Plan 9 MBR is kept in
       /Inferno/386/mbr; some commercial MBRs cannot read  sectors  past  2GB.
       The  Plan 9 MBR can read sectors up to 8.5GB into the disk, and further
       if the BIOS supports LBA.  The  single  file  /Inferno/386/mbr  detects
       whether the BIOS supports LBA and acts appropriately, defaulting to CHS
       mode when LBA is not present.  The PBSs cannot do this due to code size
       considerations.	 The  Plan  9  MBR  is suitable for booting non-Plan 9
       operating  systems,  and	 (modulo  the  large  disk  constraints	  just
       described) non-Plan 9 MBRs are suitable for booting Plan 9.

       Thus the default sequence is: BIOS, MBR, PBS, 9load, kernel.

       Because	it  contains  many device drivers for different disks and net‐
       works, 9load is larger than 64K and cannot be run  as  a	 DOS  ``.com''
       executable.   A	stripped-down  version	that knows about disks but not
       networks, called ld (really ld.com), fits in 64K and can be used	 under
       DOS  to	load and start a program (default 9load) from the FAT16 parti‐
       tion.  Its command line argument is of the same format as the  bootfile
       specifiers  described below.  This profusion of loaders is unfortunate,
       but at least ld and 9load are compiled from the same source.

       9load begins execution at address 0x80010000 (64K) and loads the	 boot‐
       file  at the entry address specified by the header, usually 0x80100020.
       After loading, control is passed to the entry location.

       Finally, 9pxeload is a version of 9load that can be  booted  using  the
       PXE download found on some ethernet card BIOSs.

       In  summary,  Inferno  and Plan 9 can be booted on a PC three different
       ways: either by booting MS-DOS and using	 ld  to	 start	9load  in  the
       appropriate  directory, by booting directly from an Inferno/Plan 9 boot
       floppy or disk partition prepared using format to install the appropri‐
       ate  files and bootstrap sectors (see prep(8)), or by using a PXE capa‐
       ble BIOS to boot 9pxeload directly over the ethernet.

       The bootfile, which may be compressed with gzip(1), can be specified to
       9load  as a bootfile= entry in plan9.ini, or if booting from the ether‐
       net, by a BOOTP server.	If the plan9.ini file contains multiple	 boot‐
       file= entries, 9load will present a numerical menu of the choices; type
       the corresponding number to select an entry.

       The format  of  the  bootfile  name  is	device!file  or	 device!parti‐
       tion!file.   If !file is omitted, the default for the particular device
       is used.	 Supported devices are

       fdn    An MS-DOS floppy disk.  N specifies the floppy drive,  either  0
	      or  1.   The bootfile is the contents of the MS-DOS file.	 There
	      is no default file.  For compatibility with hard disks, a parti‐
	      tion may be given, but only dos is recognized: fd0!dos!file.

       ethern Ethernet.	  N specifies the Ethernet device number.  If a parti‐
	      tion is specified, it is taken to be the name of a host  machine
	      from  which  to  load  the  kernel.   file  is determined by the
	      /lib/ndb (see ndb(6)) entry for this PC.

       sdCn   Non-floppy disk.	The device name format is described in	sd(3).
	      A partition must be given and must name a partition containing a
	      FAT file system.	The name dos refers to the first DOS partition
	      on  a  given device.  It is common for Inferno/Plan 9 partitions
	      to contain a small FAT file system for configuration.   By  con‐
	      vention,	this  partition	 is  called 9fat.  There is no default
	      partition or pathname.

       When 9load starts running at physical address 0x10000, it  switches  to
       32-bit  mode.  It then double maps the first 16Mb of physical memory to
       virtual addresses 0 and	0x80000000.   Physical	memory	from  0x300000
       upwards	is  used  as data space.  Next, in order to find configuration
       information, 9load searches all units on devices fd and sdCn,  in  that
       order,	for   a	  file	 called	  plan9\plan9.ini  or  plan9.ini  (see
       plan9.ini(10.6)) on a partition named dos or 9fat.  If  one  is	found,
       searching  stops	 and  the file is read into memory at physical address
       0x1200 where it can be  found  later  by	 any  loaded  bootfile.	  Some
       options in plan9.ini are used by 9load:

       console

       baud   Specifies the console device and baud rate if not a display.

       ethern Ethernet interfaces. These can be used to load the bootfile over
	      a network.  Probing for Ethernet	interfaces  is	too  prone  to
	      error.

       bootfile=bootfile
	      Specifies the bootfile.  This option is overridden by a command-
	      line argument.

       bootfile=auto
	      Default.

       bootfile=local
	      Like auto, but do not attempt to load over the network.

       bootfile=manual
	      After determining which devices are available for loading	 from,
	      enter prompt mode.

       When  the  search  for  plan9.ini  is done, 9load proceeds to determine
       which bootfile to load.	If there was no bootfile option, 9load chooses
       a default from the following prioritized device list:
	    fd sd ether
       9load  then  attempts  to  load the bootfile unless the bootfile=manual
       option was given, in which case prompt mode is entered immediately.  If
       the  default  device is fd, 9load will prompt the user for input before
       proceeding with the default bootfile load after 5 seconds; this	prompt
       is omitted if a command-line argument or bootfile option was given.

       9load  prints  the  list of available devices and enters prompt mode on
       encountering any error or if directed to do  so	by  a  bootfile=manual
       option.	 In  prompt  mode,  the user is required to type a bootfile in
       response to the prompt.

       9load parses the master boot record and Plan 9  partition  tables  (see
       prep(8)),  leaving  partitioning	 information appended to the in-memory
       contents of plan9.ini for the bootfile.	This is used by sd(3) to  ini‐
       tialize	partitions  so	that a file system in a partition can be found
       and mounted as the root file system.  A more extensive partitioning  is
       typically done by system initialisation in osinit.dis (see root(3)).

       A  control-P character typed at any time on the console causes 9load to
       perform a hardware reset (Ctrl-Alt-Del can also be used on  a  PC  key‐
       board).

       When  loaded  from  a PBS (rather than from ld.com), 9load must be con‐
       tiguously allocated on the disk.	  See  dossrv(4)  for  information  on
       ensuring this.

FILES
       [drive:] [ path ]9load
       [drive:] [ path ]ld
       FAT filesystem:\plan9\plan9.ini
       FAT filesystem:\plan9.ini

SOURCE
       /os/boot/pc

SEE ALSO
       plan9.ini(10.6), prep(8)

BUGS
       Much of the work done by 9load is duplicated by the loaded kernel.

       If  ld detects an installed MS-DOS Extended Memory Manager, it attempts
       to de-install it, but the technique used may not always	work.	It  is
       safer not to install the Extended Memory Manager before running ld.

								   9LOAD(10.8)
[top]

List of man pages available for Inferno

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net