Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 114812 Details for
Bug 172128
cannot boot into md RAID with initrd produced by genkernel
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch to add mdraid (mdadm) support to genkernel initramfs
genkernel-mdadm-patch-r1 (text/plain), 9.02 KB, created by
Jeff Noxon
on 2007-03-28 20:07:35 UTC
(
hide
)
Description:
Patch to add mdraid (mdadm) support to genkernel initramfs
Filename:
MIME Type:
Creator:
Jeff Noxon
Created:
2007-03-28 20:07:35 UTC
Size:
9.02 KB
patch
obsolete
>diff -ur genkernel-3.4.7_pre5/gen_cmdline.sh genkernel-3.4.7_pre5.JEN/gen_cmdline.sh >--- genkernel-3.4.7_pre5/gen_cmdline.sh 2007-03-13 20:20:22.000000000 -0500 >+++ genkernel-3.4.7_pre5.JEN/gen_cmdline.sh 2007-03-28 14:58:37.000000000 -0500 >@@ -76,6 +76,7 @@ > echo " first" > echo " --lvm2 Include LVM2 support" > # echo " --unionfs Include UNIONFS support" >+ echo " --mdraid Include MDRAID support" > echo " --dmraid Include DMRAID support" > echo " --suspend Include userspace suspend/resume (uswsusp) support" > echo " --slowusb Enables extra pauses for slow USB CD boots" >@@ -248,6 +249,10 @@ > CMD_SLOWUSB=1 > print_info 2 "CMD_SLOWUSB: $CMD_SLOWUSB" > ;; >+ --mdraid) >+ CMD_MDRAID=1 >+ print_info 2 "CMD_MDRAID: $CMD_MDRAID" >+ ;; > --dmraid) > if [ ! -e /usr/include/libdevmapper.h ] > then >diff -ur genkernel-3.4.7_pre5/gen_compile.sh genkernel-3.4.7_pre5.JEN/gen_compile.sh >--- genkernel-3.4.7_pre5/gen_compile.sh 2007-03-13 20:20:22.000000000 -0500 >+++ genkernel-3.4.7_pre5.JEN/gen_compile.sh 2007-03-28 14:58:37.000000000 -0500 >@@ -511,6 +511,34 @@ > fi > } > >+compile_mdraid() { >+ if [ ! -f "${MDRAID_BINCACHE}" ] >+ then >+ [ -f "${MDRAID_SRCTAR}" ] || >+ gen_die "Could not find MDRAID source tarball: ${MDRAID_SRCTAR}! Please place it there, or place another version, changing /etc/genkernel.conf as necessary!" >+ cd "${TEMP}" >+ rm -rf ${MDRAID_DIR} > /dev/null >+ /bin/tar -jxpf ${MDRAID_SRCTAR} || >+ gen_die 'Could not extract MDRAID source tarball!' >+ [ -d "${MDRAID_DIR}" ] || >+ gen_die 'MDRAID directory ${MDRAID_DIR} is invalid!' >+ >+ cd "${MDRAID_DIR}" >+ mkdir -p "${TEMP}/mdraid" >+ print_info 1 'mdraid: >> Compiling...' >+ compile_generic 'mdadm.static' utils >+ mkdir ${TEMP}/mdraid/sbin >+ install -m 0755 -s mdadm.static "${TEMP}/mdraid/sbin/mdadm" >+ print_info 1 ' >> Copying to bincache...' >+ cd "${TEMP}/mdraid" >+ /bin/tar -cjf "${MDRAID_BINCACHE}" sbin/mdadm || >+ gen_die 'Could not create binary cache' >+ >+ cd "${TEMP}" >+ rm -rf "${MDRAID_DIR}" mdraid >+ fi >+} >+ > compile_dmraid() { > compile_device_mapper > if [ ! -f "${DMRAID_BINCACHE}" ] >diff -ur genkernel-3.4.7_pre5/gen_configkernel.sh genkernel-3.4.7_pre5.JEN/gen_configkernel.sh >--- genkernel-3.4.7_pre5/gen_configkernel.sh 2007-03-13 20:20:22.000000000 -0500 >+++ genkernel-3.4.7_pre5.JEN/gen_configkernel.sh 2007-03-28 14:58:37.000000000 -0500 >@@ -110,6 +110,15 @@ > sed -i ${KERNEL_DIR}/.config -e 's/#\? \?CONFIG_DM_MIRROR is.*/CONFIG_DM_MIRROR=m/g' > fi > >+ # Make sure dmraid modules are on if --mdraid >+ if isTrue ${CMD_MDRAID} >+ then >+ sed -i ${KERNEL_DIR}/.config -e 's/#\? \?CONFIG_MD is.*/CONFIG_MD=m/g' >+ sed -i ${KERNEL_DIR}/.config -e 's/#\? \?CONFIG_BLK_DEV_MD is.*/CONFIG_BLK_DEV_MD=m/g' >+ # Probably better to throw an error here than force all the MD modes to be enabled >+ # JEN FIXME make sure at least one RAID or LINEAR mode is enabled, if not maybe enable all of them >+ fi >+ > # Make sure dmraid modules are on if --dmraid > if isTrue ${CMD_DMRAID} > then >diff -ur genkernel-3.4.7_pre5/gen_determineargs.sh genkernel-3.4.7_pre5.JEN/gen_determineargs.sh >--- genkernel-3.4.7_pre5/gen_determineargs.sh 2007-03-13 20:20:22.000000000 -0500 >+++ genkernel-3.4.7_pre5.JEN/gen_determineargs.sh 2007-03-28 14:58:37.000000000 -0500 >@@ -207,6 +207,7 @@ > KLIBC_BINCACHE=`cache_replace "${KLIBC_BINCACHE}"` > DEVICE_MAPPER_BINCACHE=`cache_replace "${DEVICE_MAPPER_BINCACHE}"` > LVM2_BINCACHE=`cache_replace "${LVM2_BINCACHE}"` >+ MDRAID_BINCACHE=`cache_replace "${MDRAID_BINCACHE}"` > DMRAID_BINCACHE=`cache_replace "${DMRAID_BINCACHE}"` > UNIONFS_BINCACHE=`cache_replace "${UNIONFS_BINCACHE}"` > UNIONFS_MODULES_BINCACHE=`cache_replace "${UNIONFS_MODULES_BINCACHE}"` >@@ -226,6 +227,7 @@ > KLIBC_BINCACHE=`arch_replace "${KLIBC_BINCACHE}"` > DEVICE_MAPPER_BINCACHE=`arch_replace "${DEVICE_MAPPER_BINCACHE}"` > LVM2_BINCACHE=`arch_replace "${LVM2_BINCACHE}"` >+ MDRAID_BINCACHE=`arch_replace "${MDRAID_BINCACHE}"` > DMRAID_BINCACHE=`arch_replace "${DMRAID_BINCACHE}"` > UNIONFS_BINCACHE=`arch_replace "${UNIONFS_BINCACHE}"` > UNIONFS_MODULES_BINCACHE=`arch_replace "${UNIONFS_MODULES_BINCACHE}"` >@@ -458,6 +460,13 @@ > BUSYBOX=1 > fi > >+ if isTrue "${CMD_MDRAID}" >+ then >+ MDRAID=1 >+ else >+ MDRAID=0 >+ fi >+ > if isTrue "${CMD_DMRAID}" > then > DMRAID=1 >diff -ur genkernel-3.4.7_pre5/gen_initramfs.sh genkernel-3.4.7_pre5.JEN/gen_initramfs.sh >--- genkernel-3.4.7_pre5/gen_initramfs.sh 2007-03-13 20:20:22.000000000 -0500 >+++ genkernel-3.4.7_pre5.JEN/gen_initramfs.sh 2007-03-28 14:58:37.000000000 -0500 >@@ -185,6 +185,21 @@ > rm -r "${TEMP}/initramfs-suspend-temp/" > } > >+append_mdraid(){ >+ if [ -d "${TEMP}/initramfs-mdraid-temp" ] >+ then >+ rm -r "${TEMP}/initramfs-mdraid-temp/" >+ fi >+ print_info 1 'MDRAID: Adding support (compiling binaries)...' >+ compile_mdraid >+ mkdir -p "${TEMP}/initramfs-mdraid-temp/" >+ /bin/tar -jxpf "${MDRAID_BINCACHE}" -C "${TEMP}/initramfs-mdraid-temp" || >+ gen_die "Could not extract mdraid binary cache!"; >+ cd "${TEMP}/initramfs-mdraid-temp/" >+ find . -print | cpio ${CPIO_ARGS} --append -F "${CPIO}" >+ rm -r "${TEMP}/initramfs-mdraid-temp/" >+} >+ > append_dmraid(){ > if [ -d "${TEMP}/initramfs-dmraid-temp" ] > then >@@ -491,6 +506,7 @@ > append_data 'unionfs_tools' "${UNIONFS}" > append_data 'suspend' "${SUSPEND}" > append_data 'lvm2' "${LVM2}" >+ append_data 'mdraid' "${MDRAID}" > append_data 'dmraid' "${DMRAID}" > append_data 'evms2' "${EVMS2}" > >diff -ur genkernel-3.4.7_pre5/gen_initrd.sh genkernel-3.4.7_pre5.JEN/gen_initrd.sh >--- genkernel-3.4.7_pre5/gen_initrd.sh 2007-03-13 20:20:22.000000000 -0500 >+++ genkernel-3.4.7_pre5.JEN/gen_initrd.sh 2007-03-28 14:58:37.000000000 -0500 >@@ -156,6 +156,15 @@ > gen_die 'Could not copy /etc/suspend.conf' > fi > >+ # MDRAID >+ if [ "${MDRAID}" = '1' ] >+ then >+ print_info 1 'MDRAID: Adding support (compiling binaries)...' >+ compile_mdraid >+ /bin/tar -jxpf "${MDRAID_BINCACHE}" -C "${TEMP}/initrd-temp" || >+ gen_die "Could not extract mdraid binary cache!"; >+ fi >+ > # DMRAID > if [ "${DMRAID}" = '1' ] > then >diff -ur genkernel-3.4.7_pre5/generic/initrd.scripts genkernel-3.4.7_pre5.JEN/generic/initrd.scripts >--- genkernel-3.4.7_pre5/generic/initrd.scripts 2007-03-13 20:20:22.000000000 -0500 >+++ genkernel-3.4.7_pre5.JEN/generic/initrd.scripts 2007-03-28 14:58:37.000000000 -0500 >@@ -556,7 +556,17 @@ > mkdir -p /dev/mapper > ln -sf /dev/device-mapper /dev/mapper/control > fi >- >+ >+ if [ "${USE_MDRAID}" -eq 1 ] >+ then >+ for i in 0 1 10 456 ; do >+ modprobe raid$i 1>/dev/null 2>&1 >+ done >+ >+ /sbin/mdadm --examine --scan > /etc/mdadm.conf >+ /sbin/mdadm --assemble --scan >+ fi >+ > if [ "${USE_DMRAID_NORMAL}" -eq '1' ] > then > if [ -e '/sbin/dmraid' ] >diff -ur genkernel-3.4.7_pre5/generic/linuxrc genkernel-3.4.7_pre5.JEN/generic/linuxrc >--- genkernel-3.4.7_pre5/generic/linuxrc 2007-03-13 20:20:22.000000000 -0500 >+++ genkernel-3.4.7_pre5.JEN/generic/linuxrc 2007-03-28 14:58:37.000000000 -0500 >@@ -119,6 +119,9 @@ > dolvm2) > USE_LVM2_NORMAL=1 > ;; >+ domdraid) >+ USE_MDRAID=1 >+ ;; > dodmraid) > USE_DMRAID_NORMAL=1 > ;; >diff -ur genkernel-3.4.7_pre5/genkernel genkernel-3.4.7_pre5.JEN/genkernel >--- genkernel-3.4.7_pre5/genkernel 2007-03-13 20:20:22.000000000 -0500 >+++ genkernel-3.4.7_pre5.JEN/genkernel 2007-03-28 14:58:37.000000000 -0500 >@@ -392,6 +392,7 @@ > [ "${BOOTSPLASH}" -eq '1' ] && print_info 1 'add "vga=791 splash=silent" if you use a bootsplash framebuffer' > [ "${LVM2}" -eq '1' ] && print_info 1 'add "dolvm2" for lvm2 support' > [ "${EVMS2}" -eq '1' ] && print_info 1 'add "doevms2" for evms support' >+ [ "${MDRAID}" -eq '1' ] && print_info 1 'add "domdraid" for mdraid support' > [ "${DMRAID}" -eq '1' ] && print_info 1 'add "dodmraid" for dmraid support' > [ "${DMRAID}" -eq '1' ] && print_info 1 ' or "dodmraid=<additional options>"' > [ "${UNIONFS}" -eq '1' ] && print_info 1 'add "unionfs" for unionfs support' >diff -ur genkernel-3.4.7_pre5/genkernel.8 genkernel-3.4.7_pre5.JEN/genkernel.8 >--- genkernel-3.4.7_pre5/genkernel.8 2007-03-13 20:20:22.000000000 -0500 >+++ genkernel-3.4.7_pre5.JEN/genkernel.8 2007-03-28 14:58:37.000000000 -0500 >@@ -173,8 +173,11 @@ > \fB\-\-do\-keymap\-auto\fR > Force keymap selection at boot. > .TP >+\fB\-\-mdraid\fR >+Add MDRAID (mdadm) RAID-0,1,4,5,6,10 and linear array boot support. >+.TP > \fB\-\-dmraid\fR >-Add DMRAID support. >+Add DMRAID (Device Mapper "fakeraid") support. > .TP > \fB\-\-evms2\fR > Add in EVMS2 support from static binaries if they exist on the system: >diff -ur genkernel-3.4.7_pre5/genkernel.conf genkernel-3.4.7_pre5.JEN/genkernel.conf >--- genkernel-3.4.7_pre5/genkernel.conf 2007-03-13 20:20:22.000000000 -0500 >+++ genkernel-3.4.7_pre5.JEN/genkernel.conf 2007-03-28 14:55:21.000000000 -0500 >@@ -123,6 +123,11 @@ > LVM2_SRCTAR="${GK_SHARE}/pkg/LVM2.${LVM2_VER}.tgz" > LVM2_BINCACHE="%%CACHE%%/LVM2.${LVM2_VER}-%%ARCH%%.tar.bz2" > >+MDRAID_VER="2.6.1" >+MDRAID_DIR="mdadm-${MDRAID_VER}" >+MDRAID_SRCTAR="${GK_SHARE}/pkg/mdadm-${MDRAID_VER}.tar.bz2" >+MDRAID_BINCACHE="%%CACHE%%/mdadm-${MDRAID_VER}-%%ARCH%%.tar.bz2" >+ > DMRAID_VER="VERSION_DMRAID" > DMRAID_DIR="dmraid/${DMRAID_VER}" > DMRAID_SRCTAR="${GK_SHARE}/pkg/dmraid-${DMRAID_VER}.tar.bz2"
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 172128
: 114812 |
132494
|
132495
|
132596