Announcement

Collapse
No announcement yet.

It's Now Easier To Setup A Linux Payload For Coreboot

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

  • It's Now Easier To Setup A Linux Payload For Coreboot

    Phoronix: It's Now Easier To Setup A Linux Payload For Coreboot

    One of the unique benefits of the Coreboot open-source BIOS/firmware project is that it can support loading the Linux kernel directly after initializing the motherboard -- instead of using GRUB2/SeaBIOS, the Linux kernel can be included on the ROM chip. This isn't a new feature to Coreboot, but with a Git commit made today it's now easier to configure...

    http://www.phoronix.com/vr.php?view=MTQ1MDY

  • #2
    Putting the Linux kernel on a rom BIOS chip is an exceptionally bad idea.
    Seems like the article might have a mistake, misunderstanding in it. They happen.

    Comment


    • #3
      Really cool but as long as we don't have a mobo/laptop/HW that we can use this its useless.

      Comment


      • #4
        Originally posted by plonoma View Post
        Putting the Linux kernel on a rom BIOS chip is an exceptionally bad idea.
        Seems like the article might have a mistake, misunderstanding in it. They happen.
        No mistake.

        Originally posted by http://www.coreboot.org/Payloads#Linux
        Linux

        coreboot can use a Linux kernel as payload directly. That is, the kernel is included in the ROM chip where coreboot resides.

        Alternatively, you can also boot a Linux kernel from your hard drive using either the FILO, GRUB2, or SeaBIOS payloads.

        Comment


        • #5
          Boots fast

          With this you can boot a minimal Linux system (think no X) in like 1 second only.

          Comment


          • #6
            I have been amazed this is not the common way to boot your system. With an optimized firmware like coreboot and a slim Linux setup modern hardware can boot in just a couple of seconds. Fedora can load in under 3 seconds, so the most time of boot is spent in BIOS/UEFI/BOOTLOADER on modern systems.
            Last edited by varikonniemi; 09-01-2013, 03:59 AM.

            Comment


            • #7
              Originally posted by varikonniemi View Post
              I have been amazed this is not the common way to boot your system. With an optimized firmware like coreboot and a slim Linux setup modern hardware can boot in just a couple of seconds. Fedora can load in under 3 seconds, so the most time of boot is spent in BIOS/UEFI/BOOTLOADER on modern systems.
              Yes, but every kernel update (which for modern hardware specially, might bring interesting things) implies flashing the BIOS again. I don't know if there's any limit on how many times you can do that without side effects, but I'd expect that to exist. It's not usual to flash your BIOS once every two or three months, I don't think they are designed for such often updates.

              Comment


              • #8
                Originally posted by mrugiero View Post
                Yes, but every kernel update (which for modern hardware specially, might bring interesting things) implies flashing the BIOS again. I don't know if there's any limit on how many times you can do that without side effects, but I'd expect that to exist. It's not usual to flash your BIOS once every two or three months, I don't think they are designed for such often updates.
                Flash is typically designed for a couple thousand rewrite cycles, so that should not be a problem. However, updating flash is a comparably risky situation, so I would advise against trying to stuff your distro kernel (which seem to be updated every 4 days on average) into flash every time.

                Adding Linux as a payload (instead of loading Linux via SeaBIOS, GRUB2, FILO, or even Tianocore) is a rather special feature, used for uncommon situations like embedded systems. I guess the main value comes from using the Linux in flash as a loader for an on-disk version - Linux's kexec feature is just made for that. This allows developing the boot process (which may include updating the OS by various means, recovery, signature checking, ...) in a known, common, and time tested environment (read: the Linux userland) instead of whatever the bootloaders give you.

                "Regular coreboot users" (to the degree that such people actually exist ;-) ) will probably be more happy with a payload whose modus operandi is supported by their main operating system (that is, SeaBIOS or Tianocore as a payload for common Linux, Windows, BSD, and so on) - after all the OS is what they _really_ want to use.

                Disclosure: I'm the author of the new Linux-as-payload mechanism (and as a sidenote, the change is more than just a bunch of Kconfig variables; see the grandparent commit of the Kconfig change).

                Comment


                • #9
                  Originally posted by plonoma View Post
                  Putting the Linux kernel on a rom BIOS chip is an exceptionally bad idea.
                  not a bad idea - in fact having an ELF kernel (preferably linux) in the boot rom/flash together with minimal init code, was the original goal and intended setting of the LinuxBIOS project - motivated by:
                  the option and associated mechanism to boot an arbitrary operating system being unnecessary in an embedded / clustered environment (the context the project was born in) where the os (or at least the kernel) is fixed
                  besides being possibly a point of failure, with the bios not exactly being the best when it comes to manageability (think of a headless cluster node stuck in a POST "select boot device" menu or in a "keyboard fail - press F1 to continue" error);
                  the bios' device probe and initialization feature becoming redundant with linux having, or in the process of getting, code to perform it natively instead of relying on external legacy (16 bit) code;

                  They made the pragmatic move to being a bootloader for normal, boot-media-installed, Os's - and changed name to CoreBoot - when it became evident that the market (boards and chip manufacturers) would not move to higher capacity bios chips (although for a while the decrease in flash memory cost suggested that chips sufficient for a small operating system, would become available)
                  Last edited by silix; 09-01-2013, 09:31 AM.

                  Comment


                  • #10
                    Originally posted by uid313 View Post
                    With this you can boot a minimal Linux system (think no X) in like 1 second only.
                    Yes, in much the same fashion as DeviceVM's Splashtop does. This minimal Linux kernel could be equipped with diagnostic tools and such for handling hardware/boot issues for example. Also would be cool to have an instant-on music or movie player for using your laptop as a multimedia player without booting Windows or your favorite distro

                    Comment


                    • #11
                      Originally posted by DeepDayze View Post
                      Yes, in much the same fashion as DeviceVM's Splashtop does. This minimal Linux kernel could be equipped with diagnostic tools and such for handling hardware/boot issues for example. Also would be cool to have an instant-on music or movie player for using your laptop as a multimedia player without booting Windows or your favorite distro
                      This I think would be a good idea if flash chips got big enough to include some good tools in an initrd. You wouldn't use it as your primary payload, but with a payload that let you select your payload.

                      The other good place for direct loading would be secure systems to minimize the code you have to trust. Perhaps doubly useful with a micro-kernel where the core is well-reviewed and changes very slowly.

                      Comment


                      • #12
                        Originally posted by DeepDayze View Post
                        Yes, in much the same fashion as DeviceVM's Splashtop does. This minimal Linux kernel could be equipped with diagnostic tools and such for handling hardware/boot issues for example. Also would be cool to have an instant-on music or movie player for using your laptop as a multimedia player without booting Windows or your favorite distro
                        Yeah, you could just get a terminal console/shell. From where you can run tools like dd, df, du, fdisk, fsck, etc. Maybe have tools like MemTest86 to check faulty memory.

                        Or could boot straight into a web browser.

                        Comment


                        • #13
                          Originally posted by uid313 View Post
                          Yeah, you could just get a terminal console/shell. From where you can run tools like dd, df, du, fdisk, fsck, etc. Maybe have tools like MemTest86 to check faulty memory.

                          Or could boot straight into a web browser.
                          Memtest can be used directly as a payload.

                          Comment

                          Working...
                          X