~ubuntu-branches/ubuntu/jaunty/grub2/jaunty-proposed

« back to all changes in this revision

Viewing changes to util/grub.d/10_linux.in

  • Committer: Bazaar Package Importer
  • Author(s): Robert Millan
  • Date: 2008-01-28 00:01:11 UTC
  • mfrom: (1.1.8 upstream)
  • Revision ID: james.westby@ubuntu.com-20080128000111-qolpe0u4qkf0xccc
Tags: 1.95+20080128-1
* New CVS snapshot.
  - Fixes bogus CLAIM problems on Apple firmware.  (Closes: #449135, #422729)
  - grub-probe performs sanity checks to make sure our filesystem drivers
    are usable.  (Closes: #462449)
  - patches/disable_ata.diff: Remove.  ATA module isn't auto-loaded in
    rescue floppies now.
  - patches/disable_xfs.diff: Remove.  See above (about grub-probe).
* Bring back grub-emu; it can help a lot with debugging feedback.
  - control
  - rules

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
#! /bin/sh -e
2
2
 
3
3
# update-grub helper script.
4
 
# Copyright (C) 2006,2007  Free Software Foundation, Inc.
 
4
# Copyright (C) 2006,2007,2008  Free Software Foundation, Inc.
5
5
#
6
6
# GRUB is free software: you can redistribute it and/or modify
7
7
# it under the terms of the GNU General Public License as published by
16
16
# You should have received a copy of the GNU General Public License
17
17
# along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
18
18
 
19
 
if [ "x${GRUB_DISTRIBUTOR}" = "" ] ; then
 
19
prefix=@prefix@
 
20
exec_prefix=@exec_prefix@
 
21
libdir=@libdir@
 
22
. ${libdir}/grub/update-grub_lib
 
23
 
 
24
if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then
20
25
  OS=GNU/Linux
21
26
else
22
27
  OS="${GRUB_DISTRIBUTOR} GNU/Linux"
74
79
}
75
80
 
76
81
list=`for i in /boot/vmlinu[xz]-* /vmlinu[xz]-* ; do
77
 
        if test -e $i ; then echo -n "$i " ; fi
 
82
        if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi
78
83
      done`
79
84
 
80
85
while [ "x$list" != "x" ] ; do
84
89
  dirname=`dirname $linux`
85
90
  grub_dirname=`echo ${dirname} | sed -e "s%^/boot%${GRUB_DRIVE_BOOT}%g"`
86
91
  version=`echo $basename | sed -e "s,^[^0-9]*-,,g"`
 
92
  alt_version=`echo $version | sed -e "s,\.old$,,g"`
 
93
 
 
94
  initrd=
 
95
  for i in "initrd.img-${version}" "initrd-${version}.img" \
 
96
           "initrd.img-${alt_version}" "initrd-${alt_version}.img"; do
 
97
    if test -e "${dirname}/${i}" ; then
 
98
      initrd="$i"
 
99
      break
 
100
    fi
 
101
  done
 
102
  if test -n "${initrd}" ; then
 
103
    echo "Found initrd image: ${dirname}/${initrd}" >&2
 
104
  fi
 
105
 
87
106
  cat << EOF
88
107
menuentry "${OS}, linux ${version}" {
89
108
        linux   ${grub_dirname}/${basename} root=${GRUB_DEVICE} ro ${GRUB_CMDLINE_LINUX}
90
109
EOF
91
 
  if test -e ${dirname}/initrd.img-${version} ; then
92
 
    echo "Found initrd image: ${dirname}/initrd.img-${version}" >&2
 
110
  if test -n "${initrd}" ; then
93
111
    cat << EOF
94
 
        initrd  ${grub_dirname}/initrd.img-${version}
 
112
        initrd  ${grub_dirname}/${initrd}
95
113
EOF
96
114
  fi
97
115
  cat << EOF
98
116
}
99
117
EOF
 
118
 
100
119
  cat << EOF
101
120
menuentry "${OS}, linux ${version} (single-user mode)" {
102
121
        linux   ${grub_dirname}/${basename} root=${GRUB_DEVICE} ro single ${GRUB_CMDLINE_LINUX}
103
122
EOF
104
 
  if test -e ${dirname}/initrd.img-${version} ; then
 
123
  if test -n "${initrd}" ; then
105
124
    cat << EOF
106
 
        initrd  ${grub_dirname}/initrd.img-${version}
 
125
        initrd  ${grub_dirname}/${initrd}
107
126
EOF
108
127
  fi
109
128
  cat << EOF
110
129
}
111
130
EOF
 
131
 
112
132
  list=`echo $list | tr ' ' '\n' | grep -vx $linux | tr '\n' ' '`
113
133
done