[CentOS] Compiling custom "vmlinuz" PXE kernel?

Tue Apr 4 23:34:42 UTC 2017
Phil Manuel <phil at zomojo.com>


This page
how to add modules for C6, I imagine the process to be similar for C7

On Wed, 5 Apr 2017 at 00:02 Denniston, Todd A CIV NAVSURFWARCENDIV Crane,
JXVS <todd.denniston at navy.mil> wrote:

> > From: Locane [locane at gmail.com]
> > Sent: Monday, April 03, 2017 8:33 PM
> > To: CentOS mailing list
> > Subject: [CentOS] Compiling custom "vmlinuz" PXE kernel?
> >
> > Hello CentOS list, I still need help.
> >
> > Does anyone know how I would go about creating my own "vmlinuz" PXE
> > kernel?  I'm still trying to get the NUC6CAYH to load to a LiveCD, and
> I'm
> > getitng nowhere with Intel.
> >
> > My company wants to do hundreds of these per month;  we're not above
> paying
> > for professional help at this point.
> >
> > My current line of reasoning is to get whatever specialized memory and
> > drivers the NUC6CAYH requires to recognize properly and bake them in to a
> > custom vmlinuz PXE kernel that loads the initial ramdisk image.  This
> > kernel is located in a regular CentOS 7.3 DVD at
> > CentOS-7-x86_64-DVD-1611/images/pxeboot/vmlinuz.
> >
> > Has anyone done this before?  Is there documentation online?
> If I understand correctly you are wanting to build a kernel to boot the
> install process with, i.e., boot to run anaconda.
> For some reason I never had any luck [with EL4] replacing the modules in
> the anaconda initrd.img with the ones for the kernel I built, so I took a
> more *brittle* path.
> I built a kernel that included *_all_* the drivers I needed (and only
> those *_needed_*) built into the kernel itself, i.e., *not* as modules.  I
> then set the process up to boot from the vmlinuz I built.  It was not right
> to ignore the mods in the initrd, but it worked enough to get us going,
> IIRC it was because some USB driver we needed was not built in and we were
> installing from a USB hard drive.
> Also note, you need to grab the kernel config for an EL kernel of your
> distro and start modifying from there because some of the later tools in
> the install chain expect most of the kernel to be configured as RH would do
> it.
> *_all_* - using this method you can't depend on ANY modules, everything
> you need to activate all the hardware in the system has to be in the kernel
> image (vmlinuz).  If you can figure out how to correctly mod the initrd
> then you can use some modules again, and then only the modules you need to
> boot and read the initrd have to be in vmlinuz.  Also I don't recall what
> they are, but there are some size limits to how big vmlinuz can be, so
> don't just build every driver into the kernel.
> Good luck.
> --
> Even when this disclaimer is not here:
> I am not a contracting officer. I do not have authority to make or modify
> the terms of any contract.
> _______________________________________________
> CentOS mailing list
> CentOS at centos.org
> https://lists.centos.org/mailman/listinfo/centos