From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with archive (Exim 4.43) id 1JIuRc-0007R9-9p for mharc-grub-devel@gnu.org; Sat, 26 Jan 2008 18:28:16 -0500 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JIuRa-0007QT-Nw for grub-devel@gnu.org; Sat, 26 Jan 2008 18:28:14 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JIuRa-0007Po-3a for grub-devel@gnu.org; Sat, 26 Jan 2008 18:28:14 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JIuRZ-0007Pl-Ny for grub-devel@gnu.org; Sat, 26 Jan 2008 18:28:13 -0500 Received: from c60.cesmail.net ([216.154.195.49]) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.60) (envelope-from ) id 1JIuRZ-0006u6-CI for grub-devel@gnu.org; Sat, 26 Jan 2008 18:28:13 -0500 Received: from unknown (HELO relay.cesmail.net) ([192.168.1.81]) by c60.cesmail.net with ESMTP; 26 Jan 2008 18:28:12 -0500 Received: from dv.roinet.com (static-72-92-88-10.phlapa.fios.verizon.net [72.92.88.10]) by relay.cesmail.net (Postfix) with ESMTP id 8E363618FE1 for ; Sat, 26 Jan 2008 18:28:12 -0500 (EST) From: Pavel Roskin To: grub-devel@gnu.org Date: Sat, 26 Jan 2008 18:28:12 -0500 Message-ID: <20080126232811.19279.49191.stgit@dv.roinet.com> User-Agent: StGIT/0.14.1 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-detected-kernel: by monty-python.gnu.org: Genre and OS details not recognized. Subject: [PATCH 1/3] Implement grub-mkrescue for PowerMac and CHRP X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: The development of GRUB 2 List-Id: The development of GRUB 2 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 26 Jan 2008 23:28:14 -0000 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in. * conf/powerpc-ieee1275.mk: Add grub-mkrescue support. * conf/powerpc-ieee1275.mk: Regenerate. * util/powerpc/ieee1275/grub-mkrescue.in: Implement grub-mkrescue for PowerMac and CHRP. --- DISTLIST | 1 conf/powerpc-ieee1275.mk | 10 +++ conf/powerpc-ieee1275.rmk | 4 + util/powerpc/ieee1275/grub-mkrescue.in | 116 ++++++++++++++++++++++++++++++++ 4 files changed, 131 insertions(+), 0 deletions(-) create mode 100644 util/powerpc/ieee1275/grub-mkrescue.in diff --git a/DISTLIST b/DISTLIST index 6388257..6b527c7 100644 --- a/DISTLIST +++ b/DISTLIST @@ -330,6 +330,7 @@ util/i386/pc/misc.c util/i386/pc/grub-mkrescue.in util/ieee1275/get_disk_name.c util/powerpc/ieee1275/grub-install.in +util/powerpc/ieee1275/grub-mkrescue.in util/powerpc/ieee1275/misc.c video/bitmap.c video/video.c diff --git a/conf/powerpc-ieee1275.mk b/conf/powerpc-ieee1275.mk index 8869f5b..925027f 100644 --- a/conf/powerpc-ieee1275.mk +++ b/conf/powerpc-ieee1275.mk @@ -686,6 +686,7 @@ kernel_elf_LDFLAGS = $(COMMON_LDFLAGS) -static-libgcc -lgcc \ # Scripts. sbin_SCRIPTS = grub-install +bin_SCRIPTS = grub-mkrescue # For grub-install. grub_install_SOURCES = util/powerpc/ieee1275/grub-install.in @@ -696,6 +697,15 @@ grub-install: util/powerpc/ieee1275/grub-install.in config.status chmod +x $@ +# For grub-mkrescue. +grub_mkrescue_SOURCES = util/powerpc/ieee1275/grub-mkrescue.in +CLEANFILES += grub-mkrescue + +grub-mkrescue: util/powerpc/ieee1275/grub-mkrescue.in config.status + ./config.status --file=grub-mkrescue:util/powerpc/ieee1275/grub-mkrescue.in + chmod +x $@ + + # Modules. pkglib_MODULES = halt.mod \ _linux.mod \ diff --git a/conf/powerpc-ieee1275.rmk b/conf/powerpc-ieee1275.rmk index 5a43e9f..42af2c5 100644 --- a/conf/powerpc-ieee1275.rmk +++ b/conf/powerpc-ieee1275.rmk @@ -104,10 +104,14 @@ kernel_elf_LDFLAGS = $(COMMON_LDFLAGS) -static-libgcc -lgcc \ # Scripts. sbin_SCRIPTS = grub-install +bin_SCRIPTS = grub-mkrescue # For grub-install. grub_install_SOURCES = util/powerpc/ieee1275/grub-install.in +# For grub-mkrescue. +grub_mkrescue_SOURCES = util/powerpc/ieee1275/grub-mkrescue.in + # Modules. pkglib_MODULES = halt.mod \ _linux.mod \ diff --git a/util/powerpc/ieee1275/grub-mkrescue.in b/util/powerpc/ieee1275/grub-mkrescue.in new file mode 100644 index 0000000..61495ab --- /dev/null +++ b/util/powerpc/ieee1275/grub-mkrescue.in @@ -0,0 +1,116 @@ +#! /bin/sh -e + +# Make GRUB rescue image +# Copyright (C) 1999,2000,2001,2002,2003,2004,2005,2006,2007,2008 Free Software Foundation, Inc. +# +# GRUB is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# GRUB is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GRUB. If not, see . + +# Initialize some variables. +transform="@program_transform_name@" + +prefix=@prefix@ +exec_prefix=@exec_prefix@ +bindir=@bindir@ +libdir=@libdir@ +PACKAGE_NAME=@PACKAGE_NAME@ +PACKAGE_TARNAME=@PACKAGE_TARNAME@ +PACKAGE_VERSION=@PACKAGE_VERSION@ +target_cpu=@target_cpu@ +platform=@platform@ +pkglibdir=${libdir}/`echo ${PACKAGE_TARNAME}/${target_cpu}-${platform} | sed ${transform}` + +grub_mkimage=${bindir}/`echo grub-mkimage | sed ${transform}` + +# Usage: usage +# Print the usage. +usage () { + cat <. +EOF +} + +input_dir=${pkglibdir} +grub_mkimage=grub-mkimage + +# Check the arguments. +for option in "$@"; do + case "$option" in + -h | --help) + usage + exit 0 ;; + -v | --version) + echo "grub-install (GNU GRUB ${PACKAGE_VERSION})" + exit 0 ;; + --modules=*) + modules=`echo "$option" | sed 's/--modules=//'` ;; + --pkglibdir=*) + input_dir=`echo "$option" | sed 's/--pkglibdir=//'` ;; + --grub-mkimage=*) + grub_mkimage=`echo "$option" | sed 's/--grub-mkimage=//'` ;; + -*) + echo "Unrecognized option \`$option'" 1>&2 + usage + exit 1 + ;; + *) + if test "x$output_image" != x; then + echo "Unrecognized option \`$option'" 1>&2 + usage + exit 1 + fi + output_image="${option}" ;; + esac +done + +if test "x$output_image" = x; then + usage + exit 1 +fi + +if [ "x${modules}" = "x" ] ; then + modules=`cd ${input_dir}/ && ls *.mod` +fi + +map_file=`mktemp` +cat >${map_file} <