doc: put all the u-boot/serial stuff in one place to link from

This commit is contained in:
Daniel Barlow
2023-11-12 16:55:15 +00:00
parent 7cfb92e3ce
commit 262efaabe6
13 changed files with 100 additions and 72 deletions

View File

@@ -1,4 +1,4 @@
rec {
{
description = ''
Belkin RT-3200 / Linksys E8450
******************************
@@ -17,7 +17,6 @@ rec {
- b/g/n wireless using MediaTek MT7622BV (MT7615E driver)
- a/n/ac/ax wireless using MediaTek MT7915E
'';
installer = "ubimage";
system = {
crossSystem = {
@@ -161,7 +160,7 @@ rec {
maxLEBcount = "1024"; # guessing
};
defaultOutput = installer;
defaultOutput = "ubimage";
# the kernel expects this to be on a 2MB boundary. U-Boot
# (I don't know why) has a default of 0x41080000, which isn't.
# We put it at the 32MB mark so that tftpboot can put its rootfs

View File

@@ -1,11 +1,3 @@
# I like GL.iNet devices because they're relatively accessible to
# DIY users: the serial port connections have headers preinstalled
# and don't need soldering
# Mainline linux 5.19 doesn't have device-tree support for this device
# or even for the SoC, so we use the extensive OpenWrt kernel patches
rec {
system = {
crossSystem = {

View File

@@ -1,6 +1,6 @@
# GL.iNet GL-MT300A
rec {
{
system = {
crossSystem = {
config = "mipsel-unknown-linux-musl";
@@ -13,34 +13,11 @@ rec {
description = ''
GL.iNet GL-MT300A
********************
*****************
The GL-MT300A is based on a MT7620 chipset.
The GL.iNet pocket router range makes nice cheap hardware for
playing with Liminix or similar projects. The manufacturers seem
open to the DIY market, and the devices have a reasonable amount
of RAM and are much easier to get serial connections than many
COTS routers.
Wire up the serial connection: this probably involves opening
the box, locating the serial header pins (TX, RX and GND) and
connecting a USB TTL converter - e.g. a PL2303 based device - to
it. The defunct OpenWRT wiki has a guide with some pictures. (If
you don't have a USB TTL converter to hand, other options are
available. For example, use the GPIO pins on a Raspberry Pi.)
Run a terminal emulator such as Minicom on whatever is on the
other end of the link. I use 115200 8N1 and find it also helps
to set "Line tx delay" to 1ms, "backspace sends DEL" and
"lineWrap on".
When you turn the router on you should be greeted with some
messages from U-Boot and a little bit of ASCII art, followed by
the instruction to hit SPACE to stop autoboot. Do this and you
will get a gl-mt300a> prompt.
For flashing from uboot, the firmware partition is from
For flashing from U-Boot, the firmware partition is from
0xbc050000 to 0xbcfd0000.
WiFi on this device is provided by the rt2800soc module. It
@@ -54,7 +31,6 @@ rec {
OpenWrt web page: https://openwrt.org/toh/gl.inet/gl-mt300a
'';
installer = "flashimage";
module = { pkgs, config, lib, ...}:
let
@@ -67,7 +43,7 @@ rec {
in {
imports = [ ../../modules/arch/mipsel.nix ];
hardware = {
defaultOutput = installer;
defaultOutput = "flashimage";
loadAddress = "0x80000000";
entryPoint = "0x80000000";

View File

@@ -1,4 +1,4 @@
rec {
{
system = {
crossSystem = {
config = "mipsel-unknown-linux-musl";
@@ -23,7 +23,6 @@ rec {
OpenWrt web page: https://openwrt.org/toh/gl.inet/gl-mt300n_v2
'';
installer = "flashimage";
module = { pkgs, config, lib, ...}:
let
@@ -50,7 +49,7 @@ rec {
};
};
hardware = {
defaultOutput = installer;
defaultOutput = "flashimage";
loadAddress = "0x80000000";
entryPoint = "0x80000000";

View File

@@ -2,7 +2,7 @@
# emulator. The default output is a directory containing separate
# kernel ("Image" format) and root filesystem (squashfs or jffs2)
# images
rec {
{
system = {
crossSystem = {
config = "aarch64-unknown-linux-musl";
@@ -64,7 +64,7 @@ rec {
klibBuild = config.system.outputs.kernel.modulesupport;
};
in {
defaultOutput = installer;
defaultOutput = "vmroot";
loadAddress = "0x0";
entryPoint = "0x0";
rootDevice = "/dev/mtdblock0";

View File

@@ -2,7 +2,7 @@
# emulator. The default output is a directory containing separate
# kernel ("Image" format) and root filesystem (squashfs or jffs2)
# images
rec {
{
system = {
crossSystem = {
config = "armv7l-unknown-linux-musleabihf";
@@ -66,7 +66,7 @@ rec {
klibBuild = config.system.outputs.kernel.modulesupport;
};
in {
defaultOutput = installer;
defaultOutput = "vmroot";
loadAddress = "0x00010000";
entryPoint = "0x00010000";
rootDevice = "/dev/mtdblock0";

View File

@@ -1,4 +1,7 @@
rec {
# This "device" generates images that can be used with the QEMU
# emulator. The default output is a directory containing separate
# kernel (uncompressed vmlinux) and initrd (squashfs) images
{
system = {
crossSystem = {
config = "mips-unknown-linux-musl";
@@ -33,8 +36,6 @@ rec {
in the Development manual.
'';
installer = "vmroot";
module = {pkgs, config, ... }: {
imports = [ ../../modules/arch/mipseb.nix ];
kernel = {
@@ -70,7 +71,7 @@ rec {
klibBuild = config.system.outputs.kernel.modulesupport;
};
in {
defaultOutput = installer;
defaultOutput = "vmroot";
rootDevice = "/dev/mtdblock0";
flash.eraseBlockSize = "65536"; # c.f. pkgs/run-liminix-vm/run-liminix-vm.sh
networkInterfaces =