(I contributed some cosmetic fixes to your uboot-ip40xx for devices like the ap1300, and would like to be able to do the same with the x3000 bootloader.)
Thanks, would definitely be interested in a copy or link to the current binary release - I don’t have a physical unit in my hands yet to copy the factory image from, even. But it would be really helpful if someone from GL-iNet could chime in with the right link to the relevant u-boot source too.
For what it’s worth, my aim is generally to run (and track) mainline linux on these router devices rather than openwrt, modulo patching in any drivers that aren’t yet mainlined, e.g. ipqess ethernet on the ap1300s. (See systems/ap1300 at master · arachsys/systems · GitHub for my build for the ap1300lte if you’re curious.)
This can be quite fiddly to get going at first, so I don’t mind spending a small amount of extra time proof-reading and correcting the bootloader strings given I’m likely to be reading them rather a lot while debugging kernels! Never fun to stare at typos and spelling mistakes while puzzling over issues with a driver forward-port.
I’m keen to have a play with the X3000 as it’s arm64 and as a bonus, uses emmc for the kernel and root filesystem instead of nand flash. The ap1300s are the last arm32 routers I still maintain, and being able to drop arm32 from my userspace builds altogether would save me a significant amount of time.
Thanks @SpitzAX3000 - I can see fixing the spelling/grammar on this bootloader will be as big a patch as the ap1300 one: plenty of “index is mismatches”, “incorrent input length”, “unkonwn access type” as well as randomly capitalised words, missing/extra spaces mid-message, etc. Oh well, an easy half-hour’s project at some point!
I can’t really, though I can spot spelling errors and the like by reading the binary. My aim in posting here was mostly to check I can get the u-boot source to proof-read and clean up, before I buy a test unit or two. (I’ll check first that I can build it unmodified too!)
For your fixes/corrections to be accepted in next release, you can contact gl development team.
Is there an official contact point for the gl-inet development team I should be using instead of this forum, do you know? With the ap1300, I just did the work and sent the patch via github, but in this case I can’t use that method because I haven’t found the repo to make the pull request against.
I see some gl guys here with us in the forum. Maybe you can send them private messages asking for the appropriate way to submit a patch or get involved.
One final update: I've pushed the working prototype version of the gl-x3000 build for booting and running my own (non-openwrt) kernel and userspace as I run on my development machines and production servers. I'm very pleased with this little router. It works nicely and is a good piece of hardware.
Hi @SpitzAX3000, the detailed instructions are in the README of that repository - I tried to be as thorough as possible in documenting the process, as much for my own benefit as for others. Similarly the bash 'build' script is an explicit, step-by-step description of how tf-a, u-boot and the kernel are unpacked, patched and built.
I should probably also say that doing this kind of thing is much more 'off the beaten track' than something like openwrt. I'd really recommend being sure you're comfortable with launching trusted firmare and u-boot via the serial header and tftp booting a kernel+initramfs from there before overwriting anything on flash on the device, and that you understand the structure of the boot process and flash partitioning so you're confident you can recover it if something goes wrong or you want to revert. Taking a complete bytewise backup of the eMMC before you start would be a useful safety net too.
My own distribution is very niche. I posted these notes more as a guide for others to be able to run their own choice of userspace/distro than any real expectation that anyone else with an x3000 would want to run exactly my configuration!
No, not a silly question at all! The thing that isn't documented at all well is the actual linux distro I'm using here. I've been building systems from scratch in the slightly unusual shape used there for over 25 years now, but being a solo maintainer and limited time with other projects, etc. leads to a lack of introductory docs I'm afraid.
However, I think the build notes should barely need modifying for the userspace part of much more conventional linux distros too. Really the bootloader, kernel and partitioning are the only bit that isn't 100% standard, that and configuring with a read-only root filesystem so you don't wear out the eMMC. If you need something to drive the 5G modem, I can always plug my tinymbim too...
Yes, 4G and 5G are negotiated over MBIM in exactly the same way: the bundled wwan script with tinymbim works unmodified for me on the 5G modem on the X3000.