<feed xmlns='http://www.w3.org/2005/Atom'>
<title>drakx, branch 15.69</title>
<subtitle>Mageia Installer and base platform for many utilities</subtitle>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/drakx/'/>
<entry>
<title>15.69</title>
<updated>2013-10-29T20:37:45+00:00</updated>
<author>
<name>ennael</name>
<email>ennael@mageia.org</email>
</author>
<published>2013-10-29T20:37:45+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/drakx/commit/?id=cb9813e62513a331a5f9c30d201ec3c1009f49f1'/>
<id>cb9813e62513a331a5f9c30d201ec3c1009f49f1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>stage1: Add debugging for net device name confusion.</title>
<updated>2013-10-29T20:29:08+00:00</updated>
<author>
<name>Colin Guthrie</name>
<email>colin@mageia.org</email>
</author>
<published>2013-10-19T18:14:06+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/drakx/commit/?id=2f8c123ae7b4a4edf59c1b0435f3ffb89b08162c'/>
<id>2f8c123ae7b4a4edf59c1b0435f3ffb89b08162c</id>
<content type='text'>
Because dracut uses udev and because udev has likely already started
the interface, we will see things out of order.

Large sections of the probing code could probably be removed
but for the time being we should probably consider removing
this error message completely
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Because dracut uses udev and because udev has likely already started
the interface, we will see things out of order.

Large sections of the probing code could probably be removed
but for the time being we should probably consider removing
this error message completely
</pre>
</div>
</content>
</entry>
<entry>
<title>stage1: Switch to a new mode of knowing when to re-exec init.</title>
<updated>2013-10-29T20:29:08+00:00</updated>
<author>
<name>Colin Guthrie</name>
<email>colin@mageia.org</email>
</author>
<published>2013-10-28T23:35:35+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/drakx/commit/?id=33a891128a5ac6fa2c581ef4106fe569f47eb867'/>
<id>33a891128a5ac6fa2c581ef4106fe569f47eb867</id>
<content type='text'>
Now that dracut runs stage1 earlier, we need to store it's exit code
for later reuse. In this, the separate dracut module will just write a
flag file in /run/drakx/ to indicate that we want to re-exec /sbin/init
(after doing some symlinks and /usr bind mount) rather than run the install.

As a result there is no need to return 0x35 ('procced') so just return
0 and keep 0x35 return code for when we really do need to restart stage1
(e.g. on a fatal error). The dracut module should loop if 0x35 is
ever returned.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now that dracut runs stage1 earlier, we need to store it's exit code
for later reuse. In this, the separate dracut module will just write a
flag file in /run/drakx/ to indicate that we want to re-exec /sbin/init
(after doing some symlinks and /usr bind mount) rather than run the install.

As a result there is no need to return 0x35 ('procced') so just return
0 and keep 0x35 return code for when we really do need to restart stage1
(e.g. on a fatal error). The dracut module should loop if 0x35 is
ever returned.
</pre>
</div>
</content>
</entry>
<entry>
<title>stage1: Remove the counter from init.</title>
<updated>2013-10-29T20:29:08+00:00</updated>
<author>
<name>Colin Guthrie</name>
<email>colin@mageia.org</email>
</author>
<published>2013-10-28T23:11:33+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/drakx/commit/?id=065557f6287bd87a4e52bea28db5a0b9c4a98b76'/>
<id>065557f6287bd87a4e52bea28db5a0b9c4a98b76</id>
<content type='text'>
init is now solely responsibe for running stage2 (be it install or rescue)
as stage1 is now run earlier by dracut.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
init is now solely responsibe for running stage2 (be it install or rescue)
as stage1 is now run earlier by dracut.
</pre>
</div>
</content>
</entry>
<entry>
<title>stage1: Don't bother mounting various API filesystems.</title>
<updated>2013-10-29T20:29:08+00:00</updated>
<author>
<name>Colin Guthrie</name>
<email>colin@mageia.org</email>
</author>
<published>2013-10-28T20:21:39+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/drakx/commit/?id=63d2a603b9b2bc27090405ba4a05a4aaa8840ea2'/>
<id>63d2a603b9b2bc27090405ba4a05a4aaa8840ea2</id>
<content type='text'>
Dracut mounts these already.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Dracut mounts these already.
</pre>
</div>
</content>
</entry>
<entry>
<title>install/rescue: Adapt to a dracut based stage1.</title>
<updated>2013-10-29T20:29:08+00:00</updated>
<author>
<name>Colin Guthrie</name>
<email>colin@mageia.org</email>
</author>
<published>2013-10-19T18:58:09+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/drakx/commit/?id=49b778dec05a142690bf88ead5649fefe0adc1a6'/>
<id>49b778dec05a142690bf88ead5649fefe0adc1a6</id>
<content type='text'>
The main change here is not remounting a fresh /run. Dracut does this
for us and we actually need to keep this one as the initial udev
database (when udev is started by dracut) is stored here and thus
mounting an empty fs could see us lose some metadata.

We no longer touch the /bin, /sbin or /lib[64] symlinks as these are
already relative symlinks into /usr and simply bind mounting /usr is
enough.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The main change here is not remounting a fresh /run. Dracut does this
for us and we actually need to keep this one as the initial udev
database (when udev is started by dracut) is stored here and thus
mounting an empty fs could see us lose some metadata.

We no longer touch the /bin, /sbin or /lib[64] symlinks as these are
already relative symlinks into /usr and simply bind mounting /usr is
enough.
</pre>
</div>
</content>
</entry>
<entry>
<title>stage1: Move the symlink creation from stage1 to init.</title>
<updated>2013-10-29T20:29:07+00:00</updated>
<author>
<name>Colin Guthrie</name>
<email>colin@mageia.org</email>
</author>
<published>2013-10-19T20:30:12+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/drakx/commit/?id=c4321813f9f3cd4136203d52c0f20343d7722228'/>
<id>c4321813f9f3cd4136203d52c0f20343d7722228</id>
<content type='text'>
In order to run stage1 we now need to do things a little differently,
namely that we move the symlinking fixups into 'init' itself which we will
actually call as a kind of fake switch_root implementation to avoid
hacking dracut too much[1]. As we run stage1 during dracut's 'mount' phase
we should not do the symlink hacks so early otherwise it will mess up
the rest of the dracut initqueue processing.

Currently, the initrd's /usr is nuked and then symlinked, but to
allow for easier debugging I now just bind mount the stage2 /usr over
the top which allows us to unmount it again easily enough if we want to
go back.

We no longer touch the /bin, /sbin or /lib[64] symlinks as these are
relative and simply bind mounting /usr is enough to fix all of them.

1. This scheme will have to change if we eventually swtich to a
systemd based dracut invocation.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In order to run stage1 we now need to do things a little differently,
namely that we move the symlinking fixups into 'init' itself which we will
actually call as a kind of fake switch_root implementation to avoid
hacking dracut too much[1]. As we run stage1 during dracut's 'mount' phase
we should not do the symlink hacks so early otherwise it will mess up
the rest of the dracut initqueue processing.

Currently, the initrd's /usr is nuked and then symlinked, but to
allow for easier debugging I now just bind mount the stage2 /usr over
the top which allows us to unmount it again easily enough if we want to
go back.

We no longer touch the /bin, /sbin or /lib[64] symlinks as these are
relative and simply bind mounting /usr is enough to fix all of them.

1. This scheme will have to change if we eventually swtich to a
systemd based dracut invocation.
</pre>
</div>
</content>
</entry>
<entry>
<title>stage1: Correct path to shell</title>
<updated>2013-10-29T20:29:07+00:00</updated>
<author>
<name>Colin Guthrie</name>
<email>colin@mageia.org</email>
</author>
<published>2013-10-19T18:07:53+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/drakx/commit/?id=7213bee2f13e551bffb7754846726833e196719b'/>
<id>7213bee2f13e551bffb7754846726833e196719b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>images: Convert image generation to dracut.</title>
<updated>2013-10-29T20:29:07+00:00</updated>
<author>
<name>Colin Guthrie</name>
<email>colin@mageia.org</email>
</author>
<published>2013-10-19T19:28:31+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/drakx/commit/?id=b5dd85f8099879b701b3bbdb8e7e50ab415fe789'/>
<id>b5dd85f8099879b701b3bbdb8e7e50ab415fe789</id>
<content type='text'>
This converts the initrd generation from a home grown system to dracut.

It uses the upstream modules where possible plus two specially written
dracut modules: mgainstaller and mgakadeploy.

The initrds are identical for all builds and there are lots of
bits that are incomplete and unnecesary.

e.g. copying the kernels to a folder and then not using them,
and also the module-descriptions file is not included in the
initrd itself which it should be.

We can probably customise the initrd better for different use
cases, e.g. perhaps network stuff is not needed for HD based
installs?

We may also need to install the mdraid and lvm modules for some
HD support.

This is the first attempt so I expect various bits need fixing
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This converts the initrd generation from a home grown system to dracut.

It uses the upstream modules where possible plus two specially written
dracut modules: mgainstaller and mgakadeploy.

The initrds are identical for all builds and there are lots of
bits that are incomplete and unnecesary.

e.g. copying the kernels to a folder and then not using them,
and also the module-descriptions file is not included in the
initrd itself which it should be.

We can probably customise the initrd better for different use
cases, e.g. perhaps network stuff is not needed for HD based
installs?

We may also need to install the mdraid and lvm modules for some
HD support.

This is the first attempt so I expect various bits need fixing
</pre>
</div>
</content>
</entry>
<entry>
<title>stage1: Switch to a shared stage1.</title>
<updated>2013-10-29T20:25:59+00:00</updated>
<author>
<name>Colin Guthrie</name>
<email>colin@mageia.org</email>
</author>
<published>2013-10-19T18:17:28+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/drakx/commit/?id=4f1bb300b5488d0d36fafc53ebb0969e51b44b8a'/>
<id>4f1bb300b5488d0d36fafc53ebb0969e51b44b8a</id>
<content type='text'>
Previously we would create a static stage1 for the installer, but as
a dracut based initrd already includes glibc, there is very little
advantage in this small, statically linked version.

As a side note, it seems that if the initrd contains a /etc/modprobe.d/
folder (which can be the case with dracut) then dietlibc seems
to return a ENOENT when calling readdir_r() on that folder
(via the libkmod-config.c code).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously we would create a static stage1 for the installer, but as
a dracut based initrd already includes glibc, there is very little
advantage in this small, statically linked version.

As a side note, it seems that if the initrd contains a /etc/modprobe.d/
folder (which can be the case with dracut) then dietlibc seems
to return a ENOENT when calling readdir_r() on that folder
(via the libkmod-config.c code).
</pre>
</div>
</content>
</entry>
</feed>
