commit: 319314e50aaf8308b1a5ad878bac888dcdf95b6b Author: Andrea Postiglione <andrea.postiglione <AT> gmail <DOT> com> AuthorDate: Sat Aug 15 11:09:40 2020 +0000 Commit: Andrea Postiglione <andrea.postiglione <AT> gmail <DOT> com> CommitDate: Sat Aug 15 11:09:40 2020 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=319314e5
sys-boot/customrescuecd-x86_64-grub : initial ebuild Signed-off-by: Andrea Postiglione <andrea.postiglione <AT> gmail.com> .../customrescuecd-x86_64-grub-0.1.ebuild | 31 ++++++++++++++++ .../files/customrescuecd.default | 7 ++++ .../files/customrescuecd.grub | 43 ++++++++++++++++++++++ sys-boot/customrescuecd-x86_64-grub/metadata.xml | 17 +++++++++ 4 files changed, 98 insertions(+) diff --git a/sys-boot/customrescuecd-x86_64-grub/customrescuecd-x86_64-grub-0.1.ebuild b/sys-boot/customrescuecd-x86_64-grub/customrescuecd-x86_64-grub-0.1.ebuild new file mode 100644 index 0000000..2cbc487 --- /dev/null +++ b/sys-boot/customrescuecd-x86_64-grub/customrescuecd-x86_64-grub-0.1.ebuild @@ -0,0 +1,31 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="Grub menu entries for the .iso image of customrescuecd" +HOMEPAGE="https://sourceforge.net/projects/customrescuecd/" +SRC_URI="" + +LICENSE="GPL-2" +SLOT=0 +KEYWORDS="~amd64" + +S=${WORKDIR} + +RDEPEND="app-admin/customrescuecd-x86_64 + sys-boot/grub" + +src_install() { + exeinto /etc/grub.d + newexe "${FILESDIR}"/customrescuecd.grub 39_customrescuecd + + insinto /etc/default + newins "${FILESDIR}"/customrescuecd.default customrescuecd +} + +pkg_postinst() { + elog "To add the menu entries for customrescuecd to grub, you should now run" + elog " grub-mkconfig -o /boot/grub/grub.cfg" + elog "You can set custom bootoptions in /etc/default/customrescuecd" +} diff --git a/sys-boot/customrescuecd-x86_64-grub/files/customrescuecd.default b/sys-boot/customrescuecd-x86_64-grub/files/customrescuecd.default new file mode 100644 index 0000000..4392c33 --- /dev/null +++ b/sys-boot/customrescuecd-x86_64-grub/files/customrescuecd.default @@ -0,0 +1,7 @@ +Here you can set custom bootoptions for the CustomRescueCD +# +# You can add for example in a space separated list: +# copytoram: causes the iso file to be fully loaded into memory +# this requires 1.5GB of memory to cache everything + +CRCD_BOOTOPTIONS="" diff --git a/sys-boot/customrescuecd-x86_64-grub/files/customrescuecd.grub b/sys-boot/customrescuecd-x86_64-grub/files/customrescuecd.grub new file mode 100644 index 0000000..5087ebd --- /dev/null +++ b/sys-boot/customrescuecd-x86_64-grub/files/customrescuecd.grub @@ -0,0 +1,43 @@ +#!/bin/sh +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +. /usr/share/grub/grub-mkconfig_lib + +if [ -r /etc/default/customrescuecd ] ; then + . /etc/default/customrescuecd +fi + +# crcd = path of newest link to iso of customrescuecd, created by the ebuild +# of customrescuecd-x86_64 + +crcd="/usr/share/systemrescuecd/systemrescuecd-x86_64-newest.iso" + +longname="CustomRescueCD" +bootops=")" + +if [ ! -z "${CRCD_BOOTOPTIONS}" ]; then + bootops=" with bootoptions)" +fi + +if [ -f "${crcd}" ]; then + + device=$(${grub_probe} --target=device "${crcd}") + path=$(make_system_path_relative_to_its_root "${crcd}") + grub_string=$(prepare_grub_to_access_device "${device}" | grub_add_tab | grub_add_tab) + + gettext_printf "Found %s on %s\n" "${longname}" "${device}" >&2 + onstr=$(gettext_printf "(on %s)" "${device}") + + cat << EOF +submenu "${longname}" --class submenu { + menuentry "${longname} (64bit ${bootops}" --class rescue { +${grub_string} + set isofile=${path} + loopback loop \${isofile} + linux (loop)/boot/x86_64/customrescue64 ${CRCD_BOOTOPTIONS} customisobasedir=customresccd customisolabel=CRC64 vga=791 net.ifnames=0 + } +} +EOF + +fi diff --git a/sys-boot/customrescuecd-x86_64-grub/metadata.xml b/sys-boot/customrescuecd-x86_64-grub/metadata.xml new file mode 100644 index 0000000..2e146c3 --- /dev/null +++ b/sys-boot/customrescuecd-x86_64-grub/metadata.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>gentoob...@milaw.biz</email> + <name>Michael Lange</name> + <description>Accepts only mails from Gentoo's Bugzilla</description> + </maintainer> + <maintainer type="person"> + <email>mgo...@gentoo.org</email> + <name>Michał Górny</name> + </maintainer> + <longdescription> + This package adds menu entries in GRUB for the SystemRescueCD. You can + add custom bootoptions for SystemRescueCD in a special config file. + </longdescription> +</pkgmetadata>