Magellan Linux

Diff of /tags/grubby-8_40_20170706/new-kernel-pkg

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2961 by niro, Wed Jun 29 14:39:19 2016 UTC revision 3006 by niro, Tue Jun 27 14:26:38 2017 UTC
# Line 155  mbkernel="${HYPERVISOR}" Line 155  mbkernel="${HYPERVISOR}"
155  mbargs="${HYPERVISOR_ARGS}"  mbargs="${HYPERVISOR_ARGS}"
156  adddracutargs=""  adddracutargs=""
157  addplymouthinitrd=""  addplymouthinitrd=""
158  DEBUGARG="systemd.debug"  DEBUGARG="systemd.log_level=debug systemd.log_target=kmsg"
159    
160  usage()  usage()
161  {  {
# Line 165  usage() Line 165  usage()
165   echo "       [--banner=<banner>] [--multiboot=multiboot]" >&2   echo "       [--banner=<banner>] [--multiboot=multiboot]" >&2
166   echo "       [--mbargs=mbargs] [--make-default] [--add-dracut-args]" >&2   echo "       [--mbargs=mbargs] [--make-default] [--add-dracut-args]" >&2
167   echo "       [--add-plymouth-initrd]" >&2   echo "       [--add-plymouth-initrd]" >&2
168   echo "       [--host-only] [--devtree=<devicetree.dtb>]" >&2   echo "       [--host-only] [--devtree=<devicetree.dtb>] [--devtreedir=</devicetree/path/>]" >&2
169   echo "       <--install | --remove | --update> <kernel-version>" >&2   echo "       <--install | --remove | --update> <kernel-version>" >&2
170   echo "       (ex: $(basename $0) --mkinitrd --depmod --install 2.4.7-2)" >&2   echo "       (ex: $(basename $0) --mkinitrd --depmod --install 2.4.7-2)" >&2
171   exit 1   exit 1
# Line 177  rungrubby() Line 177  rungrubby()
177   then   then
178   [[ ${MAKEDEBUG} != yes ]] && return 0   [[ ${MAKEDEBUG} != yes ]] && return 0
179   [[ -n ${verbose} ]] && echo "- First, making a debug entry."   [[ -n ${verbose} ]] && echo "- First, making a debug entry."
180   declare -x debugtitle=" with debugging"   if [[ ${ARCH} = s390 ]] || [[ ${ARCH} = s390x ]]
181     then
182     declare -x debugtitle="_with_debugging"
183     else
184     declare -x debugtitle=" with debugging"
185     fi
186   declare -x debugargs="${DEBUGARG}"   declare -x debugargs="${DEBUGARG}"
187   shift   shift
188   else   else
# Line 236  install() Line 241  install()
241   fi   fi
242    
243   DEVTREE=""   DEVTREE=""
244   if [[ x${devtreefile} != x ]] && [ -f "${devtreefile}" ]   if [[ -n ${devtreefile} ]] && [ -f ${devtreefile} ]
245   then   then
246   [[ -n ${verbose} ]] && echo "found ${devtreefile} and using it with grubby"   [[ -n ${verbose} ]] && echo "found ${devtreefile} and using it with grubby"
247   DEVTREE="--devtree ${devtreefile}"   DEVTREE="--devtree ${devtreefile}"
248   fi   fi
249    
250     DEVTREEDIR=""
251     if [[ -n ${devtreedir} ]] && [ -d ${devtreedir} ]
252     then
253     [ -n ${verbose} ] && echo "found ${devtreedir} and using it with grubby"
254     DEVTREEDIR="--devtreedir ${devtreedir}"
255     fi
256    
257   # FIXME: is this a good heuristic to find out if we're on iSeries?   # FIXME: is this a good heuristic to find out if we're on iSeries?
258   if [ -d /proc/iSeries ]   if [ -d /proc/iSeries ]
259   then   then
# Line 283  install() Line 295  install()
295   --title=\"${title}\${debugtitle}\" --copy-default \   --title=\"${title}\${debugtitle}\" --copy-default \
296   --args=\"root=${rootdevice} ${kernargs} \${debugargs}\" \   --args=\"root=${rootdevice} ${kernargs} \${debugargs}\" \
297   --remove-kernel=\"TITLE=${title}\${debugtitle}\""   --remove-kernel=\"TITLE=${title}\${debugtitle}\""
  rungrubby --debug ${ARGS}  
298   rungrubby ${ARGS} ${makedefault}   rungrubby ${ARGS} ${makedefault}
299     rungrubby --debug ${ARGS}
300   else   else
301   [[ -n ${verbose} ]] && echo "${grubConfig} does not exist, not running grubby for grub 0.97"   [[ -n ${verbose} ]] && echo "${grubConfig} does not exist, not running grubby for grub 0.97"
302   fi   fi
# Line 298  install() Line 310  install()
310   ${mbargs:+--mbargs=\"${mbargs}\"} \   ${mbargs:+--mbargs=\"${mbargs}\"} \
311   --args=\"root=${rootdevice} ${kernargs} \${debugargs}\" \   --args=\"root=${rootdevice} ${kernargs} \${debugargs}\" \
312   --remove-kernel=\"TITLE=${title}\${debugtitle}\""   --remove-kernel=\"TITLE=${title}\${debugtitle}\""
  rungrubby --debug ${ARGS}  
313   rungrubby ${ARGS} ${makedefault}   rungrubby ${ARGS} ${makedefault}
314     rungrubby --debug ${ARGS}
315   else   else
316   [[ -n ${verbose} ]] && echo "${grub2Config} does not exist, not running grubby for grub 2"   [[ -n ${verbose} ]] && echo "${grub2Config} does not exist, not running grubby for grub 2"
317   fi   fi
# Line 314  install() Line 326  install()
326   ${mbargs:+--mbargs=\"${mbargs}\"} \   ${mbargs:+--mbargs=\"${mbargs}\"} \
327   --args=\"root=${rootdevice} ${kernargs} \${debugargs}\" \   --args=\"root=${rootdevice} ${kernargs} \${debugargs}\" \
328   --remove-kernel=\"TITLE=${title}\${debugtitle}\""   --remove-kernel=\"TITLE=${title}\${debugtitle}\""
  rungrubby --debug ${ARGS}  
329   rungrubby ${ARGS} ${makedefault}   rungrubby ${ARGS} ${makedefault}
330     rungrubby --debug ${ARGS}
331   else   else
332   [[ -n ${verbose} ]] && echo "${grub2EfiConfig} does not exist, not running grubby for grub 2 with UEFI"   [[ -n ${verbose} ]] && echo "${grub2EfiConfig} does not exist, not running grubby for grub 2 with UEFI"
333   fi   fi
# Line 330  install() Line 342  install()
342   ${mbargs:+--mbargs=\"${mbargs}\"} \   ${mbargs:+--mbargs=\"${mbargs}\"} \
343   --args=\"root=${rootdevice} ${kernargs} \${debugargs}\" \   --args=\"root=${rootdevice} ${kernargs} \${debugargs}\" \
344   --remove-kernel=\"TITLE=${version}\""   --remove-kernel=\"TITLE=${version}\""
  rungrubby --debug ${ARGS}  
345   rungrubby ${ARGS} ${makedefault}   rungrubby ${ARGS} ${makedefault}
346     rungrubby --debug ${ARGS}
347    
348   if [[ -n ${runLilo} ]]   if [[ -n ${runLilo} ]]
349   then   then
# Line 352  install() Line 364  install()
364   [[ -n ${verbose} ]] && echo "adding ${version} to ${extlinuxConfig}"   [[ -n ${verbose} ]] && echo "adding ${version} to ${extlinuxConfig}"
365    
366   ARGS="--extlinux -c ${extlinuxConfig} --add-kernel=${kernelImage} \   ARGS="--extlinux -c ${extlinuxConfig} --add-kernel=${kernelImage} \
367     ${DEVTREEDIR} ${DEVTREE} \
368   ${INITRD} --copy-default --title \"${title}\${debugtitle}\" \   ${INITRD} --copy-default --title \"${title}\${debugtitle}\" \
369   ${mbkernel:+--add-multiboot=\"${mbkernel}\"} \   ${mbkernel:+--add-multiboot=\"${mbkernel}\"} \
370   ${mbargs:+--mbargs=\"${mbargs}\"} \   ${mbargs:+--mbargs=\"${mbargs}\"} \
371   --args=\"root=${rootdevice} ${kernargs} \${debugargs}\" \   --args=\"root=${rootdevice} ${kernargs} \${debugargs}\" \
372   --remove-kernel=\"TITLE=${title}\${debugtitle}\""   --remove-kernel=\"TITLE=${title}\${debugtitle}\""
  rungrubby --debug ${ARGS}  
373   rungrubby ${ARGS} ${makedefault}   rungrubby ${ARGS} ${makedefault}
374     rungrubby --debug ${ARGS}
375   else   else
376   [[ -n ${verbose} ]] && echo "${extlinuxConfig} does not exist, not running grubby for extlinux"   [[ -n ${verbose} ]] && echo "${extlinuxConfig} does not exist, not running grubby for extlinux"
377   fi   fi
# Line 505  update() Line 518  update()
518   fi   fi
519   fi   fi
520    
521     DEVTREE=""
522     if [[ -n ${devtreefile} ]] && [ -f ${devtreefile} ]
523     then
524     [[ -n ${verbose} ]] && echo "found ${devtreefile} and using it with grubby"
525     DEVTREE="--devtree ${devtreefile}"
526     fi
527    
528     DEVTREEDIR=""
529     if [[ -n ${devtreedir} ]] && [ -d ${devtreedir} ]
530     then
531     [[ -n ${verbose} ]] && echo "found ${devtreedir} and using it with grubby"
532     DEVTREEDIR="--devtreedir ${devtreedir}"
533     fi
534    
535   if [[ -n ${cfgGrub} ]]   if [[ -n ${cfgGrub} ]]
536   then   then
537   [[ -n ${verbose} ]] && echo "updating ${version} from ${grubConfig}"   [[ -n ${verbose} ]] && echo "updating ${version} from ${grubConfig}"
# Line 513  update() Line 540  update()
540   ${removeargs:+--remove-args=\"${removeargs}\"} \   ${removeargs:+--remove-args=\"${removeargs}\"} \
541   ${mbkernel:+--add-multiboot=\"${mbkernel}\"} \   ${mbkernel:+--add-multiboot=\"${mbkernel}\"} \
542   --title=\"${title}\${debugtitle}\""   --title=\"${title}\${debugtitle}\""
  rungrubby --debug ${ARGS}  
543   rungrubby ${ARGS}   rungrubby ${ARGS}
544     rungrubby --debug ${ARGS}
545   else   else
546   [[ -n ${verbose} ]] && echo "${grubConfig} does not exist, not running grubby"   [[ -n ${verbose} ]] && echo "${grubConfig} does not exist, not running grubby"
547   fi   fi
# Line 526  update() Line 553  update()
553   ${kernargs:+--args=\"${kernargs}\"} \   ${kernargs:+--args=\"${kernargs}\"} \
554   ${removeargs:+--remove-args=\"${removeargs}\"} \   ${removeargs:+--remove-args=\"${removeargs}\"} \
555   --title=\"${title}\${debugtitle}\""   --title=\"${title}\${debugtitle}\""
  rungrubby --debug ${ARGS}  
556   rungrubby ${ARGS}   rungrubby ${ARGS}
557     rungrubby --debug ${ARGS}
558   else   else
559   [[ -n ${verbose} ]] && echo "${grub2Config} does not exist, not running grubby"   [[ -n ${verbose} ]] && echo "${grub2Config} does not exist, not running grubby"
560   fi   fi
# Line 539  update() Line 566  update()
566   ${INITRD} ${kernargs:+--args=\"${kernargs}\"} \   ${INITRD} ${kernargs:+--args=\"${kernargs}\"} \
567   ${removeargs:+--remove-args=\"${removeargs}\"} \   ${removeargs:+--remove-args=\"${removeargs}\"} \
568   --title=\"${title}\${debugtitle}\""   --title=\"${title}\${debugtitle}\""
  rungrubby --debug ${ARGS}  
569   rungrubby ${ARGS}   rungrubby ${ARGS}
570     rungrubby --debug ${ARGS}
571   else   else
572   [[ -n ${verbose} ]] && echo "${grub2EfiConfig} does not exist, not running grubby"   [[ -n ${verbose} ]] && echo "${grub2EfiConfig} does not exist, not running grubby"
573   fi   fi
# Line 552  update() Line 579  update()
579   ${kernargs:+--args=\"${kernargs}\"} \   ${kernargs:+--args=\"${kernargs}\"} \
580   ${removeargs:+--remove-args=\"${removeargs}\"} \   ${removeargs:+--remove-args=\"${removeargs}\"} \
581   --title=\"${title}\${debugtitle}\""   --title=\"${title}\${debugtitle}\""
  rungrubby --debug ${ARGS}  
582   rungrubby ${ARGS}   rungrubby ${ARGS}
583     rungrubby --debug ${ARGS}
584    
585   if [[ -n ${runLilo} ]]   if [[ -n ${runLilo} ]]
586   then   then
# Line 607  update() Line 634  update()
634   then   then
635   [[ -n ${verbose} ]] && echo "updating ${version} from ${extlinuxConfig}"   [[ -n ${verbose} ]] && echo "updating ${version} from ${extlinuxConfig}"
636   ARGS="--extlinux -c ${extlinuxConfig} --update-kernel=${kernelImage} \   ARGS="--extlinux -c ${extlinuxConfig} --update-kernel=${kernelImage} \
637   ${INITRD} ${kernargs:+--args=\"${kernargs}\"} \   ${DEVTREE} ${DEVTREEDIR} ${INITRD} ${kernargs:+--args=\"${kernargs}\"} \
638   ${removeargs:+--remove-args=\"${removeargs}\"} \   ${removeargs:+--remove-args=\"${removeargs}\"} \
639   --title=\"${title}\${debugtitle}\""   --title=\"${title}\${debugtitle}\""
  rungrubby --debug ${ARGS}  
640   rungrubby ${ARGS}   rungrubby ${ARGS}
641     rungrubby --debug ${ARGS}
642   else   else
643   [[ -n ${verbose} ]] && echo "${extlinuxConfig} does not exist, not running grubby"   [[ -n ${verbose} ]] && echo "${extlinuxConfig} does not exist, not running grubby"
644   fi   fi
# Line 657  doRmmoddep() Line 684  doRmmoddep()
684   fi   fi
685  }  }
686    
687    # kernel image for 2.4 is kernel
688    if [[ ${ARCH} = ppc64 ]] || [[ ${ARCH} = ppc ]]
689    then
690     if [[ ${kernelmajor} = 2.4 ]]
691     then
692     kernelName=kernel
693     fi
694    fi
695    
696  while [ $# -gt 0 ]  while [ $# -gt 0 ]
697  do  do
# Line 679  do Line 714  do
714   fi   fi
715   ;;   ;;
716    
717     --devtreedir*)
718     if [[ $1 == --devtreedir\=* ]]
719     then
720     devtreedir=${1#--devtreedir=}
721     else
722     devtreedir=$2
723     shift
724     fi
725     ;;
726    
727   --dracut)   --dracut)
728   dracut=--dracut   dracut=--dracut
729   ;;   ;;
# Line 794  do Line 839  do
839   fi   fi
840   ;;   ;;
841    
842     --kernel-name*)
843     if [[ $1 == --kernel-name\=* ]]
844     then
845     kernelName=${1#--kernel-name=}
846     else
847     kernelName="$2"
848     shift
849     fi
850     ;;
851    
852   -v)   -v)
853   verbose=-v   verbose=-v
854   ;;   ;;
# Line 832  fi Line 887  fi
887    
888  kernelmajor=$(echo ${kernel} | cut -d . -f 1,2)  kernelmajor=$(echo ${kernel} | cut -d . -f 1,2)
889    
 # kernel image for 2.4 is kernel  
 if [[ ${ARCH} = ppc64 ]] || [[ ${ARCH} = ppc ]]  
 then  
  if [[ ${kernelmajor} = 2.4 ]]  
  then  
  kernelName=kernel  
  fi  
 fi  
   
890  [[ ${kernelImage} ]] || kernelImage="${bootPrefix}/${kernelName}-${version}"  [[ ${kernelImage} ]] || kernelImage="${bootPrefix}/${kernelName}-${version}"
891    
892  # set the initrd file based on arch; ia64 is the only currently known oddball  # set the initrd file based on arch; ia64 is the only currently known oddball
# Line 861  then Line 907  then
907  fi  fi
908  [[ -n ${verbose} ]] && echo "initrdfile is ${initrdfile}"  [[ -n ${verbose} ]] && echo "initrdfile is ${initrdfile}"
909    
910  # add dracut i18n, keyboard and plymouth kernel args if requested  if [[ ${ARCH} =~ armv[5|7].*l ]]
 if [[ -n ${dracut} ]] || [[ -n ${adddracutargs} ]]  
911  then  then
912   if [ -r /etc/vconsole.conf ]   if [[ -z ${SHIPSDTB} ]] || [[ ${SHIPSDTB} != yes ]]
913   then   then
914   . /etc/vconsole.conf   if [[ -n ${dtbfile} ]] && [ -f ${bootPrefix}/dtb-${version}/${dtbfile} ]
   
  for i in SYSFONT SYSFONTACM UNIMAP KEYTABLE  
  do  
  val=$(eval echo \$$i)  
  [[ -n ${val} ]] && kernargs="${kernargs} ${i}=${val}"  
  done  
  else  
  if [ -r /etc/conf.d/consolefont ]  
915   then   then
916   . /etc/conf.d/consolefont   devtreefile="${bootPrefix}/dtb-${version}/${dtbfile}"
917     [[ -n ${verbose} ]] && echo "devtreefile is ${devtreefile}"
918   if [[ -n ${CONSOLEFONT} ]]   elif [ -d ${bootPrefix}/dtb-${version}/ ]
  then  
  kernargs="${kernargs} SYSFONT=${CONSOLEFONT}"  
  fi  
  fi  
   
  if  [ -r /etc/conf.d/keymap ]  
919   then   then
920   . /etc/conf.d/keymap   devtreedir="${bootPrefix}/dtb-${version}/"
921     [[ -n ${verbose} ]] && echo "devtreedir is ${devtreedir}"
  if [[ -n ${KEYMAP} ]]  
  then  
  kernargs="${kernargs} KEYTABLE=${KEYMAP}"  
  fi  
922   fi   fi
923   fi   fi
924    fi
925    [[ -n ${verbose} ]] && echo "devtreedir is ${devtreedir}"
926    
927   if [ -r /etc/locale.conf ]  # add dracut kernel args if requested
928   then  if [[ -n ${dracut} ]] && [[ -n ${adddracutargs} ]]
929   . /etc/locale.conf   [ -r /etc/vconsole.conf ] && . /etc/vconsole.conf
930     [ -r /etc/locale.conf ] && . /etc/locale.conf
931    
932   if [[ -n ${LANG} ]]   while read opt rd_opt
933   then   do
934   kernargs="${kernargs} LANG=${LANG}"   [ -n "${!opt}" ] && kernargs="$kernargs $rd_opt=\"${!opt}\""
935   fi   done <<< 'KEYMAP rd.vconsole.keymap
936   fi   FONT rd.vconsole.font
937     FONT_MAP rd.vconsole.font.map
938     FONT_UNIMAP rd.vconsole.font.unimap
939     UNICODE rd.vconsole.font.unicode
940     EXT_KEYMAP rd.vconsole.keymap.ext
941     LANG rd.locale.LANG
942     LC_ALL rd.locale.LC_ALL'
943  fi  fi
944    
945  # set this as the default if we have the package and it matches  # set this as the default if we have the package and it matches
946  if [[ ${mode} = --install ]] && [[ ${UPDATEDEFAULT} = yes ]] && [[ -n ${package} ]] &&  if [[ ${mode} = --install ]] && [[ ${UPDATEDEFAULT} = yes ]] && [[ -n ${package} ]] && [[ -n ${DEFAULTKERNEL} ]]
  [[ -n ${DEFAULTKERNEL} ]] && [[ ${package} = ${DEFAULTKERNEL} ]]  
947  then  then
948   makedefault="--make-default"   if [[ ${package} = ${DEFAULTKERNEL} ]] || [[ ${package}-core = ${DEFAULTKERNEL} ]]
949   [[ -n ${verbose} ]] && echo "making it the default based on config"   then
950     makedefault="--make-default"
951     [[ -n ${verbose} ]] && echo "making it the default based on config"
952     fi
953  fi  fi
954    
955  if [[ ${moddep} = make ]]  if [[ ${moddep} = make ]]
# Line 996  fi Line 1034  fi
1034  # if we mounted the U-Boot directory, unmount it.  # if we mounted the U-Boot directory, unmount it.
1035  [[ -n ${mounted} ]] && umount ${ubootDir}  [[ -n ${mounted} ]] && umount ${ubootDir}
1036    
1037    # make sure changes make it to the disk.
1038    # if /boot is a mountpoint, force the meta data on disk
1039    # to by-pass writeback delay.
1040    # PPC64LE-only to deal with Petitboot issues
1041    if [[ ${ARCH} = ppc64le ]]
1042    then
1043     sync && mountpoint -q /boot && fsfreeze -f /boot && fsfreeze -u /boot
1044    fi
1045    
1046  exit 0  exit 0

Legend:
Removed from v.2961  
changed lines
  Added in v.3006