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

Bug#590744: Fails to boot if /sbin/init is a symlink



* maximilian attems <max@stro.at> [Fri Jul 30, 2010 at 01:04:30PM +0200]:
> On Fri, Jul 30, 2010 at 11:49:32AM +0200, Michael Biebl wrote:
> > On 30.07.2010 11:31, Michael Biebl wrote:
> > > On 30.07.2010 06:21, Michael Prokop wrote:

> > >> Can you please give the following snapshot version a try:

> > >>   http://people.debian.org/~mika/initramfs-tools/initramfs-tools_0.97.3~1.gbp8d572e_all.deb


> > > I've tested the following:
> > > - /sbin/init being a relative symlink: works
> > > - /sbin/init being an absolute symlink: works
> > > - /sbin/init missing: correctly dropped to rescue shell, even if upstart
> > > installed (/etc/init/)
> > > - passing init=/bin/systemd on the boot command line: works
> > > - passing bogus init=/sbin/foo on the boot command line: warning message that
> > > requested init was not found, is displayed, but continues booting with /sbin/init.

> > > So yes, it works correctly now for all cases I tested and expect.

> > Looking at the code, the only issue I see, is that validate_init is *always*
> > executed at least twice, even if we find a valid init at the first try.
> > This means, for most cases we unnecessarily execute validate_init at
> > """
> > # No init on rootmount
> > if ! validate_init "${init}" ; then
> > """
> > Not that much of an issue, just an idea for a small optimization.

> please this is executed on every boot, could we have a fastforward
> path for the common cases.
> dracut probably solved this long ago, please have a look there
> what fedora guys are doing.

dracut doesn't seem to support symlinks at all AFAICS.

maks: I've implemented a fastfoward path, please review
branch mika/validate_init at
http://git.debian.org/?p=kernel/initramfs-tools.git

regards,
-mika-

Attachment: signature.asc
Description: Digital signature


Reply to: