Patch title: Release 84 bulk changes
Abstract:
File: /pliant/fullpliant/install.pli
Key:
    Removed line
    Added line
   
abstract
  [This module will install a ready to operate FullPliant sy


function lilo_install c root_path lilo_boot_device kernel_ro
  arg Data:Computer c ; arg Str root_path lilo_boot_device k
abstract
  [This module will install a ready to operate FullPliant sy


function lilo_install c root_path lilo_boot_device kernel_ro
  arg Data:Computer c ; arg Str root_path lilo_boot_device k
  (var Stream s) open root_path+"tmp/lilo.conf" out+safe
  (var Stream s) open root_path+"boot/lilo.conf" out+safe
  if s=failure
    console "Failed to create lilo configuration file" eol
    return failure
  s writeline "read-only"
  s writeline "delay=50"
  s writeline "lock"
  s writeline "boot="+file_os_name:lilo_boot_device
  s writeline "image=/boot/kernel"
  s writeline "  label=fullpliant"
  s writeline "  root="+file_os_name:kernel_root
  s writeline "  append=[dq]"+kernel_options+"[dq]"
  if c:env:"partition":"root":"video_bios_mode"<>""
    s writeline "  vga="+c:env:"partition":"root":"video_bio
  eif c:env:"hardware":"video":"bios_mode"<>""
    s writeline "  vga="+c:env:"hardware":"video":"bios_mode
  each p c:env:"partition" filter keyof:p<>"root"
    if p:"kernel"<>""
      filesystem_mount p:"device" "file:/mnt/"+keyof:p+"/" "
      s writeline "image=/mnt/"+keyof:p+"/boot/"+p:"kernel"
      s writeline "  label="+keyof:p
      s writeline "  root="+(file_os_name p:"device")
      s writeline "  append=[dq]"+p:"kernel_options"+"[dq]"
      if p:"video_bios_mode"<>""
        s writeline "  vga="+p:"video_bios_mode"
      eif c:env:"hardware":"video":"bios_mode"<>""
        s writeline "  vga="+c:env:"hardware":"video":"bios_
    eif p:"os"<>""
      s writeline "other="+(file_os_name p:"device")
      s writeline "  label="+keyof:p
  s close
  var Str flags := ""
  var Str geometry := lilo_options option "geometry" Str
  flags += (shunt geometry="chs" "" geometry="lba32" " -L" "
  if s=failure
    console "Failed to create lilo configuration file" eol
    return failure
  s writeline "read-only"
  s writeline "delay=50"
  s writeline "lock"
  s writeline "boot="+file_os_name:lilo_boot_device
  s writeline "image=/boot/kernel"
  s writeline "  label=fullpliant"
  s writeline "  root="+file_os_name:kernel_root
  s writeline "  append=[dq]"+kernel_options+"[dq]"
  if c:env:"partition":"root":"video_bios_mode"<>""
    s writeline "  vga="+c:env:"partition":"root":"video_bio
  eif c:env:"hardware":"video":"bios_mode"<>""
    s writeline "  vga="+c:env:"hardware":"video":"bios_mode
  each p c:env:"partition" filter keyof:p<>"root"
    if p:"kernel"<>""
      filesystem_mount p:"device" "file:/mnt/"+keyof:p+"/" "
      s writeline "image=/mnt/"+keyof:p+"/boot/"+p:"kernel"
      s writeline "  label="+keyof:p
      s writeline "  root="+(file_os_name p:"device")
      s writeline "  append=[dq]"+p:"kernel_options"+"[dq]"
      if p:"video_bios_mode"<>""
        s writeline "  vga="+p:"video_bios_mode"
      eif c:env:"hardware":"video":"bios_mode"<>""
        s writeline "  vga="+c:env:"hardware":"video":"bios_
    eif p:"os"<>""
      s writeline "other="+(file_os_name p:"device")
      s writeline "  label="+keyof:p
  s close
  var Str flags := ""
  var Str geometry := lilo_options option "geometry" Str
  flags += (shunt geometry="chs" "" geometry="lba32" " -L" "
  var Int err := execute "lilo -C /tmp/lilo.conf"+flags root
  var Int err := execute "lilo -C /boot/lilo.conf"+flags root root_path
  if err<>0 and geometry=""
  if err<>0 and geometry=""
    err := execute "lilo -C /tmp/lilo.conf -L" root root_pat
    err := execute "lilo -C /boot/lilo.conf -L" root root_path
    if err<>0 and geometry=""
    if err<>0 and geometry=""
      err := execute "lilo -C /tmp/lilo.conf" root root_path
  file_delete root_path+"tmp/lilo.conf"
      err := execute "lilo -C /boot/lilo.conf" root root_path
  # file_delete root_path+"boot/lilo.conf"
  each p c:env:"partition"
    if p:"kernel"<>""
      filesystem_dismount "file:/mnt/"+keyof:p+"/"
  status := shunt err=0 success failure



  console "Building the custom Linux kernel" eol
  each p c:env:"partition"
    if p:"kernel"<>""
      filesystem_dismount "file:/mnt/"+keyof:p+"/"
  status := shunt err=0 success failure



  console "Building the custom Linux kernel" eol
  kernel_compile c
  status := kernel_compile c
  if status=failure
    return
  var Str kversion := c:env:"kernel":"constant":"linux_versi
  var Str sign := c:env:"kernel":"constant":"signature"
  file_extract kernel_binary_path+"kernel-"+kversion+"-"+sig
  file_tree_delete "target:/sbin/"
  file_tree_delete "target:/etc/"
  file_tree_delete "target:/usr/"
  file_tree_delete "target:/var/"
  file_copy kernel_binary_path+"kernel-"+kversion+"-"+sign+"


  pliant_multi_file_system dismount "target:/"
  console "done." eol
  status := success
  
export install_tree
  var Str kversion := c:env:"kernel":"constant":"linux_versi
  var Str sign := c:env:"kernel":"constant":"signature"
  file_extract kernel_binary_path+"kernel-"+kversion+"-"+sig
  file_tree_delete "target:/sbin/"
  file_tree_delete "target:/etc/"
  file_tree_delete "target:/usr/"
  file_tree_delete "target:/var/"
  file_copy kernel_binary_path+"kernel-"+kversion+"-"+sign+"


  pliant_multi_file_system dismount "target:/"
  console "done." eol
  status := success
  
export install_tree