01-10-2016, 09:56 PM
(01-10-2016, 07:20 PM)devilsclaw Wrote: Just to let you know my Idea of how I would use the USB boot, if we can get it running.The whole U-Boot can boot over USB just fine and that's how it is currently implemented. The only real reason to switch from the USB FEL protocol (implemented in the boot ROM) to some other communication method is the transfer speed. The FEL transfer speed is around ~900 KB/s for the other Allwinner SoC variants, you can find this information in the SoC support status table. And because the U-Boot size is only around 300 KB, we don't gain much from switching to Ethernet too early.
this depends on how much SRAM is available on the CPU so it might need to be more complex.
if there is enough SRAM then use the first stage boot loader to get the DRAM and Ethernet initialized, second stage gets pulled through Ethernet, second stage init all hardware that is needed besides DRAM, third stage is the full u-boot,
Quote:and finally load everything from Ethernet into DRAM and boot. this being more of an embedded linux style just for kernel development. or instead of a ramfs image it could also be a NFS boot at that point.That's how it works now on the older Allwinner chips (A10/A13/A20/A31/...). After U-Boot is loaded, you are free to use any method to load the Linux kernel and rootfs. Ethernet is just one of these methods. NFS boot works and many people are using it. However the beauty of USB OTG is that Ethernet is not strictly required. You can boot everything over the same USB cable and use cdc_ether for NFS. This is particularly useful for tablets.
Quote:This would allow a lot faster development of just about anything.That's a chicken/egg problem :-) We can do this if we have full U-Boot support with all the bells and whistles, including the Ethernet driver. Then for mounting NFS root you need the Ethernet driver in the Linux kernel too. But when we already have everything, there is no development to speed up anymore.