Announcement

Collapse
No announcement yet.

Linux 5.14 Mainline Should Work With The Raspberry Pi 400

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

  • Linux 5.14 Mainline Should Work With The Raspberry Pi 400

    Phoronix: Linux 5.14 Mainline Should Work With The Raspberry Pi 400

    Launched last November was the Raspberry Pi 400 as a Raspberry Pi Keyboard Computer with effectively a Raspberry Pi 4 SBC embedded within the keyboard and attached to a large aluminum block for cooling. It's a great little device and beginning with Linux 5.14 looks like it should be playing fine with the mainline kernel...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    I'm confused, I thought device trees were supposed to be passed to the kernel by the bootloader/firmware so that the kernel image would be independent of any given device. Why is it bundled with the kernel?

    Comment


    • #3
      Originally posted by kbios View Post
      I'm confused, I thought device trees were supposed to be passed to the kernel by the bootloader/firmware so that the kernel image would be independent of any given device. Why is it bundled with the kernel?
      That's more of an x86/BIOS/UEFI thing. ARM and other architectures need it included. You should see how many there are for Android phones.....

      Comment


      • #4
        Originally posted by kbios View Post
        I'm confused, I thought device trees were supposed to be passed to the kernel by the bootloader/firmware so that the kernel image would be independent of any given device. Why is it bundled with the kernel?
        The dtb(device tree binary) is created at kernel build time and then sits in the boot partition.

        Comment


        • #5
          Originally posted by kbios View Post
          I'm confused, I thought device trees were supposed to be passed to the kernel by the bootloader/firmware so that the kernel image would be independent of any given device. Why is it bundled with the kernel?
          There is history here and it gets horrible quickly.
          Originally posted by skeevy420 View Post
          That's more of an x86/BIOS/UEFI thing. ARM and other architectures need it included. You should see how many there are for Android phones.....
          This is not it.
          Elixir Cross Referencer - Explore source code in your browser - Particularly useful for the Linux kernel and other low-level projects in C/C++ (bootloaders, C libraries...)

          Yes inside the Linux kernel tree there is few master lists of dts files that are device tree files. Linux kernel was the first to use device trees in a big way the device tree standard does not have repository for vendors to provide there device tree files to.

          Linux as Firmware Tired of reinventing the wheel by implementing drivers for firmware again and again? Not with LinuxBoot! What? LinuxBoot is a firmware for modern servers that replaces specific firmware functionality like the UEFI DXE phase with a Linux kernel and runtime. It started as NERF in January 2017 at Google. LinuxBoot is a Linux Foundation project and as such has a technical charter. Why? Improves boot reliability by replacing lightly-tested firmware drivers with hardened Linux drivers.

          This really does put the cat with the pidgins. One of the horrible realities is that is is valid for the Linux kernel itself to be the core system firmware or the boot-loader. So yes is valid for a Linux kernel image to be a firmware or boot-loader so having the means to embedded device tree inside itself instead of source it from else where is a Linux kernel feature under the kernel configuration option of "Device tree source (Use a device tree present in the kernel.)".

          The reality here the Linux kernel usage of device tree is two forms:
          1) as pass to Linux kernel from boot loader/firmware to allow Linux kernel to be generic between platforms.
          2) as embedded in Linux kernel for the cases where the Linux kernel itself is the boot loader/firmware so unable to source device tree from else where. This also helps in the case where the boot loader/firmware device tree is wrong and you need to override it as you cannot change the boot loader/firmware device tree for some reason.

          Comment


          • #6
            Originally posted by skeevy420 View Post
            That's more of an x86/BIOS/UEFI thing. ARM and other architectures need it included.
            Not my Nitrogen6x! It actually has a separate NOR flash for the bootloader, as the gods intended.

            I guess putting the boot partition in the same image as the main filesystem is just a cheap trick that most ARM boards unfortunately happen to use. Nobody complains, because nobody has higher expectations.

            Comment


            • #7
              Still can't even hardware accelerate youtube ๐Ÿ˜’ useless piece of ... keyboard.

              Comment


              • #8
                Originally posted by deemon View Post
                Still can't even hardware accelerate youtube ๐Ÿ˜’ useless piece of ... keyboard.
                Depends on what you're using it for. I'm considering getting one as a way to play around with more parallelism in Rust since it outperforms the Pi 4 without throttling and costs the same as or less than comparable Pi 4 kits I've seen.

                (Currently, no machine I have has more than two cores, because I've always optimized for "best single-core performance for emulators at 65W TDP" and I'm certainly not buying a new PC with the market the way it currently is).

                ...plus, if you set up the Pi 4 or Pi 400 to boot for headless operation with SSHd and turn off as many daemons as possible, it'd be an inexpensive way to add a completely silent, compact machine dedicated to being a low-noise (in the "ยฑ X ยตs" sense) benchmarking machine for performance-optimizing your creations.

                (Assuming that you cool it well enough that it doesn't throttle... which the 400 apparently comes pre-built to solve, unlike the 4, where you have to do more research.)

                I just finished setting up Debian on a hand-me-down dual-core HP small form factor PC with a Noctua case fan and a home-made noise baffle for the same purpose. (Noise baffle because the CPU cooler has a high-pitched edge to it and I didn't feel like spending the time and money to track down and purchase a more pleasant-sounding low-profile cooler for an end-of-lifed socket.)

                ...not to mention it's more or less cornered the market on being a C64-esque all-in-one PC with easily accessible GPIO.
                Last edited by ssokolow; 15 June 2021, 10:01 PM.

                Comment


                • #9
                  Originally posted by deemon View Post
                  Still can't even hardware accelerate youtube ๐Ÿ˜’ useless piece of ... keyboard.
                  To be correct Raspberry Pi 400 by its USB C port the power port can switch into gadget mode and be a keyboard. Ok very power hungry keyboard.

                  Comment


                  • #10
                    Originally posted by deemon View Post
                    Still can't even hardware accelerate youtube ๐Ÿ˜’ useless piece of ... keyboard.
                    It could if they exposed the VA hardware under an API like VDPAU or VAAPI.

                    Comment

                    Working...
                    X