8 ms·
What can one do with it? Is it like a bootloader? Sorry really not enough know-how.
by erikb 10y ago
What can one do with it? Is it like a bootloader? Sorry really not enough know-how.
- loonattic 10y agoIt's basically like a BIOS on x86? The original is closed source, initializes the VideoCore chip?
- tremon 10y agoKinda, but with x86 the BIOS code is executed on the x86 processor itself and before that, the processor bootstraps itself. Here, the VideoCore processor (the GPU iiuc) is responsible for bootstrapping the CPU.
- revelation 10y agoIt replaces the non-free binary blob on the Raspberry Pi that runs right after reset and initializes the processor. Modern complex processors require a specific and carefully orchestrated series of initialization steps to configure system clocks and ensure external RAM and other peripherals work correctly. Of course no one in their right mind would use this reverse-engineered code here for any serious purpose. Instead, you dump the bastardized RPi platform (it's basically a video graphics card with an ARM bolted on) and use something actually free, like the BeagleBone.
- rogual 10y agoDo you know if there's one of these boards on the market that has: 1. A GPU 2. No binary blobs, no reverse engineering?
- pingswept 10y agoI believe the answer is no. You might be interested in monitoring this list of what gets closest: https://www.fsf.org/resources/hw/single-board-computers https://www.fsf.org/resources/hw/single-board-computers Also, the Novena mainboard has a chance of getting there, if you look at this page: https://www.kosagi.com/w/index.php?title=Novena_Main_Page https://www.kosagi.com/w/index.php?title=Novena_Main_Page and then note that the Vivante GPU is close to having free drivers: https://www.phoronix.com/scan.php?page=news_item&px=Etnaviv-Vivante-XDC2015 https://www.phoronix.com/scan.php?page=news_item&px=Etnaviv-...
- abrodersen 10y agoI think the Jetson TK1 from NVIDIA can run mainline Linux with most of the devices working.
- ansible 10y agoI actually have one of those, but never investigated the bootloader situation for that platform. And to get good use out of the GPU (one of the main selling points for this platform), you'll want to use the Nvidia proprietary driver.
- dezgeg 10y agoThe K1 chip has a blob-free boot (unlike the newer chips AFAIK) except for the USB-based flash programming / recovery mode, so for the initial installation you'd need to manually flash the eMMC somehow if you don't want to run any proprietary code. And yes, CUDA isn't supported by the open drivers. Other than that, I've heard Nouveau works relatively well. Though I'm not still sure if the open source graphics community has figured out a way to get stacks like Xorg or Wayland/Weston running without hacking the source on architectures where rendering and scanout are done by different DRM devices.
- aleden 10y agoNVIDIA has made it possible to run the Jetson TK1 under Nouveau with hardware accelerated graphics (Weston/Wayland or X). https://github.com/NVIDIA/tegra-nouveau-rootfs https://github.com/NVIDIA/tegra-nouveau-rootfs Using a completely open stack on the TK1, from u-boot to kernel (except for the USB firmware), I can run ARM virtual machines with QEMU/KVM.
- wolfgke 10y agoIntel GPUs require neither a blob nor reverse engineering, so ironically the Minnowboard (http://wiki.minnowboard.org/MinnowBoard_Wiki_Home; http://wiki.minnowboard.org/MinnowBoard_Wiki_Home; current revision is "Minnowboard Turbot") is very open (also the UEFI implementation (TianaCore) is open source; just a small FSP (Firmware Support Package) by Intel containing binary data has to be compiled in - as far as I know it contains no suspicious data; start at https://firmware.intel.com/projects/minnowboard-max https://firmware.intel.com/projects/minnowboard-max if you want to read about the details). I am rather sure this processor/board has no support for the dreaded Intel AMT. If you want an ARM board: The "Sabre Lite - i.MX6 Quad Core" board is the nearest to this ideal that I know of. Traditionally Freescale has been very open with the specifications (though after NXP bought them this changed to worse). The GPU (Vivante™ GC2000) is not strictly in the category "No binary blobs, no reverse engineering", but I have read that this is among the GPUs found on ARM boards by far the most easy one to reverse engineer, thus there seems to exist a decent reverse-engineered driver: > https://en.wikipedia.org/w/index.php?title=Free_and_open-source_graphics_device_driver&oldid=744650304#Vivante https://en.wikipedia.org/w/index.php?title=Free_and_open-sou... (EDIT: For the situation for open Vivante drivers also see https://www.phoronix.com/scan.php?page=news_item&px=Etnaviv-Vivante-XDC2015 https://www.phoronix.com/scan.php?page=news_item&px=Etnaviv-... (from https://news.ycombinator.com/item?id=12743550) https://news.ycombinator.com/item?id=12743550)).
- ddon 10y agoLooks like this Minnowboard is costly... looks like it cost about 200 dollars. :-/
- wolfgke 10y agoAccording to the two shop links on http://wiki.minnowboard.org/Where_to_buy http://wiki.minnowboard.org/Where_to_buy the Minnowboard Turbot costs $139.95 (Netgate) or $150.00 (Mouser). The SABRE Lite i.MX 6Quad has a similar price: On > http://uk.farnell.com/nxp/mcimx6q-sl/i-mx6-quad-sabre-lite-dev-kit/dp/2124398 http://uk.farnell.com/nxp/mcimx6q-sl/i-mx6-quad-sabre-lite-d... it costs £114.29 (about $140), on Mouser it is even $189.95.
- TD-Linux 10y ago>and use something actually free, like the BeagleBone. Oh please, while you lose the VC4 firmware, you instead get a proprietary PowerVR GPU with no free drivers. Not to mention that the Beaglebone has a much worse CPU than the "bolted on ARM" of the RPi. If you're going to dump the rpi for this reason, going to something like the imx6 used in the Cubieboard and Novena would make a lot more sense (edit: Cubox, not Cubieboard).
- wolfgke 10y ago> If you're going to dump the rpi for this reason, going to something like the imx6 used in the Cubieboard and Novena would make a lot more sense. The Cubieboard uses an Allwinner SoC, which has a bad reputation among oppen source people since Allwinner violated the GPL multiple times in the past (though I heard the Linux support is decent; mainly because of the work of the Sunxi community: https://linux-sunxi.org/Main_Page https://linux-sunxi.org/Main_Page). Novena (and "Sabre Lite - i.MX6 Quad Core"; cf. https://news.ycombinator.com/item?id=12743798 https://news.ycombinator.com/item?id=12743798) indeed use a Freescale (now bought by NXP) SoC.
- TD-Linux 10y agoOops, I confused Cubieboard and Cubox, which does have an i.MX6.
- monocasa 10y agoUnfortunately NXP is nuking most of the iMX6 support from orbit after they bought Freescale. Even things like most of the SD card images for their SABRE boards were deleted of their site. It's only due to the large open ecosystem around the iMX6 that we were able to debug some issues while bringing up a board recently.
- webscaleizfun 10y agoSame thing happened with Allwinner's SOCs, when the one point of contact that was providing the source of their modified kernel left, Allwinner chipsets stopped getting rapid mainline kernel support. The silver lining though is that the sunxi community has been working to mainline newer chips like the Allwinner H3 & has been doing a bang up job with minimal info, newer kernels can boot up & get most hardware onboard configured & ready to use.
- david-given 10y agoThe Raspberry Pi is really a VideoCore IV processor with an ARM bolted on the side. At power on, a boot ROM loads an embedded OS image into the VC4 processor. That then sets up the hardware, powers up the ARM, and loads the OS image into that. The VC4 then continues running in the background servicing RPCs from the ARM. What this is is a replacement VC4 operating system image which just fires up the ARM with an embedded image, sets it running, and then halts (assuming I'm understanding the docs correctly); so it can't (yet) actually load an OS into the ARM from disk or respond to RPCs etc. In practical terms, this is the biggest, most difficult step forward towards running an almost completely open system on the RPi. (It could also be used as the core of a proper operating system running on the VC4 itself, which could be rather interesting.)
- wyldfire 10y ago> The Raspberry Pi is really a VideoCore IV processor with an ARM bolted on the side. I knew that the bootloader worked that way but didn't think of it being that way until reading your comment. Interesting to think of the hierarchy that way. Naively this makes me think that the ARM ISA could use something like UEFI (or BIOS) to unify the devices' bootstrapping logic around some common metaphor.
- tremon 10y agoLinux (and probably *BSD, not sure if they support it) can use devicetree files to configure itself for the hardware it's running on. No runtime firmware necessary.
- david-given 10y agoWell, the ARM is literally powered down until the VC4 turns it on. (I've heard that the only reason the ARM is there at all is that Broadcom had a royalty-free license and there was some spare silicon, so they thought, hey, why not, it might be useful...) Traditionally ARMs have never used any kind of common boot process because they come out of the embedded world where every system is bespoke --- the focus is always on individual products, rather than building a platform. There have been various efforts to fix this but AFAIAA they've never come to much. I think the current one is DeviceTree, but I don't believe there's much vendor support.