|
|
newdoc docs/menu.lst grub.conf.sample | newdoc docs/menu.lst grub.conf.sample |
} | } |
| |
pkg_postinst() { |
setup_boot_dir() { |
[[ ${ROOT} != "/" ]] && return 0 |
local dir="${1}" |
|
|
|
[[ ! -e "${dir}" ]] && die "${dir} does not exist!" |
|
|
|
[[ ! -e "${dir}/grub" ]] && mkdir "${dir}/grub" |
| |
# change menu.lst to grub.conf | # change menu.lst to grub.conf |
if [[ ! -e /boot/grub/grub.conf && -e /boot/grub/menu.lst ]] ; then |
if [[ ! -e "${dir}/grub/grub.conf" && -e "${dir}/grub/menu.lst" ]] ; then |
mv -f /boot/grub/menu.lst /boot/grub/grub.conf |
mv -f "${dir}/grub/menu.lst ${dir}/grub/grub.conf" |
ewarn | ewarn |
ewarn "*** IMPORTANT NOTE: menu.lst has been renamed to grub.conf" | ewarn "*** IMPORTANT NOTE: menu.lst has been renamed to grub.conf" |
ewarn | ewarn |
fi | fi |
|
|
|
if [[ ! -e "${dir}"/grub/menu.lst ]]; then |
einfo "Linking from new grub.conf name to menu.lst" | einfo "Linking from new grub.conf name to menu.lst" |
[[ ! -e /boot/grub/menu.lst ]] && ln -snf grub.conf /boot/grub/menu.lst |
ln -snf grub.conf "${dir}/grub/menu.lst" |
|
fi |
| |
[[ -e /boot/grub/stage2 ]] && mv /boot/grub/stage2{,.old} |
[[ -e "${dir}"/grub/stage2 ]] && mv "${dir}"/grub/stage2{,.old} |
| |
einfo "Copying files from /lib/grub and /usr/lib/grub to /boot" |
einfo "Copying files from /lib/grub and /usr/lib/grub to "${dir}"" |
for x in /lib*/grub/*/* /usr/lib*/grub/*/* ; do | for x in /lib*/grub/*/* /usr/lib*/grub/*/* ; do |
[[ -f ${x} ]] && cp -p ${x} /boot/grub/ |
[[ -f ${x} ]] && cp -p ${x} "${dir}"/grub/ |
done | done |
| |
if [[ -e /boot/grub/grub.conf ]] ; then |
if [[ -e "${dir}"/grub/grub.conf ]] ; then |
egrep -v '^[[:space:]]*(#|$|default|fallback|splashimage|timeout|title)' /boot/grub/grub.conf | \ |
egrep -v '^[[:space:]]*(#|$|default|fallback|splashimage|timeout|title)' "${dir}"/grub/grub.conf | \ |
/sbin/grub --batch \ | /sbin/grub --batch \ |
--device-map=/boot/grub/device.map \ |
--device-map="${dir}"/grub/device.map \ |
> /dev/null | > /dev/null |
fi | fi |
} | } |
|
|
|
pkg_postinst() { |
|
[[ ${ROOT} != "/" ]] && return 0 |
|
setup_boot_dir /boot |
|
einfo "To install grub files to for example an usb stick you can use:" |
|
einfo "emerge --config =${P}" |
|
} |
|
|
|
pkg_config() { |
|
local dir |
|
einfo "Enter the directory where you want to setup grub:" |
|
read dir |
|
setup_boot_dir ${dir} |
|
} |