[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Reducing kernel compilation time



On Sun, Sep 25, 2011 at 9:41 PM, Cam Hutchison <camh@xdna.net> wrote:
> David Witbrodt <dawitbro@sbcglobal.net> writes:
>
>>(My goal was to
>>produce a kernel that boots without an initrd; most people will not
>>share that goal.)
>
> I would have thought that most people would share that goal, since
> building an initrd is useful for only two reasons I can think of:
>
> 1) You are building a distro kernel that needs to run on many different
> types of machines, since you don't know what modules would need to be
> built in to find the root filesystem.
>
> 2) You have a complex method of getting the root filesystem mounted -
> perhaps encrypted LVM on top of a network block device, etc, etc, etc.
>
> Since most people who are building their own kernels probably do not
> have either of these requirements, building without an initrd would
> make things a lot simpler.
>
> I looked into building an initrd with my kernel builds, but it just made
> things more complicated and I could not see the point.
>
> Is there some other reason to use an initrd when building your own
> customized kernels?

3) AFAIK, a initrd is needed for selinux. AFAIK! It's definitely the
case with upstart and systemd; I've never tried using selinux without
an initrd on RHEL 5 or an older Fedora, so it's maybe not the case
with sysvinit; although I can't see, off-hand, why it would work in
the latter case if it fails in the former two.

4) If you have "/usr" on its own partition and don't want to have some
non-fatal errors and warning, you have to mount it in the initrd.

http://www.freedesktop.org/wiki/Software/systemd/separate-usr-is-broken

[5) On Ubuntu, if you have "/var" on its own partition and don't want
ureadahead to fail (or have to turn it off), you have to mount it in
the initrd.]


Reply to: