We only support creating initramfs nowdays, so RAM disk support is not needed.
Since initramfs does not need root=/dev/ram0 (and we actually ignore it if it is set),
we should not tell people to use it.
We should also stop tell people to use real_root.
Conflicts:
genkernel
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
# Distributed under the GPL v2
# $Id$
+ 15 Oct 2012; Peter Hjalmarsson <xake@rymdraket.net> README,
+ doc/genkernel.8.txt, gen_bootloader.sh, genkernel:
+ Update the documentation to reflect current status re real_root/init.
+
15 Oct 2012; Robin H. Johnson <robbat2@gentoo.org> genkernel:
Bump to 3.4.44.2 with depmod corner cases by xake.
IMPORTANT KERNEL NOTES:
- You MUST have /dev/pts turned on.
- "Block devices->Loopback device support"
- "Block devices->RAM disk support"
- To boot genkernel properly, the kernel config must have
- RAM disk support and Initial RAM disk support. You should
- also set your "Default RAM disk size to 8192"
+ Initial RAM disk support.
BOOTING A KERNEL WITH INITRD:
GRUB:
- real_root= needs to point to your root partition
- root= needs to point to the ramdisk (should stay at /dev/ram0)
- init= needs to point to the linuxrc file to execute on the ramdisk
+ root= needs to point to your root partition
vga= should be the resolution you want your screen. 0x317 is
1024x768 - 16bpp and you'll get a pretty splash if
configured properly
GRUB EXAMPLE ENTRY:
title=2.6.0 [ Genkernel ]
root (hd0,0)
- kernel (hd0,0)/boot/kernel-2.6.0-gentoo root=/dev/ram0 init=/linuxrc real_root=/dev/hda3 vga=0x317
+ kernel (hd0,0)/boot/kernel-2.6.0-gentoo root=/dev/hda3 vga=0x317
initrd (hd0,0)/boot/initrd-2.6.0-gentoo
The following options can be passed as kernel parameters from the bootloader,
which the ramdisk scripts would recognize.
-*real_root*=<...>::
+*root*=<...>::
Specifies the device node of the root filesystem to mount.
+*real_root*=<...>::
+ Legacy kernel parameter from kernel-2.4 initrd.
+ Does the same as *root*=, which should be used in its place.
+
*crypt_root*=<...>::
This specifies the device encrypted by Luks, which contains the
root filesystem to mount.
*dodmraid*[=<...>]::
Activate Device-Mapper RAID and (optionally) pass arguments to it.
-*real_init*=<...>::
+*init*=<...>::
Override location of init script, default is "/sbin/init".
+*real_init*=<...>::
+ Legacy kernel parameter from kernel-2.4 initrd.
+ Does the same as *init*=, which should be used in its place.
+
*init_opts*=<...>::
Passes arguments to init on bootup.
*nocache*::
Enables/disables caching of CD contents in RAM.
-*root*=<...>::
- Omit or specify as "/dev/ram0".
- For other values be sure to know what you're doing.
-
*subdir*=<...>::
switch_root into "<CHROOT>/<SUBDIR>" instead of "<CHROOT>/".
<CHROOT> is "/newroot" (or "/union") usually.
# Add grub configuration to grub.conf
echo "# Genkernel generated entry, see GRUB documentation for details" >> ${GRUB_CONF}
echo "title=Gentoo Linux ($KV)" >> ${GRUB_CONF}
- if [ "${BUILD_INITRD}" = '0' ]
- then
- echo -e "\tkernel /kernel-${KNAME}-${ARCH}-${KV} root=${GRUB_ROOTFS}" >> ${GRUB_CONF}
- else
- echo -e "\tkernel /kernel-${KNAME}-${ARCH}-${KV} root=/dev/ram0 init=/linuxrc real_root=${GRUB_ROOTFS}" >> ${GRUB_CONF}
+ echo -e "\tkernel /kernel-${KNAME}-${ARCH}-${KV} root=${GRUB_ROOTFS}" >> ${GRUB_CONF}
+ if [ "${BUILD_INITRD}" = '1' ]
if [ "${PAT}" -gt '4' ]
then
echo -e "\tinitrd /initramfs-${KNAME}-${ARCH}-${KV}" >> ${GRUB_CONF}
print_info 1 "Kernel compiled successfully!"
print_info 1 ''
print_info 1 'Required Kernel Parameters:'
+ print_info 1 ' root=/dev/$ROOT'
if [ "${BUILD_RAMDISK}" = '0' ]
then
- print_info 1 ' root=/dev/$ROOT'
print_info 1 ' [ And "vga=0x317 splash=verbose" if you use a framebuffer ]'
print_info 1 ''
print_info 1 ' Where $ROOT is the device node for your root partition as the'
print_info 1 ' one specified in /etc/fstab'
else
- print_info 1 ' real_root=/dev/$ROOT'
print_info 1 ''
print_info 1 ' Where $ROOT is the device node for your root partition as the'
print_info 1 ' one specified in /etc/fstab'
print_info 1 ''
print_info 1 "If you require Genkernel's hardware detection features; you MUST"
- print_info 1 'tell your bootloader to use the provided INITRAMFS file. Otherwise;'
- print_info 1 'substitute the root argument for the real_root argument if you are'
- print_info 1 'not planning to use the initramfs...'
+ print_info 1 'tell your bootloader to use the provided INITRAMFS file.'
fi
fi
[ "${MDADM}" = '1' ] && print_warning 1 'add "domdadm" for RAID support'
[ "${DMRAID}" = '1' ] && print_warning 1 ' or "dodmraid=<additional options>"'
[ "${ZFS}" = '1' ] && print_warning 1 'add "dozfs" for ZFS volume management support'
- [ "${ZFS}" = '1' ] && print_warning 1 'add either "real_root=ZFS" (bootfs autodetection) or "real_root=ZFS=<dataset>" to boot from a ZFS dataset'
+ [ "${ZFS}" = '1' ] && print_warning 1 ' and either "root=ZFS" to use bootfs autodetection or "root=ZFS=<dataset>" to force booting from a specific dataset'
[ "${ISCSI}" = '1' ] && print_warning 1 'add at least "iscsi_initiatorname=<initiator name> iscsi_target=<target name> and iscsi_address=<target ip>" for iscsi support'
if [[ "$(file --brief --mime-type "${KERNEL_CONFIG}")" == application/x-gzip ]]; then