Changes between Version 5 and Version 6 of PXEInstall

02/23/12 13:29:39 (10 years ago)



  • PXEInstall

    v5 v6  
    33This page covers PXE installation.  The actual [wiki:Installation Debathena Installer] is covered in a [wiki:Installation separate page]. 
     5== tl;dr == 
     7PXE serves up an initial installation script that asks the user some questions, kexec's into a new network install using the answers to those questions, and then runs after the base system has been installed. 
    59== Infrastructure == 
    6468 * If you want to install to something other than the first IDE/SATA disk, you lose. 
    6569 * The stage1 script must never exit (it kexec's out, or loops forever with a shell).  If it does exit, the install will fall through to whatever the PXE server initially gave us, which is undoubtedly wrong. 
     71== The Stage 2 Install == 
     73The stage 2 install is designed to be invoked from 2 places: The stage 1 install, and the hopefully-obsolete-by-the-time-you-read-this auto-upgrade code.   
     75First, we do some hardware-specific hacks (I'm looking at you, Realtek). 
     77Then we parse the kernel's command-line, looking for options we care about.  In particular, we support: 
     78 * `debathena/clusteraddr`: DEPRECATED, an IP address, which also serves as a flag indicating that this is a cluster machine. (Note the different prefix, this is not a typo). 
     79 * `da/pxetype`: cluster, workstation, vanilla, etc.  We fallback to `debathena/pxetype` but will stop doing that. 
     80 * `da/i`: beta or production 
     81 * `da/m`: mirror site 
     82 * `da/part`: auto or manual partitioning 
     84For the fallback values (clusteraddr or debathena/pxetype), we set some defaults of installertype=production and  Eventually, we should stop doing this, and just error out if the necessary arguments aren't there.  We already barf if pxetype isn't present. 
     86We re-run net configuration in case we get a debathena/clusteraddr, but we do everything automatically.  We will stop doing this eventually. 
     88We now build-up a pre-seed file by copying the netcfg arguments, and setting the mirror hostname.  We also copy in the contents of `preseed.common`.  We add `preseed.autoinstall` (possibly skipping the partman section) for cluster machines.  We then fetch the actual [wiki:Installation Debathena Installer] (the beta version, if necessary), set pxe-install-flag, and exit out into the main installer, which will use these preseed values. 
     90=== Other files in the stage2 installer === 
     92 * athena/{netparams,masks} -- these will go away when we stop re-doing netcfg in stage 2 
     93 * -- Run by the partman component.  Find the first IDE/SATA disk, and ensure that the disk itself is big enough for the install.  This is defined as "20GB" by a variable at the top of this script. 
     94 * lvm-cluster-machine.partman -- a partman "recipe" for the layout of a typical cluster machine.  See /usr/share/doc/debian-installer/devel/partman-auto-recipe.txt.gz 
     95 * - Run for debathena installation to do some sanity checking and run the debathena installer. 
     96 * preseed.autoinstall - For things that should be set for cluster machines 
     97 * preseed.common - Generally useful preseed values