Announcement

Collapse
No announcement yet.

Linux 5.8 Adds initrdmem= Option For Cases Such As Replacing Intel ME Space With Initrd

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Linux 5.8 Adds initrdmem= Option For Cases Such As Replacing Intel ME Space With Initrd

    Phoronix: Linux 5.8 Adds initrdmem= Option For Cases Such As Replacing Intel ME Space With Initrd

    One of the use-cases for this new "initrdmem" option in Linux 5.8 can be for storing an initial ramdisk (initrd) on a motherboard flash chip in the space available after stripping out Intel's Management Engine (ME) code...

    http://www.phoronix.com/scan.php?pag...-5.8-initrdmem

  • #2
    I'd be concerned that the write lifetime of that flash chip is fairly low and would get worn out with the weekly Linux kernel updates.

    Comment


    • #3
      Originally posted by elatllat View Post
      I'd be concerned that the write lifetime of that flash chip is fairly low and would get worn out with the weekly Linux kernel updates.
      It would make sense to store a rescue image there, not regular updates.

      Comment


      • #4
        Originally posted by elatllat View Post
        I'd be concerned that the write lifetime of that flash chip is fairly low and would get worn out with the weekly Linux kernel updates.
        NOR flash used in boot ROMs (at least in x86) pretty much always has 100K+ erase/write cycles these days.

        Also, as someone else mentioned this isn't really intended for frequently updated OS kernels, but rather a linuxboot kernel (stripped down and single-purpose, not a target OS kernel).

        Comment


        • #5
          Originally posted by davidhendricks View Post
          but rather a linuxboot kernel (stripped down and single-purpose, not a target OS kernel).
          It is fun how this thing looks a lot like what LinuxBIOS planned to be. A free, opensource, Linux-based firmware for x86 machines. And why are we doing this? Because the damn cpu manufacturers don't want to release an open, three-letters agencies-free firmware.

          Comment


          • #6
            Originally posted by elatllat View Post
            I'd be concerned that the write lifetime of that flash chip is fairly low and would get worn out with the weekly Linux kernel updates.
            Nope.

            Comment


            • #7
              Originally posted by elatllat View Post
              I'd be concerned that the write lifetime of that flash chip is fairly low and would get worn out with the weekly Linux kernel updates.
              I'd be concerned about the read performance of the flash chip.

              Comment


              • #8
                Originally posted by uid313 View Post

                I'd be concerned about the read performance of the flash chip.
                NOR flash can typically operate at >=100MHz, though most systems run it at 20-33MHz. So we're looking at about 2.5-4MBytes/sec without any fancy dual/quad IO. A kernel+initrd intended only to carry out bootloader functions shouldn't be very big, and load + execution time can still be much lower than typical vendor-provided firmware.
                Last edited by davidhendricks; 02 June 2020, 05:27 PM.

                Comment


                • #9
                  Originally posted by davidhendricks View Post

                  NOR flash can typically operate at >=100MHz, though most systems run it at 20-33MHz. So we're looking at about 2.5-4MBytes/sec without any fancy dual/quad IO. A kernel+initrd intended only to carry out bootloader functions shouldn't be very big, and load + execution time can still be much lower than typical vendor-provided firmware.
                  2.5 MB/s sounds very slow. Isn't the Linux kernel more than 10 megabyte? That is 4 seconds, it is very long time for boot.

                  Comment


                  • #10
                    Originally posted by uid313 View Post

                    2.5 MB/s sounds very slow. Isn't the Linux kernel more than 10 megabyte? That is 4 seconds, it is very long time for boot.
                    Again, this is not intended for a full-featured Linux kernel. And as mentioned in the article much of this space is reclaimed from bloated vendor firmware anyway so load time is comparable.

                    The real different in execution time comes from the fact that Linux has much higher quality drivers that are threaded, interrupt-driven, and well-maintained, whereas most drivers that come in firmware are the opposite. This makes a big difference when network booting, or if you have multiple networking and storage controllers to bring-up.

                    Comment

                    Working...
                    X