[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[2657] 2009-10-26 Robert Millan <address@hidden>
From: |
Robert Millan |
Subject: |
[2657] 2009-10-26 Robert Millan <address@hidden> |
Date: |
Mon, 26 Oct 2009 00:41:59 +0000 |
Revision: 2657
http://svn.sv.gnu.org/viewvc/?view=rev&root=grub&revision=2657
Author: robertmh
Date: 2009-10-26 00:41:58 +0000 (Mon, 26 Oct 2009)
Log Message:
-----------
2009-10-26 Robert Millan <address@hidden>
* util/grub.d/10_freebsd.in: Remove.
* util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
* configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
Modified Paths:
--------------
trunk/grub2/util/grub.d/10_kfreebsd.in
Property Changed:
----------------
trunk/grub2/
Property changes on: trunk/grub2
___________________________________________________________________
Modified: bzr:revision-info
- timestamp: 2009-10-26 01:40:53.117000103 +0100
committer: Robert Millan <address@hidden>
properties:
branch-nick: trunk
+ timestamp: 2009-10-26 01:41:35.253999949 +0100
committer: Robert Millan <address@hidden>
properties:
branch-nick: trunk
Modified: bzr:revision-id:v3-single1-dHJ1bmsvZ3J1YjI.
- 1769 address@hidden
1770 address@hidden
1771 address@hidden
1772 address@hidden
1773 address@hidden
1774 address@hidden
1775 address@hidden
1776 address@hidden
1777 address@hidden
1778 address@hidden
1779 address@hidden
1780 address@hidden
+ 1769 address@hidden
1770 address@hidden
1771 address@hidden
1772 address@hidden
1773 address@hidden
1774 address@hidden
1775 address@hidden
1776 address@hidden
1777 address@hidden
1778 address@hidden
1779 address@hidden
1780 address@hidden
1781 address@hidden
Modified: bzr:file-ids
- util/grub.d/10_kfreebsd.in 10_kfreebsd.in-20091026003604-6qpubno6gnmu5ooy-1
+
Modified: trunk/grub2/util/grub.d/10_kfreebsd.in
===================================================================
--- trunk/grub2/util/grub.d/10_kfreebsd.in 2009-10-26 00:41:54 UTC (rev
2656)
+++ trunk/grub2/util/grub.d/10_kfreebsd.in 2009-10-26 00:41:58 UTC (rev
2657)
@@ -21,82 +21,82 @@
address@hidden@
. ${libdir}/grub/grub-mkconfig_lib
-if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then
- OS=GNU/Linux
-else
- OS="${GRUB_DISTRIBUTOR} GNU/Linux"
-fi
-
-# loop-AES arranges things so that /dev/loop/X can be our root device, but
-# the initrds that Linux uses don't like that.
-case ${GRUB_DEVICE} in
- /dev/loop/*|/dev/loop[0-9])
- GRUB_DEVICE=`losetup ${GRUB_DEVICE} | sed -e "s/^[^(]*(\([^)]\+\)).*/\1/"`
- ;;
+case "${GRUB_DISTRIBUTOR}" in
+ Debian) OS="${GRUB_DISTRIBUTOR} GNU/kFreeBSD" ;;
+ *) OS="FreeBSD" ;;
esac
-if [ "x${GRUB_DEVICE_UUID}" = "x" ] || [ "x${GRUB_DISABLE_LINUX_UUID}" =
"xtrue" ] \
- || ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" ; then
- LINUX_ROOT_DEVICE=${GRUB_DEVICE}
-else
- LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
-fi
-
-linux_entry ()
+kfreebsd_entry ()
{
cat << EOF
menuentry "$1" {
EOF
prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/\t/"
cat << EOF
- linux ${rel_dirname}/${basename}
root=${linux_root_device_thisversion} ro $2
+ kfreebsd ${rel_dirname}/${basename}
EOF
- if test -n "${initrd}" ; then
+
+ if test -n "${devices}" ; then
cat << EOF
- initrd ${rel_dirname}/${initrd}
+ kfreebsd_loadenv
${devices_rel_dirname}/${devices_basename}
EOF
fi
+
+ if test -n "${acpi_ko}" ; then
+ cat << EOF
+ kfreebsd_module_elf ${acpi_ko_rel_dirname}/${acpi_ko_basename}
+EOF
+ fi
+
cat << EOF
+ set kFreeBSD.vfs.root.mountfrom=${kfreebsd_fs}:${GRUB_DEVICE}
+ set kFreeBSD.vfs.root.mountfrom.options=rw
}
EOF
}
-list=`for i in /boot/vmlinu[xz]-* /vmlinu[xz]-* ; do
+list=`for i in /boot/kfreebsd-* /boot/kernel/kernel ; do
if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi
done`
while [ "x$list" != "x" ] ; do
- linux=`version_find_latest $list`
- echo "Found linux image: $linux" >&2
- basename=`basename $linux`
- dirname=`dirname $linux`
+ kfreebsd=`version_find_latest $list`
+ echo "Found kernel of FreeBSD: $kfreebsd" >&2
+ basename=`basename $kfreebsd`
+ dirname=`dirname $kfreebsd`
rel_dirname=`make_system_path_relative_to_its_root $dirname`
- version=`echo $basename | sed -e "s,^[^0-9]*-,,g"`
+
+ if [ -f /boot/device.hints ] ; then
+ devices=/boot/device.hints
+ devices_basename=`basename $devices`
+ devices_dirname=`dirname $devices`
+ devices_rel_dirname=`make_system_path_relative_to_its_root
$devices_dirname`
+ fi
+
+ case ${GRUB_FS} in
+ ufs1 | ufs2) kfreebsd_fs=ufs ;;
+ *) kfreebsd_fs=${GRUB_FS} ;;
+ esac
+
+ version=`echo $basename | sed -e "s,^[^0-9]*-,,g;s/\.gz$//g"`
alt_version=`echo $version | sed -e "s,\.old$,,g"`
- linux_root_device_thisversion="${LINUX_ROOT_DEVICE}"
- initrd=
- for i in "initrd.img-${version}" "initrd-${version}.img" \
- "initrd-${version}" "initrd.img-${alt_version}" \
- "initrd-${alt_version}.img" "initrd-${alt_version}"; do
- if test -e "${dirname}/${i}" ; then
- initrd="$i"
+ acpi_ko=
+ for i in "/lib/modules/${version}/acpi.ko"
"/lib/modules/${alt_version}/acpi.ko" \
+ "/boot/kernel/acpi.ko"; do
+ if test -e "$i" ; then
+ acpi_ko="$i"
break
fi
done
- if test -n "${initrd}" ; then
- echo "Found initrd image: ${dirname}/${initrd}" >&2
- else
- # "UUID=" magic is parsed by initrds. Since there's no initrd, it can't
work here.
- linux_root_device_thisversion=${GRUB_DEVICE}
+ if test -n "${acpi_ko}" ; then
+ echo "Found ACPI module: ${acpi_ko}" >&2
+ acpi_ko_basename=`basename ${acpi_ko}`
+ acpi_ko_dirname=`dirname ${acpi_ko}`
+ acpi_ko_rel_dirname=`make_system_path_relative_to_its_root
$acpi_ko_dirname`
fi
- linux_entry "${OS}, with Linux ${version}" \
- "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
- if [ "x${GRUB_DISABLE_LINUX_RECOVERY}" != "xtrue" ]; then
- linux_entry "${OS}, with Linux ${version} (recovery mode)" \
- "single ${GRUB_CMDLINE_LINUX}"
- fi
+ kfreebsd_entry "${OS}, kFreeBSD ${version}"
- list=`echo $list | tr ' ' '\n' | grep -vx $linux | tr '\n' ' '`
+ list=`echo $list | tr ' ' '\n' | grep -vx $kfreebsd | tr '\n' ' '`
done
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [2657] 2009-10-26 Robert Millan <address@hidden>,
Robert Millan <=