* [gentoo-user] systemd and initramfs @ 2013-08-19 9:58 Helmut Jarausch [not found] ` < CAJ0EP43bSj7TBPsSFZDx__Ykp-LZjL8GrdshGkYuk+dVuyhqZA@mail.gmail.com> ` (2 more replies) 0 siblings, 3 replies; 43+ messages in thread From: Helmut Jarausch @ 2013-08-19 9:58 UTC (permalink / raw To: gentoo-user Hi, what binaries and libraries have to be put into an initramfs for a system booting with init=/usr/lib/systemd/systemd ? (I am building the initramsfs myself) Thanks for some hints, Helmut ^ permalink raw reply [flat|nested] 43+ messages in thread
[parent not found: < CAJ0EP43bSj7TBPsSFZDx__Ykp-LZjL8GrdshGkYuk+dVuyhqZA@mail.gmail.com>]
[parent not found: < 1376981069.12493.3@numa-i.igpm.rwth-aachen.de>]
* Re: [gentoo-user] systemd and initramfs 2013-08-19 9:58 [gentoo-user] systemd and initramfs Helmut Jarausch [not found] ` < CAJ0EP43bSj7TBPsSFZDx__Ykp-LZjL8GrdshGkYuk+dVuyhqZA@mail.gmail.com> @ 2013-08-19 14:55 ` Mike Gilbert 2013-08-20 6:44 ` Helmut Jarausch 2013-08-19 15:42 ` thegeezer 2 siblings, 1 reply; 43+ messages in thread From: Mike Gilbert @ 2013-08-19 14:55 UTC (permalink / raw To: gentoo-user On Mon, Aug 19, 2013 at 5:58 AM, Helmut Jarausch <jarausch@igpm.rwth-aachen.de> wrote: > Hi, > > what binaries and libraries have to be put into an initramfs for a system > booting with init=/usr/lib/systemd/systemd ? > (I am building the initramsfs myself) > You need to get your root filesystem and /usr mounted. Just keep that goal in mind and start adding files to support it. There doesn't need to be anything systemd-specific. ^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [gentoo-user] systemd and initramfs 2013-08-19 14:55 ` Mike Gilbert @ 2013-08-20 6:44 ` Helmut Jarausch 2013-08-20 6:50 ` Alan McKinnon ` (2 more replies) 0 siblings, 3 replies; 43+ messages in thread From: Helmut Jarausch @ 2013-08-20 6:44 UTC (permalink / raw To: gentoo-user On 08/19/2013 04:55:29 PM, Mike Gilbert wrote: > On Mon, Aug 19, 2013 at 5:58 AM, Helmut Jarausch > <jarausch@igpm.rwth-aachen.de> wrote: > > Hi, > > > > what binaries and libraries have to be put into an initramfs for a > system > > booting with init=/usr/lib/systemd/systemd ? > > (I am building the initramsfs myself) > > > > You need to get your root filesystem and /usr mounted. Just keep that > goal in mind and start adding files to support it. > > There doesn't need to be anything systemd-specific. > I am not sure about "timing". Initially the kernel has only the "mini" /usr partition contained within the initramfs. Then it switches to "real root" and only then it tries to mount the "real" /usr partition. Does this all happen before the kernel hands control over to the init process (i.e. systemd) ? Many thanks, Helmut ^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [gentoo-user] systemd and initramfs 2013-08-20 6:44 ` Helmut Jarausch @ 2013-08-20 6:50 ` Alan McKinnon 2013-08-20 6:54 ` Canek Peláez Valdés 2013-08-21 2:06 ` Mike Gilbert 2 siblings, 0 replies; 43+ messages in thread From: Alan McKinnon @ 2013-08-20 6:50 UTC (permalink / raw To: gentoo-user On 20/08/2013 08:44, Helmut Jarausch wrote: > On 08/19/2013 04:55:29 PM, Mike Gilbert wrote: >> On Mon, Aug 19, 2013 at 5:58 AM, Helmut Jarausch >> <jarausch@igpm.rwth-aachen.de> wrote: >> > Hi, >> > >> > what binaries and libraries have to be put into an initramfs for a >> system >> > booting with init=/usr/lib/systemd/systemd ? >> > (I am building the initramsfs myself) >> > >> >> You need to get your root filesystem and /usr mounted. Just keep that >> goal in mind and start adding files to support it. >> >> There doesn't need to be anything systemd-specific. >> > > I am not sure about "timing". > > Initially the kernel has only the "mini" /usr partition contained within > the initramfs. > Then it switches to "real root" and only then it tries to mount the > "real" /usr partition. > Does this all happen before the kernel hands control over to the init > process (i.e. systemd) ? Yes. init requires / to be properly mounted. You have a typo in your description, it should be: "Then it switches to "real root" and mounts the "real" / partition." The kernel mounts /, init mounts /usr (read from fstab). The kernel does not mount /usr (although there can be one in the initramfs, this is discarded when real root is mounted) -- -- Alan McKinnon alan.mckinnon@gmail.com ^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [gentoo-user] systemd and initramfs 2013-08-20 6:44 ` Helmut Jarausch 2013-08-20 6:50 ` Alan McKinnon @ 2013-08-20 6:54 ` Canek Peláez Valdés 2013-08-20 7:03 ` Helmut Jarausch ` (3 more replies) 2013-08-21 2:06 ` Mike Gilbert 2 siblings, 4 replies; 43+ messages in thread From: Canek Peláez Valdés @ 2013-08-20 6:54 UTC (permalink / raw To: gentoo-user On Tue, Aug 20, 2013 at 1:44 AM, Helmut Jarausch <jarausch@igpm.rwth-aachen.de> wrote: > On 08/19/2013 04:55:29 PM, Mike Gilbert wrote: >> >> On Mon, Aug 19, 2013 at 5:58 AM, Helmut Jarausch >> <jarausch@igpm.rwth-aachen.de> wrote: >> > Hi, >> > >> > what binaries and libraries have to be put into an initramfs for a >> > system >> > booting with init=/usr/lib/systemd/systemd ? >> > (I am building the initramsfs myself) >> > >> >> You need to get your root filesystem and /usr mounted. Just keep that >> goal in mind and start adding files to support it. >> >> There doesn't need to be anything systemd-specific. >> > > I am not sure about "timing". > > Initially the kernel has only the "mini" /usr partition contained within the > initramfs. > Then it switches to "real root" and only then it tries to mount the "real" > /usr partition. > Does this all happen before the kernel hands control over to the init > process (i.e. systemd) ? No, the kernel has a mini filesystem (doesn't matter which directory structure has inside), and it executes the init script (or binary program) in the root of the initramfs. This init program/script is the responsible for mounting the real root and other partitions, and handling control over to systemd (or OpenRC, or whatever). Dracut is able to create an initramfs (with the systemd Dracut module) that executes systemd inside the initramfs, which mounts /usr, switches to the real root, and gives control to the "real" systemd instance. At shutdown, the reverse happens: the "real" systemd surrenders control to the initramfs systemd, it umounts everything, and finish the shutdow process. If you generate an initramfs with Dracut using the systemd module, the init inside the initramfs is a link to /usr/lib/systemd/systemd. Unless you want to learn the ins and outs of using an initramfs (and having a lot of fun and failed boots in the process), I highly recommend using Dracut. It does everything for you. Regards. -- Canek Peláez Valdés Posgrado en Ciencia e Ingeniería de la Computación Universidad Nacional Autónoma de México ^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [gentoo-user] systemd and initramfs 2013-08-20 6:54 ` Canek Peláez Valdés @ 2013-08-20 7:03 ` Helmut Jarausch 2013-08-20 10:57 ` Tanstaafl ` (2 subsequent siblings) 3 siblings, 0 replies; 43+ messages in thread From: Helmut Jarausch @ 2013-08-20 7:03 UTC (permalink / raw To: gentoo-user On 08/20/2013 08:54:26 AM, Canek Peláez Valdés wrote: > On Tue, Aug 20, 2013 at 1:44 AM, Helmut Jarausch > <jarausch@igpm.rwth-aachen.de> wrote: > > On 08/19/2013 04:55:29 PM, Mike Gilbert wrote: > >> > >> On Mon, Aug 19, 2013 at 5:58 AM, Helmut Jarausch > >> <jarausch@igpm.rwth-aachen.de> wrote: > >> > Hi, > >> > > >> > what binaries and libraries have to be put into an initramfs for > a > >> > system > >> > booting with init=/usr/lib/systemd/systemd ? > >> > (I am building the initramsfs myself) > >> > > >> > >> You need to get your root filesystem and /usr mounted. Just keep > that > >> goal in mind and start adding files to support it. > >> > >> There doesn't need to be anything systemd-specific. > >> > > > > I am not sure about "timing". > > > > Initially the kernel has only the "mini" /usr partition contained > within the > > initramfs. > > Then it switches to "real root" and only then it tries to mount the > "real" > > /usr partition. > > Does this all happen before the kernel hands control over to the > init > > process (i.e. systemd) ? > > No, the kernel has a mini filesystem (doesn't matter which directory > structure has inside), and it executes the init script (or binary > program) in the root of the initramfs. This init program/script is the > responsible for mounting the real root and other partitions, and > handling control over to systemd (or OpenRC, or whatever). > > Dracut is able to create an initramfs (with the systemd Dracut module) > that executes systemd inside the initramfs, which mounts /usr, > switches to the real root, and gives control to the "real" systemd > instance. At shutdown, the reverse happens: the "real" systemd > surrenders control to the initramfs systemd, it umounts everything, > and finish the shutdow process. > > If you generate an initramfs with Dracut using the systemd module, the > init inside the initramfs is a link to /usr/lib/systemd/systemd. > > Unless you want to learn the ins and outs of using an initramfs (and > having a lot of fun and failed boots in the process), I highly > recommend using Dracut. It does everything for you. > Yes, I'd like to generate the initramfs myself and let the kernel store it within its binary on /boot. This has been working just fine with openrc. Now I only need to now the additional requirements when using systemd as init process. I'll have a look at what Dracut is doing. Thanks to you and Alan, Helmut ^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [gentoo-user] systemd and initramfs 2013-08-20 6:54 ` Canek Peláez Valdés 2013-08-20 7:03 ` Helmut Jarausch @ 2013-08-20 10:57 ` Tanstaafl 2013-08-20 12:10 ` Neil Bothwick 2013-08-21 21:56 ` Mark David Dumlao 2013-08-21 0:32 ` Walter Dnes 2013-08-22 21:08 ` Stefan G. Weichinger 3 siblings, 2 replies; 43+ messages in thread From: Tanstaafl @ 2013-08-20 10:57 UTC (permalink / raw To: gentoo-user On 2013-08-20 2:54 AM, Canek Peláez Valdés <caneko@gmail.com> wrote: > Unless you want to learn the ins and outs of using an initramfs (and > having a lot of fun and failed boots in the process), I highly > recommend using Dracut. It does everything for you. What about a previous posters comment that they don;t update the kernel as often as userland stuff, and there is userland stuff in the initramfs, so things can still get out of sync - and, apparently (I'm inferring from the comments about nightmare scenarios of unbootable systems because the initramfs got 'out of sync')... So, how do/can you *guarantee* that nothing ever gets out of sync? ^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [gentoo-user] systemd and initramfs 2013-08-20 10:57 ` Tanstaafl @ 2013-08-20 12:10 ` Neil Bothwick 2013-08-20 12:19 ` Neil Bothwick 2013-08-21 21:56 ` Mark David Dumlao 1 sibling, 1 reply; 43+ messages in thread From: Neil Bothwick @ 2013-08-20 12:10 UTC (permalink / raw To: gentoo-user [-- Attachment #1: Type: text/plain, Size: 1328 bytes --] On Tue, 20 Aug 2013 06:57:02 -0400, Tanstaafl wrote: > > Unless you want to learn the ins and outs of using an initramfs (and > > having a lot of fun and failed boots in the process), I highly > > recommend using Dracut. It does everything for you. > > What about a previous posters comment that they don;t update the kernel > as often as userland stuff, and there is userland stuff in the > initramfs, so things can still get out of sync - and, apparently (I'm > inferring from the comments about nightmare scenarios of unbootable > systems because the initramfs got 'out of sync')... That is only likely to happen if the initramfs file does't match the kernel. An initramfs isn't magic, or even complex, it's just a few static commands and a script to get the required filesystems mounted before passing control to init. > So, how do/can you *guarantee* that nothing ever gets out of sync? You could add a custom postinst function to /etc/portage that would check whether any of the files included in your initramfs are newer than the initramfs/kernel and send an ewarn if so. -- Neil Bothwick Hello, this is an extension to the famous signature virus, called spymail. Could you please copy me into your signature and send back what you were doing last night between 10pm and 3am? [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [gentoo-user] systemd and initramfs 2013-08-20 12:10 ` Neil Bothwick @ 2013-08-20 12:19 ` Neil Bothwick 0 siblings, 0 replies; 43+ messages in thread From: Neil Bothwick @ 2013-08-20 12:19 UTC (permalink / raw To: gentoo-user [-- Attachment #1: Type: text/plain, Size: 909 bytes --] On Tue, 20 Aug 2013 13:10:26 +0100, Neil Bothwick wrote: > > So, how do/can you *guarantee* that nothing ever gets out of sync? > > You could add a custom postinst function to /etc/portage that would > check whether any of the files included in your initramfs are newer than > the initramfs/kernel and send an ewarn if so. Running this once after each emerge world/system would be more efficient than running it after every package, something like this #!/bin/sh KERNEL="/boot/vmlinuz-$(uname -r)" for FILE in $(awk '/^file/ {print $3}' /usr/src/init.cfg); do if [[ ${FILE} -nt ${KERNEL} ]]; then echo "${FILE} is newer than initramfs" fi done Incidentally, testing this showed that my busybox has been updated since the kernel was built, but I have managed to reboot without the sky falling in. -- Neil Bothwick On the other hand, you have different fingers. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [gentoo-user] systemd and initramfs 2013-08-20 10:57 ` Tanstaafl 2013-08-20 12:10 ` Neil Bothwick @ 2013-08-21 21:56 ` Mark David Dumlao 2013-08-22 5:26 ` J. Roeleveld 1 sibling, 1 reply; 43+ messages in thread From: Mark David Dumlao @ 2013-08-21 21:56 UTC (permalink / raw To: gentoo-user On Tue, Aug 20, 2013 at 6:57 PM, Tanstaafl <tanstaafl@libertytrek.org> wrote: > On 2013-08-20 2:54 AM, Canek Peláez Valdés <caneko@gmail.com> wrote: >> >> Unless you want to learn the ins and outs of using an initramfs (and >> having a lot of fun and failed boots in the process), I highly >> recommend using Dracut. It does everything for you. > > > What about a previous posters comment that they don;t update the kernel as > often as userland stuff, and there is userland stuff in the initramfs, so > things can still get out of sync - and, apparently (I'm inferring from the > comments about nightmare scenarios of unbootable systems because the > initramfs got 'out of sync')... > > So, how do/can you *guarantee* that nothing ever gets out of sync? > I'm confused here. initramfs, is, for all intents and purposes, an isolated filesystem. It shouldn't be calling stuff in your real root except to mount the real root. Heck it should be able to mount pivot root on filesystems that have absolutely nothing to do with its construction, as for example, LTSP does. So the only "out of sync" scenario that should matter is with the kernel or kernel modules. Even if it were out of sync with your current toolset it should still be able to perform the pivot. Shouldn't any "userland stuff" that breaks initramfs BE in initramfs? -- This email is: [ ] actionable [ ] fyi [x] social Response needed: [ ] yes [ ] up to you [x] no Time-sensitive: [ ] immediate [ ] soon [x] none ^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [gentoo-user] systemd and initramfs 2013-08-21 21:56 ` Mark David Dumlao @ 2013-08-22 5:26 ` J. Roeleveld 2013-08-22 9:17 ` Neil Bothwick 2013-08-22 11:47 ` Mark David Dumlao 0 siblings, 2 replies; 43+ messages in thread From: J. Roeleveld @ 2013-08-22 5:26 UTC (permalink / raw To: gentoo-user > On Tue, Aug 20, 2013 at 6:57 PM, Tanstaafl <tanstaafl@libertytrek.org> wrote: >> On 2013-08-20 2:54 AM, Canek Peláez Valdés <caneko@gmail.com> wrote: >>> >>> Unless you want to learn the ins and outs of using an initramfs (and >>> having a lot of fun and failed boots in the process), I highly >>> recommend using Dracut. It does everything for you. >> >> >> What about a previous posters comment that they don;t update the kernel as >> often as userland stuff, and there is userland stuff in the initramfs, so >> things can still get out of sync - and, apparently (I'm inferring from the >> comments about nightmare scenarios of unbootable systems because the >> initramfs got 'out of sync')... >> >> So, how do/can you *guarantee* that nothing ever gets out of sync? >> > > I'm confused here. initramfs, is, for all intents and purposes, an > isolated filesystem. It shouldn't be calling stuff in your real root > except to mount the real > root. Heck it should be able to mount pivot root on filesystems that > have absolutely > nothing to do with its construction, as for example, LTSP does. Correct, and here lies the cause for the "out of sync" scenario. > So the only "out of sync" scenario that should matter is with the > kernel or kernel modules. Even if it were out of sync with your > current toolset it should still be able > to perform the pivot. Shouldn't any "userland stuff" that > breaks initramfs BE in initramfs? Incorrect, there are userland tools, like LVM and MDADM (layout 1.2 does NOT support auto-assembly by kernel), that are needed to access of the filesystems. It is possible that an older version of one of these tools, after an update, can no longer access the disks succesfully. When portage updates this package, the initramfs is not automatically updated with the new version. I agree that it doesn't happen often. But on this list there has already been a report of a recent occurence where LVM was updated, but the initramfs was not, where the boot-sequence ended up being broken. -- Joost ^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [gentoo-user] systemd and initramfs 2013-08-22 5:26 ` J. Roeleveld @ 2013-08-22 9:17 ` Neil Bothwick 2013-08-22 11:47 ` Mark David Dumlao 1 sibling, 0 replies; 43+ messages in thread From: Neil Bothwick @ 2013-08-22 9:17 UTC (permalink / raw To: gentoo-user [-- Attachment #1: Type: text/plain, Size: 1206 bytes --] On Thu, 22 Aug 2013 07:26:38 +0200, J. Roeleveld wrote: > > So the only "out of sync" scenario that should matter is with the > > kernel or kernel modules. Even if it were out of sync with your > > current toolset it should still be able > > to perform the pivot. Shouldn't any "userland stuff" that > > breaks initramfs BE in initramfs? > > Incorrect, there are userland tools, like LVM and MDADM (layout 1.2 does > NOT support auto-assembly by kernel), that are needed to access of the > filesystems. > > It is possible that an older version of one of these tools, after an > update, can no longer access the disks succesfully. When portage updates > this package, the initramfs is not automatically updated with the new > version. The userland tools either work or they don't. Nothing stops working as soon as an update becomes available. The versions of the tools in the root filesystem don't matter at this point, because the root filesystem is not mounted. The initramfs is a standalone environment that doesn't stop working just because someone changed a file on an unmounted filesystem. -- Neil Bothwick No, you *can't* call 999 now. I'm downloading my mail. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [gentoo-user] systemd and initramfs 2013-08-22 5:26 ` J. Roeleveld 2013-08-22 9:17 ` Neil Bothwick @ 2013-08-22 11:47 ` Mark David Dumlao 2013-08-22 12:29 ` Alan McKinnon 1 sibling, 1 reply; 43+ messages in thread From: Mark David Dumlao @ 2013-08-22 11:47 UTC (permalink / raw To: gentoo-user [-- Attachment #1: Type: text/plain, Size: 1192 bytes --] On Aug 22, 2013 1:28 PM, "J. Roeleveld" <joost@antarean.org> wrote: > Correct, and here lies the cause for the "out of sync" scenario. > > > So the only "out of sync" scenario that should matter is with the > > kernel or kernel modules. Even if it were out of sync with your > > current toolset it should still be able > > to perform the pivot. Shouldn't any "userland stuff" that > > breaks initramfs BE in initramfs? > > Incorrect, there are userland tools, like LVM and MDADM (layout 1.2 does > NOT support auto-assembly by kernel), that are needed to access of the > filesystems. > > It is possible that an older version of one of these tools, after an > update, can no longer access the disks succesfully. When portage updates > this package, the initramfs is not automatically updated with the new > version. Ok. I don't use raid / lvm on my desktop so I missed the obvious case of a user tool that needs to be in initramfs. But it makes sense. Any tool that affects filesystem mounting at the very least of /usr, even if its cifs or nfs or whatev, should be included in initramfs. This is gentoo, not ubuntu. Blind updates are known to be irresponsible behavior. Is this a big deal? [-- Attachment #2: Type: text/html, Size: 1465 bytes --] ^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [gentoo-user] systemd and initramfs 2013-08-22 11:47 ` Mark David Dumlao @ 2013-08-22 12:29 ` Alan McKinnon 0 siblings, 0 replies; 43+ messages in thread From: Alan McKinnon @ 2013-08-22 12:29 UTC (permalink / raw To: gentoo-user On 22/08/2013 13:47, Mark David Dumlao wrote: > > On Aug 22, 2013 1:28 PM, "J. Roeleveld" <joost@antarean.org > <mailto:joost@antarean.org>> wrote: >> Correct, and here lies the cause for the "out of sync" scenario. >> >> > So the only "out of sync" scenario that should matter is with the >> > kernel or kernel modules. Even if it were out of sync with your >> > current toolset it should still be able >> > to perform the pivot. Shouldn't any "userland stuff" that >> > breaks initramfs BE in initramfs? >> >> Incorrect, there are userland tools, like LVM and MDADM (layout 1.2 does >> NOT support auto-assembly by kernel), that are needed to access of the >> filesystems. >> >> It is possible that an older version of one of these tools, after an >> update, can no longer access the disks succesfully. When portage updates >> this package, the initramfs is not automatically updated with the new >> version. > > Ok. I don't use raid / lvm on my desktop so I missed the obvious case of > a user tool that needs to be in initramfs. > > But it makes sense. Any tool that affects filesystem mounting at the > very least of /usr, even if its cifs or nfs or whatev, should be > included in initramfs. This is gentoo, not ubuntu. Blind updates are > known to be irresponsible behavior. Is this a big deal? > No it's not a big deal. If you omit support in the kernel for your mb chipset, the machine does not boot. If you forget to recompile nvidia drivers when updating the kernel, the screen does not work. If you delete the modules for ext* from /lib/modules, the kernel cannot read the file system. All these things need to be fixed manually, need to be remembered manually, are not detectable in any sane fashion and Gentoo users are expected to know what to do and how to fix it. All this talk of user tools in initramfs that might not work one time in three years is exactly the same IMNSHO. The conventional notification method is via an elog message from ebuilds that the maintainer knows will change metadata formats -- Alan McKinnon alan.mckinnon@gmail.com ^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [gentoo-user] systemd and initramfs 2013-08-20 6:54 ` Canek Peláez Valdés 2013-08-20 7:03 ` Helmut Jarausch 2013-08-20 10:57 ` Tanstaafl @ 2013-08-21 0:32 ` Walter Dnes 2013-08-21 1:13 ` Canek Peláez Valdés 2013-08-22 21:08 ` Stefan G. Weichinger 3 siblings, 1 reply; 43+ messages in thread From: Walter Dnes @ 2013-08-21 0:32 UTC (permalink / raw To: gentoo-user On Tue, Aug 20, 2013 at 01:54:26AM -0500, Canek Peláez Valdés wrote > > No, the kernel has a mini filesystem (doesn't matter which directory > structure has inside), and it executes the init script (or binary > program) in the root of the initramfs. This init program/script is the > responsible for mounting the real root and other partitions, and > handling control over to systemd (or OpenRC, or whatever). > > Dracut is able to create an initramfs (with the systemd Dracut module) > that executes systemd inside the initramfs, which mounts /usr, > switches to the real root, and gives control to the "real" systemd > instance. At shutdown, the reverse happens: the "real" systemd > surrenders control to the initramfs systemd, it umounts everything, > and finish the shutdow process. A possibly stupid question from a non-user of initramfs... why not simply treat the initramfs as "the real system"? This would avoid the hand-off to a second fs at start-up, and the reverse process at shutdown. There would be no need to worry about keeping files synced in 2 different locations, because there would only be one location. If necessary, one could use UnionFS http://en.wikipedia.org/wiki/Unionfs to make the hard drive and userspace stuff all look like part of the initramfs. -- Walter Dnes <waltdnes@waltdnes.org> I don't run "desktop environments"; I run useful applications ^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [gentoo-user] systemd and initramfs 2013-08-21 0:32 ` Walter Dnes @ 2013-08-21 1:13 ` Canek Peláez Valdés 2013-08-21 7:06 ` thegeezer 0 siblings, 1 reply; 43+ messages in thread From: Canek Peláez Valdés @ 2013-08-21 1:13 UTC (permalink / raw To: gentoo-user On Tue, Aug 20, 2013 at 7:32 PM, Walter Dnes <waltdnes@waltdnes.org> wrote: > On Tue, Aug 20, 2013 at 01:54:26AM -0500, Canek Peláez Valdés wrote >> >> No, the kernel has a mini filesystem (doesn't matter which directory >> structure has inside), and it executes the init script (or binary >> program) in the root of the initramfs. This init program/script is the >> responsible for mounting the real root and other partitions, and >> handling control over to systemd (or OpenRC, or whatever). >> >> Dracut is able to create an initramfs (with the systemd Dracut module) >> that executes systemd inside the initramfs, which mounts /usr, >> switches to the real root, and gives control to the "real" systemd >> instance. At shutdown, the reverse happens: the "real" systemd >> surrenders control to the initramfs systemd, it umounts everything, >> and finish the shutdow process. > > A possibly stupid question from a non-user of initramfs... why not > simply treat the initramfs as "the real system"? This would avoid the > hand-off to a second fs at start-up, and the reverse process at > shutdown. If I understand correctly, because it's a ramfs, as its name implies (it lives on your RAM). You don't want it to hold all your system, only the necessary parts to mount the filesystems necessary to boot. > There would be no need to worry about keeping files synced in > 2 different locations, because there would only be one location. The worry about falling out of sync, although justified, I think it's a little overreacted; even for things like LVM2 and NFS, how many times changes the metadata or format used by different versions? Normal filesystems present no problems: almost all of them are future-proof. And (as Allan suggested) you can (easily and automagically) regenerate the initramfs everytime sometimes inside it changes. > If > necessary, one could use UnionFS http://en.wikipedia.org/wiki/Unionfs to > make the hard drive and userspace stuff all look like part of the > initramfs. No unionfs has been accepted in the mainline kernel, although several have been proposed. It's a hard problem, and nothing has satisfied the kernel devs until now. The initramfs has several advantages: it's supported directly by the kernel, it works the same from embedded systems to big iron servers, and it just works. I just installed two systems (a server and a desktop) to systemd directly, and Dracut just worked. And I like that now my kernels have *EVERYTHING* as a module (that can be compiled as module). Even the filesystems! Regards. -- Canek Peláez Valdés Posgrado en Ciencia e Ingeniería de la Computación Universidad Nacional Autónoma de México ^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [gentoo-user] systemd and initramfs 2013-08-21 1:13 ` Canek Peláez Valdés @ 2013-08-21 7:06 ` thegeezer 2013-08-21 14:40 ` Tanstaafl 0 siblings, 1 reply; 43+ messages in thread From: thegeezer @ 2013-08-21 7:06 UTC (permalink / raw To: gentoo-user On 08/21/2013 02:13 AM, Canek Peláez Valdés wrote: > On Tue, Aug 20, 2013 at 7:32 PM, Walter Dnes <waltdnes@waltdnes.org> wrote: >> On Tue, Aug 20, 2013 at 01:54:26AM -0500, Canek Peláez Valdés wrote >>> No, the kernel has a mini filesystem (doesn't matter which directory >>> structure has inside), and it executes the init script (or binary >>> program) in the root of the initramfs. This init program/script is the >>> responsible for mounting the real root and other partitions, and >>> handling control over to systemd (or OpenRC, or whatever). >>> >>> Dracut is able to create an initramfs (with the systemd Dracut module) >>> that executes systemd inside the initramfs, which mounts /usr, >>> switches to the real root, and gives control to the "real" systemd >>> instance. At shutdown, the reverse happens: the "real" systemd >>> surrenders control to the initramfs systemd, it umounts everything, >>> and finish the shutdow process. >> A possibly stupid question from a non-user of initramfs... why not >> simply treat the initramfs as "the real system"? This would avoid the >> hand-off to a second fs at start-up, and the reverse process at >> shutdown. you need as much memory as your / partition if you want to do this. it is a good way of making a livecd if you know you are guaranteed the memory, as once booted it no longer requires the cd (faster reads). this boot time ramfs is released once unmounted so even if you have a 100MB initrd you get this memory back after boot normally. not sure how unionFS works these days, previously i was using AUFS2 as union didn't provide enough good features for me. but the premise is to mount ramfs as readonly and then mount real_root as writable over the top. again you stil have memory issues doing this; while memory is cheap not all boards (intel atom) support huge amounts of memory. > If I understand correctly, because it's a ramfs, as its name implies > (it lives on your RAM). You don't want it to hold all your system, > only the necessary parts to mount the filesystems necessary to boot. > >> There would be no need to worry about keeping files synced in >> 2 different locations, because there would only be one location. > The worry about falling out of sync, although justified, I think it's > a little overreacted; even for things like LVM2 and NFS, how many > times changes the metadata or format used by different versions? > Normal filesystems present no problems: almost all of them are > future-proof. It happened to me just last week with LVM, and it wasn't a metadata issue, it was a user space program/ service loaded service running issue. > update LVM2 > kernel remains the same > reboot > initramfs finds all PVS and activates VG > main system init > /etc/init.d/lvm2 start > error can't read from USB PVS > login to system with missing PVS > /etc/init.d/lvm2 restart > all PVS listed > reboot several times to verify it wasn't just a stuck service, exactly the same > now ok but restarting a boot service manually required (!) I updated the initramfs and rebooted and all problems went away > And (as Allan suggested) you can (easily and automagically) regenerate > the initramfs everytime sometimes inside it changes. > >> If >> necessary, one could use UnionFS http://en.wikipedia.org/wiki/Unionfs to >> make the hard drive and userspace stuff all look like part of the >> initramfs. > No unionfs has been accepted in the mainline kernel, although several > have been proposed. It's a hard problem, and nothing has satisfied the > kernel devs until now. > > The initramfs has several advantages: it's supported directly by the > kernel, it works the same from embedded systems to big iron servers, > and it just works. > > I just installed two systems (a server and a desktop) to systemd > directly, and Dracut just worked. And I like that now my kernels have > *EVERYTHING* as a module (that can be compiled as module). Even the > filesystems! > > Regards. ^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [gentoo-user] systemd and initramfs 2013-08-21 7:06 ` thegeezer @ 2013-08-21 14:40 ` Tanstaafl 2013-08-21 15:10 ` Neil Bothwick 0 siblings, 1 reply; 43+ messages in thread From: Tanstaafl @ 2013-08-21 14:40 UTC (permalink / raw To: gentoo-user On 2013-08-21 3:06 AM, thegeezer <thegeezer@thegeezer.net> wrote: > On 08/21/2013 02:13 AM, Canek Peláez Valdés wrote: >> The worry about falling out of sync, although justified, I think it's >> a little overreacted; even for things like LVM2 and NFS, how many >> times changes the metadata or format used by different versions? >> Normal filesystems present no problems: almost all of them are >> future-proof. > It happened to me just last week with LVM, and it wasn't a metadata > issue, it was a user space program/ service loaded service running issue. >> update LVM2 >> kernel remains the same >> reboot >> initramfs finds all PVS and activates VG >> main system init >> /etc/init.d/lvm2 start >> error can't read from USB PVS >> login to system with missing PVS >> /etc/init.d/lvm2 restart >> all PVS listed >> reboot several times to verify it wasn't just a stuck service, exactly >> the same >> now ok but restarting a boot service manually required (!) > I updated the initramfs and rebooted and all problems went away And this is *precisely* what scares me about this. This simply should not be, period. Support for separate /usr without initramfs simply SHOULD NOT be dropped unless/until things like this (updating lvm) can *never* cause a system to fail to boot like this. ^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [gentoo-user] systemd and initramfs 2013-08-21 14:40 ` Tanstaafl @ 2013-08-21 15:10 ` Neil Bothwick 2013-08-21 15:50 ` Tanstaafl 2013-08-21 15:54 ` thegeezer 0 siblings, 2 replies; 43+ messages in thread From: Neil Bothwick @ 2013-08-21 15:10 UTC (permalink / raw To: gentoo-user [-- Attachment #1: Type: text/plain, Size: 1144 bytes --] On Wed, 21 Aug 2013 10:40:32 -0400, Tanstaafl wrote: > >> update LVM2 > >> kernel remains the same > >> reboot > >> initramfs finds all PVS and activates VG > >> main system init > >> /etc/init.d/lvm2 start > >> error can't read from USB PVS > >> login to system with missing PVS > >> /etc/init.d/lvm2 restart > >> all PVS listed > >> reboot several times to verify it wasn't just a stuck service, > >> exactly the same > >> now ok but restarting a boot service manually required (!) > > > I updated the initramfs and rebooted and all problems went away This sounds like a bug in LVM. If it was down to a version clash, why did a restart find the PVs? > And this is *precisely* what scares me about this. > > This simply should not be, period. Support for separate /usr without > initramfs simply SHOULD NOT be dropped unless/until things like this > (updating lvm) can *never* cause a system to fail to boot like this. This is irrelevant to separate /usr. an initramfs is required if / is on a VM, whether or not /usr is on the same LV. -- Neil Bothwick Top Oxymorons Number 23: Sweet sorrow [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [gentoo-user] systemd and initramfs 2013-08-21 15:10 ` Neil Bothwick @ 2013-08-21 15:50 ` Tanstaafl 2013-08-21 20:02 ` Neil Bothwick 2013-08-21 15:54 ` thegeezer 1 sibling, 1 reply; 43+ messages in thread From: Tanstaafl @ 2013-08-21 15:50 UTC (permalink / raw To: gentoo-user On 2013-08-21 11:10 AM, Neil Bothwick <neil@digimed.co.uk> wrote: > On Wed, 21 Aug 2013 10:40:32 -0400, Tanstaafl wrote: > >>>> update LVM2 >>>> kernel remains the same >>>> reboot >>>> initramfs finds all PVS and activates VG >>>> main system init >>>> /etc/init.d/lvm2 start >>>> error can't read from USB PVS >>>> login to system with missing PVS >>>> /etc/init.d/lvm2 restart >>>> all PVS listed >>>> reboot several times to verify it wasn't just a stuck service, >>>> exactly the same >>>> now ok but restarting a boot service manually required (!) >> >> I updated the initramfs and rebooted and all problems went away > This sounds like a bug in LVM. If it was down to a version clash, why did > a restart find the PVs? Sorry, ianap, but I do know that this kind of thing has never happened to me in my 8+ years of running this old system with a separate /usr *without* an initramfs... So, the bottom line is, obviously (to me at least), there are a lot more things that can go wrong when an initramfs is involved, that simply don't or can't happen otherwise. >> And this is *precisely* what scares me about this. >> >> This simply should not be, period. Support for separate /usr without >> initramfs simply SHOULD NOT be dropped unless/until things like this >> (updating lvm) can *never* cause a system to fail to boot like this. > This is irrelevant to separate /usr. an initramfs is required if / is on > a VM, whether or not /usr is on the same LV. Sorry, I don't see where he said that this system was running on a VM... or did you mean where he had / on an *LVM* partition - which, again, he did not say he had. ^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [gentoo-user] systemd and initramfs 2013-08-21 15:50 ` Tanstaafl @ 2013-08-21 20:02 ` Neil Bothwick 2013-08-22 6:20 ` J. Roeleveld 0 siblings, 1 reply; 43+ messages in thread From: Neil Bothwick @ 2013-08-21 20:02 UTC (permalink / raw To: gentoo-user [-- Attachment #1: Type: text/plain, Size: 1968 bytes --] On Wed, 21 Aug 2013 11:50:57 -0400, Tanstaafl wrote: > > This sounds like a bug in LVM. If it was down to a version clash, why > > did a restart find the PVs? > > Sorry, ianap, but I do know that this kind of thing has never happened > to me in my 8+ years of running this old system with a separate /usr > *without* an initramfs... Which proves absolutely nothing. For all we know you don't use LVM either. > So, the bottom line is, obviously (to me at least), there are a lot > more things that can go wrong when an initramfs is involved, that > simply don't or can't happen otherwise. I'd take issue with "a lot" but there are things that can go wrong with an initramfs (but this wasn't one of them, it was PEBKAC) just as there are things that can go wrong when you use a separate /usr without an initramfs. > >> And this is *precisely* what scares me about this. > >> > >> This simply should not be, period. Support for separate /usr without > >> initramfs simply SHOULD NOT be dropped unless/until things like this > >> (updating lvm) can *never* cause a system to fail to boot like > >> this. No one has demonstrated that it can. An initramfs isn't magic, it caries out a couple of trivial tasks before switching to the real root partition. Yes, an initramfs adds an extra step to the boot process, but so does having a separate /usr in the first place. I think that if you took the time to understand what an initramfs is and does instead of making an emotional reaction to it, you would see that this is no big deal. > > This is irrelevant to separate /usr. an initramfs is required if / is > > on a VM, whether or not /usr is on the same LV. > > Sorry, I don't see where he said that this system was running on a > VM... or did you mean where he had / on an *LVM* partition - which, > again, he did not say he had. Sorry, I meant LV. -- Neil Bothwick 667 - The FAX number of the beast [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [gentoo-user] systemd and initramfs 2013-08-21 20:02 ` Neil Bothwick @ 2013-08-22 6:20 ` J. Roeleveld 2013-08-22 6:39 ` Alan McKinnon 2013-08-22 9:17 ` Neil Bothwick 0 siblings, 2 replies; 43+ messages in thread From: J. Roeleveld @ 2013-08-22 6:20 UTC (permalink / raw To: gentoo-user On Wed, August 21, 2013 22:02, Neil Bothwick wrote: > On Wed, 21 Aug 2013 11:50:57 -0400, Tanstaafl wrote: > >> > This sounds like a bug in LVM. If it was down to a version clash, why >> > did a restart find the PVs? >> >> Sorry, ianap, but I do know that this kind of thing has never happened >> to me in my 8+ years of running this old system with a separate /usr >> *without* an initramfs... > > Which proves absolutely nothing. For all we know you don't use LVM either. True, except that I have been using LVM for that long with a seperate LVM. My partition scheme used to look like: 1) /boot (100M) 2) / (500M) 3) swap (whatever seemed logical) 4) LVM (rest) And then the larger parts in seperate LVs. This always worked for me and I never had any issues with any programs running on my machines. As it looks like we are being forced to use an initramfs if /usr is seperate, I decided to use the following partitioning: 1) /boot (300M) 2) LVM (rest) And simply put everything into LVM. >> So, the bottom line is, obviously (to me at least), there are a lot >> more things that can go wrong when an initramfs is involved, that >> simply don't or can't happen otherwise. > > I'd take issue with "a lot" but there are things that can go wrong with > an initramfs (but this wasn't one of them, it was PEBKAC) just as there > are things that can go wrong when you use a separate /usr without an > initramfs. I agree with the PEBKAC, but a simple method to identify when the initramfs is out-of-sync with userland tools would help. Preferably something integrated into portage that puts out a warning when a package that has parts in the initramfs is updated mentions that the initramfs is out-of-sync. >> >> And this is *precisely* what scares me about this. >> >> >> >> This simply should not be, period. Support for separate /usr without >> >> initramfs simply SHOULD NOT be dropped unless/until things like this >> >> (updating lvm) can *never* cause a system to fail to boot like >> >> this. > > No one has demonstrated that it can. An initramfs isn't magic, it > caries out a couple of trivial tasks before switching to the real root > partition. The issue mentioned was an example. It was also: 1) The only one I can remember from the last 4 or 5 years 2) Easily avoided with a "rebuild initramfs" notice during upgrade > Yes, an initramfs adds an extra step to the boot process, but so does > having a separate /usr in the first place. I think that if you took the > time to understand what an initramfs is and does instead of making an > emotional reaction to it, you would see that this is no big deal. I think part of the "problem" with it is that the documentation about it isn't clear. There are tools (genkernel / dracut /..? ) that can automate the generation of it. But it isn't clear what exactly it is doing. If there would be a clear guide on how to do it manually, or a tool that would assist in building the file(s) needed to have it build into the kernel, then it might be more acceptable to some. I currently use genkernel, simply because it works-for-me and I haven't had the time to investigate how to get my setup supported with an in-kernel version. >> > This is irrelevant to separate /usr. an initramfs is required if / is >> > on a VM, whether or not /usr is on the same LV. >> >> Sorry, I don't see where he said that this system was running on a >> VM... or did you mean where he had / on an *LVM* partition - which, >> again, he did not say he had. > > Sorry, I meant LV. The person with the issue did not mention having / on LVM. I also never had any issues with /usr on LVM while / was not. -- Joost ^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [gentoo-user] systemd and initramfs 2013-08-22 6:20 ` J. Roeleveld @ 2013-08-22 6:39 ` Alan McKinnon 2013-08-22 8:23 ` J. Roeleveld 2013-08-22 9:17 ` Neil Bothwick 1 sibling, 1 reply; 43+ messages in thread From: Alan McKinnon @ 2013-08-22 6:39 UTC (permalink / raw To: gentoo-user On 22/08/2013 08:20, J. Roeleveld wrote: > On Wed, August 21, 2013 22:02, Neil Bothwick wrote: >> On Wed, 21 Aug 2013 11:50:57 -0400, Tanstaafl wrote: >> [snip] >> No one has demonstrated that it can. An initramfs isn't magic, it >> caries out a couple of trivial tasks before switching to the real root >> partition. > > The issue mentioned was an example. It was also: > 1) The only one I can remember from the last 4 or 5 years > 2) Easily avoided with a "rebuild initramfs" notice during upgrade Take out that word "Easily", it doesn't belong there. What is the trigger condition that causes the message to be emitted? Will it be in each ebuild whose files might end up in an intramfs? Expect much bitching and refusing from the devs who will have to maintain that, so not gonna fly. Will it be at the tail end of all emerge actions? Ain't gonna fly either as that is completely not a portage function. The PM installs and updates packages, it does not check what you then do with the results. And portage doesn't really know if you a) have an initramfs, b) where it is, c) what you want in it (as opposed to what you have in it) Will it be a reminder after installing kernel sources? Changed sources are not the cause of the isolated problems being mentioned here. Changed userland is. Face it. If you want to use an initramf, IT IS THE USERS JOB to keep it working as he wants it to work. It's a somewhat similar problem to out of tree modules and keeping them installed and in sync - portage makes zero effort to help with that one too.-- -- Alan McKinnon alan.mckinnon@gmail.com ^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [gentoo-user] systemd and initramfs 2013-08-22 6:39 ` Alan McKinnon @ 2013-08-22 8:23 ` J. Roeleveld 2013-08-22 9:07 ` Neil Bothwick 0 siblings, 1 reply; 43+ messages in thread From: J. Roeleveld @ 2013-08-22 8:23 UTC (permalink / raw To: gentoo-user On Thu, August 22, 2013 08:39, Alan McKinnon wrote: > On 22/08/2013 08:20, J. Roeleveld wrote: >> On Wed, August 21, 2013 22:02, Neil Bothwick wrote: >>> On Wed, 21 Aug 2013 11:50:57 -0400, Tanstaafl wrote: >>> > > [snip] > >>> No one has demonstrated that it can. An initramfs isn't magic, it >>> caries out a couple of trivial tasks before switching to the real root >>> partition. >> >> The issue mentioned was an example. It was also: >> 1) The only one I can remember from the last 4 or 5 years >> 2) Easily avoided with a "rebuild initramfs" notice during upgrade > > Take out that word "Easily", it doesn't belong there. > > What is the trigger condition that causes the message to be emitted? > > Will it be in each ebuild whose files might end up in an intramfs? > Expect much bitching and refusing from the devs who will have to > maintain that, so not gonna fly. > > Will it be at the tail end of all emerge actions? Ain't gonna fly either > as that is completely not a portage function. The PM installs and > updates packages, it does not check what you then do with the results. > And portage doesn't really know if you a) have an initramfs, b) where it > is, c) what you want in it (as opposed to what you have in it) > > Will it be a reminder after installing kernel sources? Changed sources > are not the cause of the isolated problems being mentioned here. Changed > userland is. > > Face it. If you want to use an initramf, IT IS THE USERS JOB to keep it > working as he wants it to work. It's a somewhat similar problem to out > of tree modules and keeping them installed and in sync - portage makes > zero effort to help with that one too. True, but with the scripts that are floating in this thread, a usable solution can be build. Only need to finalize that into a generic option and document it in the wiki. Preferably as a "post-emerge" command. -- Joost ^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [gentoo-user] systemd and initramfs 2013-08-22 8:23 ` J. Roeleveld @ 2013-08-22 9:07 ` Neil Bothwick 2013-08-22 12:55 ` J. Roeleveld 0 siblings, 1 reply; 43+ messages in thread From: Neil Bothwick @ 2013-08-22 9:07 UTC (permalink / raw To: gentoo-user [-- Attachment #1: Type: text/plain, Size: 836 bytes --] On Thu, 22 Aug 2013 10:23:57 +0200, J. Roeleveld wrote: > True, but with the scripts that are floating in this thread, a usable > solution can be build. It took me a few seconds to do that, so why hasn't it been done before? It's obviously not due to the work involved, so it must be that no one involved believes there is a need for it, an belief I share. > Only need to finalize that into a generic option and document it in the > wiki. Preferably as a "post-emerge" command. No thanks you. As Alan said, portage doesn't have a mechanism to run a command after a batch emerge, it would have to be done after every single package. So the next time a bunch of Perl packages and their virtuals are updated, look forward to it being run fifty times. -- Neil Bothwick When there's a will, I want to be in it. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [gentoo-user] systemd and initramfs 2013-08-22 9:07 ` Neil Bothwick @ 2013-08-22 12:55 ` J. Roeleveld 2013-08-22 14:29 ` Neil Bothwick 0 siblings, 1 reply; 43+ messages in thread From: J. Roeleveld @ 2013-08-22 12:55 UTC (permalink / raw To: gentoo-user On Thu, August 22, 2013 11:07, Neil Bothwick wrote: > On Thu, 22 Aug 2013 10:23:57 +0200, J. Roeleveld wrote: > >> True, but with the scripts that are floating in this thread, a usable >> solution can be build. > > It took me a few seconds to do that, so why hasn't it been done before? > It's obviously not due to the work involved, so it must be that no one > involved believes there is a need for it, an belief I share. > >> Only need to finalize that into a generic option and document it in the >> wiki. Preferably as a "post-emerge" command. > > No thanks you. As Alan said, portage doesn't have a mechanism to run a > command after a batch emerge, it would have to be done after every single > package. So the next time a bunch of Perl packages and their virtuals are > updated, look forward to it being run fifty times. I would not want it run fifty times. I would prefer if there was a way to have a script run automagically when emerge finished with a batch-update. That script is a usefull addition to the set of commands I use when updating the server. It would help me to avoid rebuilding the initramfs each time I do an update. -- Joost ^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [gentoo-user] systemd and initramfs 2013-08-22 12:55 ` J. Roeleveld @ 2013-08-22 14:29 ` Neil Bothwick 0 siblings, 0 replies; 43+ messages in thread From: Neil Bothwick @ 2013-08-22 14:29 UTC (permalink / raw To: gentoo-user [-- Attachment #1: Type: text/plain, Size: 795 bytes --] On Thu, 22 Aug 2013 14:55:58 +0200, J. Roeleveld wrote: > > No thanks you. As Alan said, portage doesn't have a mechanism to run a > > command after a batch emerge, it would have to be done after every > > single package. So the next time a bunch of Perl packages and their > > virtuals are updated, look forward to it being run fifty times. > > I would not want it run fifty times. I would prefer if there was a way > to have a script run automagically when emerge finished with a > batch-update. There maybe times that would be useful, but it is not possible with portage. The only way I can think of is a wrapper script that you call instead of emerge. -- Neil Bothwick Power outage at a department store yesterday, Twenty people were trapped on the escalators. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [gentoo-user] systemd and initramfs 2013-08-22 6:20 ` J. Roeleveld 2013-08-22 6:39 ` Alan McKinnon @ 2013-08-22 9:17 ` Neil Bothwick 2013-08-22 12:58 ` J. Roeleveld 1 sibling, 1 reply; 43+ messages in thread From: Neil Bothwick @ 2013-08-22 9:17 UTC (permalink / raw To: gentoo-user [-- Attachment #1: Type: text/plain, Size: 1640 bytes --] On Thu, 22 Aug 2013 08:20:23 +0200, J. Roeleveld wrote: > No one has demonstrated that it can. An initramfs isn't magic, it > > caries out a couple of trivial tasks before switching to the real root > > partition. > > The issue mentioned was an example. It was also: > 1) The only one I can remember from the last 4 or 5 years > 2) Easily avoided with a "rebuild initramfs" notice during upgrade 3) spurious as the poster then realised that this was a PEBKAC problem. So in 5 years you have seen one problem blamed on the initramfs, and all but one of those reported problems were actually down the the initramfs. > I think part of the "problem" with it is that the documentation about it > isn't clear. No argument there. > There are tools (genkernel / dracut /..? ) that can > automate the generation of it. But it isn't clear what exactly it is > doing. If there would be a clear guide on how to do it manually, or a > tool that would assist in building the file(s) needed to have it build > into the kernel, then it might be more acceptable to some. There are two. A rather terse one in the kernel documentation, I posted the location earlier in the thread, and a page on the Wiki that describes the process in more detail, including an example init script. I've just looked for it and it has expanded since I last need to look at it http://wiki.gentoo.org/wiki/Early_Userspace_Mounting Or if you look at the official Gentoo documentation it links to the various resources. http://www.gentoo.org/doc/en/initramfs-guide.xml -- Neil Bothwick Top Oxymorons Number 31: Small crowd [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [gentoo-user] systemd and initramfs 2013-08-22 9:17 ` Neil Bothwick @ 2013-08-22 12:58 ` J. Roeleveld 0 siblings, 0 replies; 43+ messages in thread From: J. Roeleveld @ 2013-08-22 12:58 UTC (permalink / raw To: gentoo-user On Thu, August 22, 2013 11:17, Neil Bothwick wrote: > On Thu, 22 Aug 2013 08:20:23 +0200, J. Roeleveld wrote: > >> No one has demonstrated that it can. An initramfs isn't magic, it >> > caries out a couple of trivial tasks before switching to the real root >> > partition. >> >> The issue mentioned was an example. It was also: >> 1) The only one I can remember from the last 4 or 5 years >> 2) Easily avoided with a "rebuild initramfs" notice during upgrade > > 3) spurious as the poster then realised that this was a PEBKAC problem. > So in 5 years you have seen one problem blamed on the initramfs, and all > but one of those reported problems were actually down the the initramfs. Also the reason why I don't see a problem with the current methods for initramfs usage. >> I think part of the "problem" with it is that the documentation about it >> isn't clear. > > No argument there. > >> There are tools (genkernel / dracut /..? ) that can >> automate the generation of it. But it isn't clear what exactly it is >> doing. If there would be a clear guide on how to do it manually, or a >> tool that would assist in building the file(s) needed to have it build >> into the kernel, then it might be more acceptable to some. > > There are two. A rather terse one in the kernel documentation, I posted > the location earlier in the thread, and a page on the Wiki that describes > the process in more detail, including an example init script. I've just > looked for it and it has expanded since I last need to look at it > > http://wiki.gentoo.org/wiki/Early_Userspace_Mounting > > Or if you look at the official Gentoo documentation it links to the > various resources. > > http://www.gentoo.org/doc/en/initramfs-guide.xml Last time I looked, the information was too minimal to create the config needed for my setup. Genkernel was the simpler method. The current version seems more complete. I will give it another go when I find a spare moment. -- Joost ^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [gentoo-user] systemd and initramfs 2013-08-21 15:10 ` Neil Bothwick 2013-08-21 15:50 ` Tanstaafl @ 2013-08-21 15:54 ` thegeezer 2013-08-21 16:42 ` Canek Peláez Valdés 1 sibling, 1 reply; 43+ messages in thread From: thegeezer @ 2013-08-21 15:54 UTC (permalink / raw To: gentoo-user On 08/21/2013 04:10 PM, Neil Bothwick wrote: > On Wed, 21 Aug 2013 10:40:32 -0400, Tanstaafl wrote: > >>>> update LVM2 >>>> kernel remains the same >>>> reboot >>>> initramfs finds all PVS and activates VG >>>> main system init >>>> /etc/init.d/lvm2 start >>>> error can't read from USB PVS >>>> login to system with missing PVS >>>> /etc/init.d/lvm2 restart >>>> all PVS listed >>>> reboot several times to verify it wasn't just a stuck service, >>>> exactly the same >>>> now ok but restarting a boot service manually required (!) >>> I updated the initramfs and rebooted and all problems went away > This sounds like a bug in LVM. If it was down to a version clash, why did > a restart find the PVs? well you can probably understand my confusion replugging usb devices and trying to pvscan // vgchange -ay --partial etc the errors i was getting are below. i genuinely thought with the missing device it was a hardware failure of the usb disk, and a restart of lvm was a last gasp chance; when it worked i realised the initram might need updating. Aug 17 17:56:30 [kernel] Buffer I/O error on device dm-26, logical block 5242864 - Last output repeated twice - Aug 17 17:56:30 [kernel] Buffer I/O error on device dm-26, logical block 5242878 - Last output repeated twice - Aug 17 17:56:30 [kernel] Buffer I/O error on device dm-26, logical block 0 - Last output repeated twice - Aug 17 17:56:30 [kernel] Buffer I/O error on device dm-26, logical block 1 Aug 17 17:56:30 [kernel] Buffer I/O error on device dm-26, logical block 5242879 - Last output repeated 2 times - > >> And this is *precisely* what scares me about this. >> >> This simply should not be, period. Support for separate /usr without >> initramfs simply SHOULD NOT be dropped unless/until things like this >> (updating lvm) can *never* cause a system to fail to boot like this. > This is irrelevant to separate /usr. an initramfs is required if / is on > a VM, whether or not /usr is on the same LV. > > Perhaps though it highlights a need for a utility to identify if items on an initramfs have been updated ? in this case the problem was definitely between the keyboard and the chair, but it is easily overlooked (yeah just trying to make myself feel better) either way i'm already using initramfs anyway -- i pesonally roll out lvm on root on everything i can because of it's flexibility: so the whole argument of whether or not split /usr is not my argument. i'm just bringing things to light to make the overall process easier for everyone by highlighting potential issues folks may have. ^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [gentoo-user] systemd and initramfs 2013-08-21 15:54 ` thegeezer @ 2013-08-21 16:42 ` Canek Peláez Valdés 2013-08-21 16:56 ` thegeezer 0 siblings, 1 reply; 43+ messages in thread From: Canek Peláez Valdés @ 2013-08-21 16:42 UTC (permalink / raw To: gentoo-user On Wed, Aug 21, 2013 at 10:54 AM, thegeezer <thegeezer@thegeezer.net> wrote: > On 08/21/2013 04:10 PM, Neil Bothwick wrote: >> On Wed, 21 Aug 2013 10:40:32 -0400, Tanstaafl wrote: >> >>>>> update LVM2 >>>>> kernel remains the same >>>>> reboot >>>>> initramfs finds all PVS and activates VG >>>>> main system init >>>>> /etc/init.d/lvm2 start >>>>> error can't read from USB PVS >>>>> login to system with missing PVS >>>>> /etc/init.d/lvm2 restart >>>>> all PVS listed >>>>> reboot several times to verify it wasn't just a stuck service, >>>>> exactly the same >>>>> now ok but restarting a boot service manually required (!) >>>> I updated the initramfs and rebooted and all problems went away >> This sounds like a bug in LVM. If it was down to a version clash, why did >> a restart find the PVs? > well you can probably understand my confusion replugging usb devices and > trying to pvscan // vgchange -ay --partial etc > the errors i was getting are below. i genuinely thought with the > missing device it was a hardware failure of the usb disk, and a restart > of lvm was a last gasp chance; when it worked i realised the initram > might need updating. As Neil said, this sounds like a bug in LVM and/or the initramfs you were using (did you use genkernel, dracut, you roll your own?) If a restart worked, the initramfs could do that, right? So, it was not a problem with the initramfs, per se. > Aug 17 17:56:30 [kernel] Buffer I/O error on device dm-26, logical block > 5242864 > - Last output repeated twice - > Aug 17 17:56:30 [kernel] Buffer I/O error on device dm-26, logical block > 5242878 > - Last output repeated twice - > Aug 17 17:56:30 [kernel] Buffer I/O error on device dm-26, logical block 0 > - Last output repeated twice - > Aug 17 17:56:30 [kernel] Buffer I/O error on device dm-26, logical block 1 > Aug 17 17:56:30 [kernel] Buffer I/O error on device dm-26, logical block > 5242879 > - Last output repeated 2 times - > > >> >>> And this is *precisely* what scares me about this. >>> >>> This simply should not be, period. Support for separate /usr without >>> initramfs simply SHOULD NOT be dropped unless/until things like this >>> (updating lvm) can *never* cause a system to fail to boot like this. >> This is irrelevant to separate /usr. an initramfs is required if / is on >> a VM, whether or not /usr is on the same LV. >> >> > > > Perhaps though it highlights a need for a utility to identify if items > on an initramfs have been updated ? > in this case the problem was definitely between the keyboard and the > chair, but it is easily overlooked (yeah just trying to make myself feel > better) I'm under the impression that, with a properly generated initramfs, this kind of things would be avoided when changing minor versions of stuff like LVM or NFS. For major versions, a message from the ebuild shoul be enough, and I'm not even sure about that. We should also expect some responsibility from the user towards her system; if she updates anything related to mounting /usr (and perhaps /), then she should use her common sense and rebuild her initramfs. > either way i'm already using initramfs anyway -- i pesonally roll out > lvm on root on everything i can because of it's flexibility: so the > whole argument of whether or not split /usr is not my argument. i'm > just bringing things to light to make the overall process easier for > everyone by highlighting potential issues folks may have. If we had just one initramfs generator, this could be easily automatized. The problem is that we have genkernel, dracut, busybox with the sep-usr USE flag, and roll-your-own-initramfs (and whichever one I don't know about). The cost of all this choice is that is responsibility of the user to take care of her system. I highly recommend to use dracut; it just works, it can be called at any time, and it takes between 10 to 30 seconds (depends on the speed of the machine) to build an initramfs. If you are really, *really* paranoid, you can make an script for your "emerge -whatever world" command, and add "dracut -f -H" afterwards, and then only upgrade your world with that script. That way, *every* time you upgrade your world, you update your initramfs. It adds 10-30 seconds to your upgrade time, but the initramfs is always in sync. I only update my initramfs after a kernel update, but I follow vanilla-sources, so that is every other week or something like that. I have an script that compiles the new kernel, installs it, generates the initramfs, and updates the GRUB (or GRUB2) config file, so everything is automatized. Regards. -- Canek Peláez Valdés Posgrado en Ciencia e Ingeniería de la Computación Universidad Nacional Autónoma de México ^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [gentoo-user] systemd and initramfs 2013-08-21 16:42 ` Canek Peláez Valdés @ 2013-08-21 16:56 ` thegeezer 2013-08-21 18:34 ` Mike Gilbert 2013-08-21 18:52 ` Neil Bothwick 0 siblings, 2 replies; 43+ messages in thread From: thegeezer @ 2013-08-21 16:56 UTC (permalink / raw To: gentoo-user On 08/21/2013 05:42 PM, Canek Peláez Valdés wrote: > On Wed, Aug 21, 2013 at 10:54 AM, thegeezer <thegeezer@thegeezer.net> wrote: >> On 08/21/2013 04:10 PM, Neil Bothwick wrote: >>> On Wed, 21 Aug 2013 10:40:32 -0400, Tanstaafl wrote: >>> >>>>>> update LVM2 >>>>>> kernel remains the same >>>>>> reboot >>>>>> initramfs finds all PVS and activates VG >>>>>> main system init >>>>>> /etc/init.d/lvm2 start >>>>>> error can't read from USB PVS >>>>>> login to system with missing PVS >>>>>> /etc/init.d/lvm2 restart >>>>>> all PVS listed >>>>>> reboot several times to verify it wasn't just a stuck service, >>>>>> exactly the same >>>>>> now ok but restarting a boot service manually required (!) >>>>> I updated the initramfs and rebooted and all problems went away >>> This sounds like a bug in LVM. If it was down to a version clash, why did >>> a restart find the PVs? >> well you can probably understand my confusion replugging usb devices and >> trying to pvscan // vgchange -ay --partial etc >> the errors i was getting are below. i genuinely thought with the >> missing device it was a hardware failure of the usb disk, and a restart >> of lvm was a last gasp chance; when it worked i realised the initram >> might need updating. > As Neil said, this sounds like a bug in LVM and/or the initramfs you either way i'm not too fussed to find out - i found a temp solution (restart lvm) and a complete resolution (update initramfs). it is odd though huh, and is an important headsup to me (and maybe others) to make sure to update the initramfs in future when i notice lvm updates. as it only happened last week it was i thought pertinent to the discussion, thanks for the thoughts on finding a resolution but it is resolved for me now. i only post it as a potential warning to others. > were using (did you use genkernel, dracut, you roll your own?) If a > restart worked, the initramfs could do that, right? genkernel initramfs --lvm > > So, it was not a problem with the initramfs, per se. > > >> Aug 17 17:56:30 [kernel] Buffer I/O error on device dm-26, logical block >> 5242864 >> - Last output repeated twice - >> Aug 17 17:56:30 [kernel] Buffer I/O error on device dm-26, logical block >> 5242878 >> - Last output repeated twice - >> Aug 17 17:56:30 [kernel] Buffer I/O error on device dm-26, logical block 0 >> - Last output repeated twice - >> Aug 17 17:56:30 [kernel] Buffer I/O error on device dm-26, logical block 1 >> Aug 17 17:56:30 [kernel] Buffer I/O error on device dm-26, logical block >> 5242879 >> - Last output repeated 2 times - >> >> >>>> And this is *precisely* what scares me about this. >>>> >>>> This simply should not be, period. Support for separate /usr without >>>> initramfs simply SHOULD NOT be dropped unless/until things like this >>>> (updating lvm) can *never* cause a system to fail to boot like this. >>> This is irrelevant to separate /usr. an initramfs is required if / is on >>> a VM, whether or not /usr is on the same LV. >>> >>> >> >> Perhaps though it highlights a need for a utility to identify if items >> on an initramfs have been updated ? >> in this case the problem was definitely between the keyboard and the >> chair, but it is easily overlooked (yeah just trying to make myself feel >> better) > I'm under the impression that, with a properly generated initramfs, > this kind of things would be avoided when changing minor versions of > stuff like LVM or NFS. For major versions, a message from the ebuild > shoul be enough, and I'm not even sure about that. > > We should also expect some responsibility from the user towards her > system; if she updates anything related to mounting /usr (and perhaps > /), then she should use her common sense and rebuild her initramfs. +1 for the user responsibility, as i said definitely pebkac. however, a friendly notice wouldn't go amiss. as i mentioned in a previous post where that notice comes from is to be debated as i do not want an ubuntu style everything happens for you automagically because then when you try to do anything different it all falls down. ya, i want full control and none of the responsibility for when it goes wrong ;) > >> either way i'm already using initramfs anyway -- i pesonally roll out >> lvm on root on everything i can because of it's flexibility: so the >> whole argument of whether or not split /usr is not my argument. i'm >> just bringing things to light to make the overall process easier for >> everyone by highlighting potential issues folks may have. > If we had just one initramfs generator, this could be easily > automatized. The problem is that we have genkernel, dracut, busybox > with the sep-usr USE flag, and roll-your-own-initramfs (and whichever > one I don't know about). The cost of all this choice is that is > responsibility of the user to take care of her system. > > I highly recommend to use dracut; it just works, it can be called at > any time, and it takes between 10 to 30 seconds (depends on the speed > of the machine) to build an initramfs. If you are really, *really* > paranoid, you can make an script for your "emerge -whatever world" > command, and add "dracut -f -H" afterwards, and then only upgrade your > world with that script. > > That way, *every* time you upgrade your world, you update your > initramfs. It adds 10-30 seconds to your upgrade time, but the > initramfs is always in sync. i'll have to try dracut, genkernel is considerably longer as it seems to want to recompile everything each time i.e. busybox > > I only update my initramfs after a kernel update, but I follow > vanilla-sources, so that is every other week or something like that. I > have an script that compiles the new kernel, installs it, generates > the initramfs, and updates the GRUB (or GRUB2) config file, so > everything is automatized. > > Regards. anyone have any good pointers to an initramfs interrogator, maybe that takes as argument kernel command line ? ^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [gentoo-user] systemd and initramfs 2013-08-21 16:56 ` thegeezer @ 2013-08-21 18:34 ` Mike Gilbert 2013-08-21 18:52 ` Neil Bothwick 1 sibling, 0 replies; 43+ messages in thread From: Mike Gilbert @ 2013-08-21 18:34 UTC (permalink / raw To: gentoo-user On Wed, Aug 21, 2013 at 12:56 PM, thegeezer <thegeezer@thegeezer.net> wrote: > anyone have any good pointers to an initramfs interrogator, maybe that > takes as argument kernel command line ? If you are looking to test an initramfs, qemu is handy. qemu-kvm -kernel /boot/vmlinuz -initrd /boot/initramfs.img -append "kernel command line" ^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [gentoo-user] systemd and initramfs 2013-08-21 16:56 ` thegeezer 2013-08-21 18:34 ` Mike Gilbert @ 2013-08-21 18:52 ` Neil Bothwick 2013-08-21 19:09 ` Tanstaafl 2013-08-21 20:09 ` thegeezer 1 sibling, 2 replies; 43+ messages in thread From: Neil Bothwick @ 2013-08-21 18:52 UTC (permalink / raw To: gentoo-user [-- Attachment #1: Type: text/plain, Size: 461 bytes --] On Wed, 21 Aug 2013 17:56:36 +0100, thegeezer wrote: > anyone have any good pointers to an initramfs interrogator, maybe that > takes as argument kernel command line ? I posted a script fragment that compares the contents of the kernel's initramfs config file with the live filesystem. Dracut users could use the same method by parsing the output from lsinitrd. -- Neil Bothwick For every action, there is an equal and opposite malfunction. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [gentoo-user] systemd and initramfs 2013-08-21 18:52 ` Neil Bothwick @ 2013-08-21 19:09 ` Tanstaafl 2013-08-21 19:32 ` Mike Gilbert 2013-08-21 20:09 ` thegeezer 1 sibling, 1 reply; 43+ messages in thread From: Tanstaafl @ 2013-08-21 19:09 UTC (permalink / raw To: gentoo-user On 2013-08-21 2:52 PM, Neil Bothwick <neil@digimed.co.uk> wrote: > On Wed, 21 Aug 2013 17:56:36 +0100, thegeezer wrote: > >> anyone have any good pointers to an initramfs interrogator, maybe that >> takes as argument kernel command line ? > > I posted a script fragment that compares the contents of the kernel's > initramfs config file with the live filesystem. Dracut users could use > the same method by parsing the output from lsinitrd. My question is, why can't portage do this automatically as part of the update process for these packages? Again: support for separate /usr should absolutely NOT be dropped unless/until this process can be handled properly by portage itself. At an absolute bare minimum, the emerge output should advise the user if/when they need to update their initramfs, but ideally, it should be done automatically - automation is something that computers are good at. ^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [gentoo-user] systemd and initramfs 2013-08-21 19:09 ` Tanstaafl @ 2013-08-21 19:32 ` Mike Gilbert 0 siblings, 0 replies; 43+ messages in thread From: Mike Gilbert @ 2013-08-21 19:32 UTC (permalink / raw To: gentoo-user On Wed, Aug 21, 2013 at 3:09 PM, Tanstaafl <tanstaafl@libertytrek.org> wrote: > On 2013-08-21 2:52 PM, Neil Bothwick <neil@digimed.co.uk> wrote: >> >> On Wed, 21 Aug 2013 17:56:36 +0100, thegeezer wrote: >> >>> anyone have any good pointers to an initramfs interrogator, maybe that >>> takes as argument kernel command line ? >> >> >> I posted a script fragment that compares the contents of the kernel's >> initramfs config file with the live filesystem. Dracut users could use >> the same method by parsing the output from lsinitrd. > > > My question is, why can't portage do this automatically as part of the > update process for these packages? > > Again: support for separate /usr should absolutely NOT be dropped > unless/until this process can be handled properly by portage itself. > > At an absolute bare minimum, the emerge output should advise the user > if/when they need to update their initramfs, but ideally, it should be done > automatically - automation is something that computers are good at. > It really doesn't matter if your initramfs is out-of-date, so long as it is able to mount your filesystems and pass control along to your real system. Personally, I only update my initramfs when I update my kernel; it works out fine. ^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [gentoo-user] systemd and initramfs 2013-08-21 18:52 ` Neil Bothwick 2013-08-21 19:09 ` Tanstaafl @ 2013-08-21 20:09 ` thegeezer 2013-08-21 20:34 ` Neil Bothwick 1 sibling, 1 reply; 43+ messages in thread From: thegeezer @ 2013-08-21 20:09 UTC (permalink / raw To: gentoo-user On 08/21/2013 07:52 PM, Neil Bothwick wrote: > On Wed, 21 Aug 2013 17:56:36 +0100, thegeezer wrote: > >> anyone have any good pointers to an initramfs interrogator, maybe that >> takes as argument kernel command line ? > I posted a script fragment that compares the contents of the kernel's > initramfs config file with the live filesystem. Dracut users could use > the same method by parsing the output from lsinitrd. > > hiya, the script you posted referenced /usr/src/init.cfg -- not sure if this is a dracut thing but i don't have that. i was actually thinking something like the following (warning needs work) #!/bin/bash # get contents of lsinitrd | awk for month,day,time, /filename | list the awked filename lsinitrd /boot/boot/initramfs-genkernel-x86_64-`uname -r` | awk '{ print $6" "$7" "$8" /"$9; };' | xargs ls -alhd | awk '{ print $6" "$7" "$8" "$9; };' > existingfiles.tmp # get contents of lsinitrd lsinitrd /boot/boot/initramfs-genkernel-x86_64-`uname -r` | awk '{ print $6" "$7" "$8" /"$9; };' > initrdfiles.tmp # do a diff to see whats newer in initrd diff initrdfiles.tmp existingfiles.tmp | grep '<' improvements gratefully received :) ^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [gentoo-user] systemd and initramfs 2013-08-21 20:09 ` thegeezer @ 2013-08-21 20:34 ` Neil Bothwick 0 siblings, 0 replies; 43+ messages in thread From: Neil Bothwick @ 2013-08-21 20:34 UTC (permalink / raw To: gentoo-user [-- Attachment #1: Type: text/plain, Size: 1159 bytes --] On Wed, 21 Aug 2013 21:09:41 +0100, thegeezer wrote: > > I posted a script fragment that compares the contents of the kernel's > > initramfs config file with the live filesystem. Dracut users could use > > the same method by parsing the output from lsinitrd. > the script you posted referenced /usr/src/init.cfg -- not sure if this > is a dracut thing but i don't have that. It's the kernel's initramfs config file, or at least the location I use (the location is set in the kernel config) > i was actually thinking something like the following (warning needs > work) > > #!/bin/bash > # get contents of lsinitrd | awk for month,day,time, /filename | list > the awked filename There's no need to get the timestamps from the initramfs, just the list of files. Then you compare the timestamp of the ones in your root filesystem with the timestamp of the file containing the initramfs. it saves parsing and comparing all those dates, just use the shell's -nt test. The only difference between using it with Dracut or the kernel's initramfs is how you generate the file list. -- Neil Bothwick Press every key to continue. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [gentoo-user] systemd and initramfs 2013-08-20 6:54 ` Canek Peláez Valdés ` (2 preceding siblings ...) 2013-08-21 0:32 ` Walter Dnes @ 2013-08-22 21:08 ` Stefan G. Weichinger 2013-08-22 22:44 ` Neil Bothwick 3 siblings, 1 reply; 43+ messages in thread From: Stefan G. Weichinger @ 2013-08-22 21:08 UTC (permalink / raw To: gentoo-user Am 20.08.2013 08:54, schrieb Canek Peláez Valdés: > Unless you want to learn the ins and outs of using an initramfs (and > having a lot of fun and failed boots in the process), I highly > recommend using Dracut. It does everything for you. I'd dig a short and working howto "systemd and dracut". My approach in the last weeks/months was a mixed one (which is nearly always bad): I ran genkernel to compile kernel and modules ... additionally generated initramfs with a quick-and-dirty-script hacked by myself (it uses dracut) ... and then executed grub2-mkconfig to update my grub2-config. This works so far ... until yesterday when my thinkpad didn't boot correctly anymore with the gentoo-sources-based kernel/initramfs 3.10.9 (interesting: my desktop worked out fine with the same sources ... the config might be a bit different). I found that the genkernel-based grub2-entry (with the initramfs generated via genkernel) didn't create /dev/shm anymore .. leading to various things failing. Another grub2-entry pointing to the dracut-based initramfs works fine. Cool. So I have to get rid of genkernel, right? At least for now. Additionally I would really like to understand how to influence the default entry for grub2 ... letting grub2-mkconfig detect the available options is one thing ... but do I really have to count down the available kernels and edit the number? I would prefer to be able to explicitly select my default kernel by editing some file and for example choose "3.10.9" somewhere ... Stefan ^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [gentoo-user] systemd and initramfs 2013-08-22 21:08 ` Stefan G. Weichinger @ 2013-08-22 22:44 ` Neil Bothwick 2013-08-23 7:20 ` Stefan G. Weichinger 0 siblings, 1 reply; 43+ messages in thread From: Neil Bothwick @ 2013-08-22 22:44 UTC (permalink / raw To: gentoo-user [-- Attachment #1: Type: text/plain, Size: 661 bytes --] On Thu, 22 Aug 2013 23:08:43 +0200, Stefan G. Weichinger wrote: > Additionally I would really like to understand how to influence the > default entry for grub2 ... letting grub2-mkconfig detect the available > options is one thing ... but do I really have to count down the > available kernels and edit the number? > > I would prefer to be able to explicitly select my default kernel by > editing some file and for example choose "3.10.9" somewhere ... /etc/grub.d/40_custom Add you entries there, and change the number in the filename to have them appear before the autogenerated entries. -- Neil Bothwick Modulation in all things. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [gentoo-user] systemd and initramfs 2013-08-22 22:44 ` Neil Bothwick @ 2013-08-23 7:20 ` Stefan G. Weichinger 0 siblings, 0 replies; 43+ messages in thread From: Stefan G. Weichinger @ 2013-08-23 7:20 UTC (permalink / raw To: gentoo-user Am 23.08.2013 00:44, schrieb Neil Bothwick: > /etc/grub.d/40_custom > > Add you entries there, and change the number in the filename to > have them appear before the autogenerated entries. Thanks for the pointer. Gotta play with that. ^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [gentoo-user] systemd and initramfs 2013-08-20 6:44 ` Helmut Jarausch 2013-08-20 6:50 ` Alan McKinnon 2013-08-20 6:54 ` Canek Peláez Valdés @ 2013-08-21 2:06 ` Mike Gilbert 2 siblings, 0 replies; 43+ messages in thread From: Mike Gilbert @ 2013-08-21 2:06 UTC (permalink / raw To: gentoo-user On Tue, Aug 20, 2013 at 2:44 AM, Helmut Jarausch <jarausch@igpm.rwth-aachen.de> wrote: > On 08/19/2013 04:55:29 PM, Mike Gilbert wrote: >> >> On Mon, Aug 19, 2013 at 5:58 AM, Helmut Jarausch >> <jarausch@igpm.rwth-aachen.de> wrote: >> > Hi, >> > >> > what binaries and libraries have to be put into an initramfs for a >> > system >> > booting with init=/usr/lib/systemd/systemd ? >> > (I am building the initramsfs myself) >> > >> >> You need to get your root filesystem and /usr mounted. Just keep that >> goal in mind and start adding files to support it. >> >> There doesn't need to be anything systemd-specific. >> > > I am not sure about "timing". > > Initially the kernel has only the "mini" /usr partition contained within the > initramfs. > Then it switches to "real root" and only then it tries to mount the "real" > /usr partition. > Does this all happen before the kernel hands control over to the init > process (i.e. systemd) ? > Here's the essence of what you need to accomplish (skip step 2 if you don't have a separate /usr filesystem): 1. Mount the "real" root filesystem, which we will call /realroot. 2. Mount the /usr filesystem at /realroot/usr. 3. Pivot /realroot onto / and exec /usr/lib/systemd/systemd. Step 3 is generally accomplished by a line like this: exec switch_root /realroot /usr/bin/systemd/systemd "$@" If you want to be able to switch inits at boot time, you will need to parse the kernel command line from /proc/cmdline. ^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [gentoo-user] systemd and initramfs 2013-08-19 9:58 [gentoo-user] systemd and initramfs Helmut Jarausch [not found] ` < CAJ0EP43bSj7TBPsSFZDx__Ykp-LZjL8GrdshGkYuk+dVuyhqZA@mail.gmail.com> 2013-08-19 14:55 ` Mike Gilbert @ 2013-08-19 15:42 ` thegeezer 2 siblings, 0 replies; 43+ messages in thread From: thegeezer @ 2013-08-19 15:42 UTC (permalink / raw To: gentoo-user On 08/19/2013 10:58 AM, Helmut Jarausch wrote: > Hi, > > what binaries and libraries have to be put into an initramfs for a system > booting with init=/usr/lib/systemd/systemd ? > (I am building the initramsfs myself) > > Thanks for some hints, > Helmut > > my 2c would be to autobuild one using genkernel or dracut and then dissemble it this is because I always forget silly things like the special files dev/tty and sda ^ permalink raw reply [flat|nested] 43+ messages in thread
end of thread, other threads:[~2013-08-23 7:20 UTC | newest] Thread overview: 43+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-08-19 9:58 [gentoo-user] systemd and initramfs Helmut Jarausch [not found] ` < CAJ0EP43bSj7TBPsSFZDx__Ykp-LZjL8GrdshGkYuk+dVuyhqZA@mail.gmail.com> [not found] ` < 1376981069.12493.3@numa-i.igpm.rwth-aachen.de> 2013-08-19 14:55 ` Mike Gilbert 2013-08-20 6:44 ` Helmut Jarausch 2013-08-20 6:50 ` Alan McKinnon 2013-08-20 6:54 ` Canek Peláez Valdés 2013-08-20 7:03 ` Helmut Jarausch 2013-08-20 10:57 ` Tanstaafl 2013-08-20 12:10 ` Neil Bothwick 2013-08-20 12:19 ` Neil Bothwick 2013-08-21 21:56 ` Mark David Dumlao 2013-08-22 5:26 ` J. Roeleveld 2013-08-22 9:17 ` Neil Bothwick 2013-08-22 11:47 ` Mark David Dumlao 2013-08-22 12:29 ` Alan McKinnon 2013-08-21 0:32 ` Walter Dnes 2013-08-21 1:13 ` Canek Peláez Valdés 2013-08-21 7:06 ` thegeezer 2013-08-21 14:40 ` Tanstaafl 2013-08-21 15:10 ` Neil Bothwick 2013-08-21 15:50 ` Tanstaafl 2013-08-21 20:02 ` Neil Bothwick 2013-08-22 6:20 ` J. Roeleveld 2013-08-22 6:39 ` Alan McKinnon 2013-08-22 8:23 ` J. Roeleveld 2013-08-22 9:07 ` Neil Bothwick 2013-08-22 12:55 ` J. Roeleveld 2013-08-22 14:29 ` Neil Bothwick 2013-08-22 9:17 ` Neil Bothwick 2013-08-22 12:58 ` J. Roeleveld 2013-08-21 15:54 ` thegeezer 2013-08-21 16:42 ` Canek Peláez Valdés 2013-08-21 16:56 ` thegeezer 2013-08-21 18:34 ` Mike Gilbert 2013-08-21 18:52 ` Neil Bothwick 2013-08-21 19:09 ` Tanstaafl 2013-08-21 19:32 ` Mike Gilbert 2013-08-21 20:09 ` thegeezer 2013-08-21 20:34 ` Neil Bothwick 2013-08-22 21:08 ` Stefan G. Weichinger 2013-08-22 22:44 ` Neil Bothwick 2013-08-23 7:20 ` Stefan G. Weichinger 2013-08-21 2:06 ` Mike Gilbert 2013-08-19 15:42 ` thegeezer
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox