Re: grub.pxe, ARP-after-boot, DMA, and trouble
On Sat, 07 Apr 2012 01:36:44 -0400, Daniel Kahn Gillmor wrote: > In particular, i suspect that *after* the bootloader has turned over > control to the kernel (memtest in this case), the PXE-driven NIC is > continuing to DMA received packets into active RAM. phcoder sent me the patch below to address the PXE DMA issue. I tested it against the current bzr head. My testing grub.cfg is just: -- serial --speed=115200 terminal_input console serial terminal_output console serial linux16 (pxe)/memtest86+.bin console=ttyS0,115200n8 boot -- Using grub bzr head without this patch, i get these RAM "failures" on the net-booted ThinkCentre M70 within ~15 seconds on roughly every other boot (i haven't found the right packets to inject to force the DMA to happen consistently, alas). Using grub bzr head with the patch, i have been unable to reproduce a single RAM failures in more than 20 trials. I think this patch resolves the issue, and should go into the mainline. Thanks, phcoder! --dkg === modified file 'grub-core/net/drivers/i386/pc/pxe.c' --- grub-core/net/drivers/i386/pc/pxe.c 2012-02-08 18:26:01 + +++ grub-core/net/drivers/i386/pc/pxe.c 2012-04-11 12:53:17 + @@ -278,9 +278,14 @@ grub_pxe_close (const struct grub_net_card *dev __attribute__ ((unused))) { if (pxe_rm_entry) -grub_pxe_call (GRUB_PXENV_UNDI_CLOSE, - (void *) GRUB_MEMORY_MACHINE_SCRATCH_ADDR, - pxe_rm_entry); +{ + grub_pxe_call (GRUB_PXENV_UNDI_CLOSE, + (void *) GRUB_MEMORY_MACHINE_SCRATCH_ADDR, + pxe_rm_entry); + grub_pxe_call (GRUB_PXENV_UNDI_SHUTDOWN, + (void *) GRUB_MEMORY_MACHINE_SCRATCH_ADDR, + pxe_rm_entry); +} } static grub_err_t pgplVUhF2vmVX.pgp Description: PGP signature ___ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel
Re: Improve support for genkernel in 10_linux
2012/4/11 Vladimir 'φ-coder/phcoder' Serbinenko : > On 11.04.2012 04:56, Mike Gilbert wrote: >> On 04/07/2012 05:54 PM, Mike Gilbert wrote: >>> Secondly, genkernel looks for the "real_root" kernel command line option >>> to determine the root filesystem. This is a holdover from the days when >>> we used true initrd images and we needed to use root=/dev/ram0. >>> >> It was brought to my attention that genkernel's initramfs code will in >> fact utilize "root" if "real_root" is unset. This part of my previous >> patch is therefore pointless. >> >> I have attached a revised patch containing only the changes necessary to >> detect a genkernel initramfs image. >> > pushd/popd isn't POSIX so we can't use it in our scripts. Also I don't > feel like glob expansion is the right thing to use here. Why not infer > the architecture from uname ? That should also work. Here's the logic that genkernel uses to populate ARCH: ARCH=`uname -m` case "${ARCH}" in i?86) ARCH="x86" ;; mips|mips64) ARCH="mips" ;; arm*) ARCH=arm ;; *) ;; esac I'm thinking it would be a good idea to rename ARCH to something like GENKERNEL_ARCH. We should also let the user override this in /etc/default/grub. Does that sound ok? ___ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel
Re: Improve support for genkernel in 10_linux
On 11.04.2012 04:56, Mike Gilbert wrote: > On 04/07/2012 05:54 PM, Mike Gilbert wrote: >> Secondly, genkernel looks for the "real_root" kernel command line option >> to determine the root filesystem. This is a holdover from the days when >> we used true initrd images and we needed to use root=/dev/ram0. >> > It was brought to my attention that genkernel's initramfs code will in > fact utilize "root" if "real_root" is unset. This part of my previous > patch is therefore pointless. > > I have attached a revised patch containing only the changes necessary to > detect a genkernel initramfs image. > pushd/popd isn't POSIX so we can't use it in our scripts. Also I don't feel like glob expansion is the right thing to use here. Why not infer the architecture from uname ? > > > ___ > Grub-devel mailing list > Grub-devel@gnu.org > https://lists.gnu.org/mailman/listinfo/grub-devel -- Regards Vladimir 'φ-coder/phcoder' Serbinenko signature.asc Description: OpenPGP digital signature ___ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel