Cross compiling a kernel takes minutes, deploying the thing on the target machine takes an hour. Most of the time is spent generating the initramfs. Both the build host and the target run Fedora which uses dracut to that end.

It’d be great to build the initramfs along with the kernel. Is that possible with dracut, and if so, how?

  • 1
    Probably not in a reliable way. If your rebuilds are taking an hour, though, you're doing something wrong. Are you rebuilding them in serial or parallel? – Bratchley Aug 4 '16 at 15:55
  • If you know your hardware and platform configuration is pretty much uniform across all the nodes, you might just push that down as a separate rpm – Bratchley Aug 4 '16 at 15:57
  • @Bratchley the rebuilds are slow due to the system running on an SD card and /lib/modules/$(uname -r) weighing 1.3 GB (the config should be as close to stock Fedora armv7hl). And it’s not parallel on a 1-core machine ;) – phg Aug 4 '16 at 16:00
  • If the hardware and config are uniform then I would just build it once and deploy it as an rpm. Possibly including it in your kernel rpm. – Bratchley Aug 4 '16 at 16:01
  • @Bratchley it’s not the same kernel each time: different configs, different git revision, … – phg Aug 5 '16 at 7:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.