[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: r48410 - trunk/installer/build/boot/x86



On Wednesday 18 July 2007 23:54, Frans Pop wrote:
> > Also, unlike the expert boot turning it back on, even choosing to
> > boot in recovery mode in grub won't avoid the quiet mode.
>
> After looking at menu.lst, I see that for grub this could be fixed by
> only setting the quiet option in "# defoptions=" and not in
> "# altoptions=". This would mean special casing it in grub-installer
> and maybe ignoring it in lilo-installer.

s/altoptions/kopt/

The patch below will split out "quiet" from other options and place it in
"# defoptions", which will only be added to the first entry per kernel,
and not to any alternative entries.

It also allows any other entries to be moved there. I thought a bit about
doing this for "vga=", but decided not to in case that option was added
because it was required to get any display on a certain system.

If there are no comments, I will commit this.


Index: grub-installer
===================================================================
--- grub-installer      (revision 48456)
+++ grub-installer      (working copy)
@@ -571,11 +571,28 @@
        rm -f /tmp/menu.lst.password
 fi

-user_params=$(echo $(user-params)) || true
+# Add user parameters to menu.list; some options are only added to the
+# default entry for a kernel instead of all entries
+user_params=$(user-params) || true
+defopt_params=""
+kopt_params=""
+for u_param in "$user_params"; do
+       case "$u_param" in
+           quiet)
+               defopt_params=${defopt_params:+$defopt_params }$u_param ;;
+           *)
+               kopt_params=${kopt_params:+$kopt_params }$u_param ;;
+       esac
+done
+if [ "$defopt_params" ]; then
+       sed -i "s!^\(# defoptions=.*\)!\1 $defopt_params!" $ROOT/boot/grub/$menu_file
+fi
+if [ "$kopt_params" ]; then
+       sed -i "s!^\(# kopt=.*\)!\1 $kopt_params!" $ROOT/boot/grub/$menu_file
+fi
+# In either case, update the Debian kernel entries
 if [ "$user_params" ]; then
-       # Modify menu.lst to include user parameters.
-       sed -i "s!^\(# kopt=.*\)!\1 $user_params!" $ROOT/boot/grub/$menu_file
-       update_grub # again, to add new options to all the Debian kernel entries
+       update_grub
 fi

 if [ "$serial" ] ; then

Attachment: pgpFclC8YpBP3.pgp
Description: PGP signature


Reply to: