Arnout Engelen
bc588804fd
Correctly load DTB
...
Now boots further, but then cannot open the rootfs, likely because
we're not replacing the DTB with the one updated for TFTP yet
```
pci 0000:00:00.0: [0e8d:0801] type 01 class 0x060400
pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x7fffffff]
pci 0000:00:00.0: reg 0x14: [mem 0x00000000-0x0000ffff]
pci 0000:00:00.0: supports D1
pci 0000:00:00.0: PME# supported from D0 D1 D3hot
pci 0000:00:01.0: [0e8d:0801] type 01 class 0x060400
pci 0000:00:01.0: reg 0x10: [mem 0x00000000-0x7fffffff]
pci 0000:00:01.0: reg 0x14: [mem 0x00000000-0x0000ffff]
pci 0000:00:01.0: supports D1
pci 0000:00:01.0: PME# supported from D0 D1 D3hot
pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
pci 0000:00:01.0: bridge configuration invalid ([bus 00-00]), reconfiguring
pci 0000:01:00.0: [14c3:7916] type 00 class 0x000280
pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x000fffff 64bit pref]
pci 0000:01:00.0: reg 0x18: [mem 0x00000000-0x00003fff 64bit pref]
pci 0000:01:00.0: reg 0x20: [mem 0x00000000-0x00000fff 64bit pref]
pci 0000:01:00.0: supports D1 D2
pci 0000:01:00.0: PME# supported from D0 D1 D2 D3hot D3cold
pci 0000:01:00.0: 2.000 Gb/s available PCIe bandwidth, limited by 2.5 GT/s PCIe x1 link
at 0000:00:00.0 (capable of 4.000 Gb/s with 5.0 GT/s PCIe x1 link)
pci 0000:00:00.0: PCI bridge to [bus 01-ff]
pci 0000:00:00.0: bridge window [io 0x0000-0x0fff]
pci 0000:00:00.0: bridge window [mem 0x00000000-0x000fffff]
pci 0000:00:00.0: bridge window [mem 0x00000000-0x000fffff pref]
pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
pci 0000:02:00.0: [14c3:7915] type 00 class 0x000280
pci 0000:02:00.0: reg 0x10: [mem 0x00000000-0x000fffff 64bit pref]
pci 0000:02:00.0: reg 0x18: [mem 0x00000000-0x00003fff 64bit pref]
pci 0000:02:00.0: reg 0x20: [mem 0x00000000-0x00000fff 64bit pref]
pci 0000:02:00.0: supports D1 D2
pci 0000:02:00.0: PME# supported from D0 D1 D2 D3hot D3cold
pci 0000:02:00.0: 2.000 Gb/s available PCIe bandwidth, limited by 2.5 GT/s PCIe x1 link
at 0000:00:01.0 (capable of 4.000 Gb/s with 5.0 GT/s PCIe x1 link)
pci 0000:00:01.0: PCI bridge to [bus 02-ff]
pci 0000:00:01.0: bridge window [io 0x0000-0x0fff]
pci 0000:00:01.0: bridge window [mem 0x00000000-0x000fffff]
pci 0000:00:01.0: bridge window [mem 0x00000000-0x000fffff pref]
pci_bus 0000:02: busn_res: [bus 02-ff] end is updated to 02
pci 0000:00:00.0: BAR 0: no space for [mem size 0x80000000]
pci 0000:00:00.0: BAR 0: failed to assign [mem size 0x80000000]
pci 0000:00:01.0: BAR 0: no space for [mem size 0x80000000]
pci 0000:00:01.0: BAR 0: failed to assign [mem size 0x80000000]
pci 0000:00:00.0: BAR 8: assigned [mem 0x60000000-0x600fffff]
pci 0000:00:00.0: BAR 9: assigned [mem 0x60100000-0x602fffff pref]
pci 0000:00:01.0: BAR 8: assigned [mem 0x60300000-0x603fffff]
pci 0000:00:01.0: BAR 9: assigned [mem 0x60400000-0x605fffff pref]
pci 0000:00:00.0: BAR 1: assigned [mem 0x60600000-0x6060ffff]
pci 0000:00:01.0: BAR 1: assigned [mem 0x60610000-0x6061ffff]
pci 0000:00:00.0: BAR 7: assigned [io 0x0000-0x0fff]
pci 0000:00:01.0: BAR 7: assigned [io 0x1000-0x1fff]
pci 0000:01:00.0: BAR 0: assigned [mem 0x60100000-0x601fffff 64bit pref]
pci 0000:01:00.0: BAR 2: assigned [mem 0x60200000-0x60203fff 64bit pref]
pci 0000:01:00.0: BAR 4: assigned [mem 0x60204000-0x60204fff 64bit pref]
pci 0000:00:00.0: PCI bridge to [bus 01]
pci 0000:00:00.0: bridge window [io 0x0000-0x0fff]
pci 0000:00:00.0: bridge window [mem 0x60000000-0x600fffff]
pci 0000:00:00.0: bridge window [mem 0x60100000-0x602fffff pref]
pci 0000:02:00.0: BAR 0: assigned [mem 0x60400000-0x604fffff 64bit pref]
pci 0000:02:00.0: BAR 2: assigned [mem 0x60500000-0x60503fff 64bit pref]
pci 0000:02:00.0: BAR 4: assigned [mem 0x60504000-0x60504fff 64bit pref]
pci 0000:00:01.0: PCI bridge to [bus 02]
pci 0000:00:01.0: bridge window [io 0x1000-0x1fff]
pci 0000:00:01.0: bridge window [mem 0x60300000-0x603fffff]
pci 0000:00:01.0: bridge window [mem 0x60400000-0x605fffff pref]
Serial: 8250/16550 driver, 3 ports, IRQ sharing disabled
1e000c00.uartlite: ttyS0 at MMIO 0x1e000c00 (irq = 19, base_baud = 3125000) is a 16550A
spi-mt7621 1e000b00.spi: sys_freq: 220000000
spi-nor spi0.0: en25qh128 (16384 Kbytes)
5 fixed-partitions partitions found on MTD device spi0.0
OF: Bad cell count for /palmbus@1e000000/spi@b00/flash@0/partitions
OF: Bad cell count for /palmbus@1e000000/spi@b00/flash@0/partitions
OF: Bad cell count for /palmbus@1e000000/spi@b00/flash@0/partitions
OF: Bad cell count for /palmbus@1e000000/spi@b00/flash@0/partitions
Creating 5 MTD partitions on "spi0.0":
0x000000000000-0x000000040000 : "u-boot"
0x000000040000-0x000000fa0000 : "firmware"
2 uimage-fw partitions found on MTD device firmware
Creating 2 MTD partitions on "firmware":
0x000000000000-0x000000400000 : "kernel"
0x000000400000-0x000000f60000 : "rootfs"
mtd: setting mtd3 (rootfs) as root device
0x000000fa0000-0x000000fb0000 : "config"
0x000000fb0000-0x000000ff0000 : "tplink"
0x000000ff0000-0x000001000000 : "radio"
mt7530-mdio mdio-bus:1f: MT7530 adapts as multi-chip module
mtk_soc_eth 1e100000.ethernet eth0: mediatek frame engine at 0xbe100000, irq 21
mtk_soc_eth 1e100000.ethernet wan: mediatek frame engine at 0xbe100000, irq 21
i2c_dev: i2c /dev entries driver
NET: Registered PF_INET6 protocol family
Segment Routing with IPv6
In-situ OAM (IOAM) with IPv6
sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
NET: Registered PF_PACKET protocol family
8021q: 802.1Q VLAN Support v1.8
Loading compiled-in X.509 certificates
Loaded X.509 cert 'Build time autogenerated kernel key: 1305e7c8df691fbef7a37c303deca27
c3e469edb'
Problem parsing in-kernel X.509 certificate list
mt7530-mdio mdio-bus:1f: MT7530 adapts as multi-chip module
mt7530-mdio mdio-bus:1f: configuring for fixed/rgmii link mode
mt7530-mdio mdio-bus:1f: Link is Up - 1Gbps/Full - flow control rx/tx
mt7530-mdio mdio-bus:1f lan1 (uninitialized): PHY [mt7530-0:00] driver [MediaTek MT7530
PHY] (irq=23)
mt7530-mdio mdio-bus:1f lan2 (uninitialized): PHY [mt7530-0:01] driver [MediaTek MT7530
PHY] (irq=24)
mt7530-mdio mdio-bus:1f lan3 (uninitialized): PHY [mt7530-0:02] driver [MediaTek MT7530
PHY] (irq=25)
mt7530-mdio mdio-bus:1f lan4 (uninitialized): PHY [mt7530-0:03] driver [MediaTek MT7530
PHY] (irq=26)
DSA: tree 0 setup
Warning: unable to open an initial console.
ubi0:liminix: Can't open blockdev
VFS: Cannot open root device "ubi0:liminix" or unknown-block(31,3): error -2
Please append a correct "root=" boot option; here are the available partitions:
1f00 256 mtdblock0
(driver?)
1f01 15744 mtdblock1
(driver?)
1f02 4096 mtdblock2
(driver?)
1f03 11648 mtdblock3
(driver?)
1f04 64 mtdblock4
(driver?)
1f05 256 mtdblock5
(driver?)
1f06 64 mtdblock6
(driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,3)
Rebooting in 10 seconds..
```
2024-01-27 15:59:46 +01:00
Arnout Engelen
50ca07fdbe
get kernel config from openwrt
...
Now the kernel starts:
```
Starting kernel ...
Linux version 5.15.137 (nixbld@liminix.builder ) (mips-unknown-linux-musl-gcc (GCC) 13.2.0, GNU ld (GNU Binutils) 2.40) #1 SMP Fri Jan 26 14:47:51 UTC 2024
SoC Type: MediaTek MT7621 ver:1 eco:4
printk: bootconsole [early0] enabled
CPU0 revision is: 0001992f (MIPS 1004Kc)
VPE topology {2,2} total 4
Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.
Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
Zone ranges:
Normal [mem 0x0000000000000000-0x0000000007ffffff]
Movable zone start for each node
Early memory node ranges
node 0: [mem 0x0000000000000000-0x0000000007ffffff]
Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff]
OF: fdt: No valid device tree found, continuing without
percpu: Embedded 11 pages/cpu s14544 r8192 d22320 u45056
Built 1 zonelists, mobility grouping on. Total pages: 32512
Kernel command line:
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
Writing ErrCtl register=0003003d
Readback ErrCtl register=0003003d
mem auto-init: stack:all(zero), heap alloc:off, heap free:off
Memory: 119864K/131072K available (6564K kernel code, 622K rwdata, 1244K rodata, 1220K init, 217K bss, 11208K reserved, 0K cma-reserved)
SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
rcu: Hierarchical RCU implementation.
rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
NR_IRQS: 256
Kernel panic - not syncing: Failed to find mediatek,mt7621-sysc node
---[ end Kernel panic - not syncing: Failed to find mediatek,mt7621-sysc node ]---
```
I'm guessing the important bits are:
```
OF: fdt: No valid device tree found, continuing without
Kernel panic - not syncing: Failed to find mediatek,mt7621-sysc node
---[ end Kernel panic - not syncing: Failed to find mediatek,mt7621-sysc node ]---
```
... due to me booting with 'bootm <image>' instead of 'bootm <image> - <dtm>'
because it seems my version of u-boot doesn't support '-' for the ramdisk.
2024-01-27 15:59:44 +01:00
Arnout Engelen
4559072cbf
Add support for TP-Link Archer AX32
...
When booting over tftp:
MT7621 # bootm 0x868c3000
## Booting image at 868c3000 ...
Image Name: MIPS Liminix Linux
Image Type: MIPS Linux Kernel Image (lzma compressed)
Data Size: 2457948 Bytes = 2.3 MB
Load Address: 80001000
Entry Point: 80001000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
No initrd
nm_init:791
nm_initFwupPtnStruct:276
nm_lib_readPtnTable:738
[NM_Debug](nm_lib_readPtnTable) 00743: NM_PTN_TABLE_BASE = 0xfe0000
[NM_Debug](nm_lib_readPtnFromNvram) 00569: partition_used_len = 1054, requried len = 8192
[NM_Debug](nm_lib_readPtnTable) 00751: Reading Partition Table from NVRAM ... OK
[NM_Debug](nm_lib_readPtnTable) 00759: Parsing Partition Table ... OK
[NM_Debug](nm_lib_readPtnFromNvram) 00569: partition_used_len = 3, requried len = 3
[NM_Error](nm_api_checkTestMode) 00417: factory boot check testmode flag is not 1.
### test_mode=disable,boot_args:console=ttyS1,115200 root=/dev/mtdblock2 rootfstype=squashfs init=/etc/preinit mtdparts=raspi:256k(uboot),4096k(uImage),11968k@0x440000(rootfs),64k@0xff0000(ART) mem=128M test_mode=disable
## Transferring control to Linux (at address 80001000) ...
## Giving linux memsize in MB, 128
Starting kernel ...
2024-01-27 15:59:43 +01:00
c219350d7c
add usb storage for turris omnia
...
ideally we would make this a module instead of compiling in
directly
2024-01-26 22:46:36 +00:00
Arnout Engelen
04895f9cf6
openwrt: update to v23.05.2
2024-01-25 12:29:03 +01:00
sinavir
7642e23c0a
belkin-rt3200: Enable watchdog drivers
2024-01-24 13:38:55 +01:00
f19a937eda
omnia needs MARVELL_PHY for the WAN port to work
...
interestingly, we only see this when it boots from mmc, because
for tftpboot the bootloader has already performed negotiation
and therefore it works despite the missing option.
2024-01-09 13:07:14 +00:00
f0490f37d5
turris omnia: tidy config, remove dead bits
2024-01-08 19:22:42 +00:00
9a3d7a387e
correct turris omnia root device
2024-01-08 18:55:41 +00:00
38a7f0b03b
turris omnia: add all lan devices
...
I think we might turn "lan" into a bridge, but that's for later
2024-01-07 16:54:44 +00:00
049cdbb610
turris omnia: don't hardcode rootfsType
2024-01-03 20:18:07 +00:00
9e0ef68c1f
omnia: add MMC block device support
2024-01-02 18:09:44 +00:00
870e4d86cc
omnia: support fw_{print,set}env commands
2024-01-02 18:09:12 +00:00
e7747832ad
turris-omnia: reindent
2024-01-01 20:24:47 +00:00
f020d5b25d
qemu mips: enable rebooting
2023-12-26 21:58:18 +00:00
1042be912c
turris omnia: switch to regular tftpboot output
...
now it does zimage and rootfs compression
2023-12-23 00:05:34 +00:00
9c894bdabf
add tftpboot test for mips
2023-12-21 19:25:45 +00:00
32c13c46bb
support aarch64 in tftpboot test
2023-12-19 12:12:12 +00:00
e5db2691e5
add CI job to test tftpboot
2023-12-18 22:42:29 +00:00
d1e2d525a4
tftpboot omnia using bootz not bootm
...
because kernel size is now beyond the u-boot size
limit for bootm
2023-12-16 23:40:55 +00:00
55fa9992d4
WIP
2023-12-13 21:54:15 +00:00
95d9e014fb
omnia: fix paths
2023-12-13 21:52:28 +00:00
601bb289ee
rename diskimage to mbrimage
2023-12-11 19:09:19 +00:00
876bd7d8ce
rename flashimage to mtdimage
2023-12-11 19:09:18 +00:00
5eeb277564
move output module imports example -> device
...
The outputs available are a characteristic of the device, not
the example.
2023-12-10 16:38:53 +00:00
317457f582
extract common config for qemu devices into module
2023-12-09 17:10:41 +00:00
382128b6cf
omnia: make wan interface work
2023-11-28 21:38:45 +00:00
c803772074
omnia: add hardware ethernet and switch config
2023-11-27 21:37:15 +00:00
cc73a98419
support setting network device names
...
this means that net devices in devices/foo/default.nix can be
specified by their sysfs paths (instead of by "eth0" and "eth1" that
may change from one kernel version to the next) and given mnenomic
names that are helpful for the hardware. Like "wan" and "lan[1..4]"
2023-11-26 23:15:28 +00:00
31a2969972
omnia: add support for wifi
...
- ath9k and ath10k, both on PCI bus (which can be enumerated, hence
they don't need to be in device tree)
- need to disable PCIe ASPM for the ath9k to work
- appropriate firmware files added for ath10k
2023-11-26 13:25:01 +00:00
76a370cc92
omnia kernel: add watchdog
...
it's enabled by u-boot so we need at least this minimal capability
otherwise the system reboots after three minutes
2023-11-26 13:07:44 +00:00
27ce61ae4e
add bootable config for Turris Omnia
2023-11-24 23:29:12 +00:00
c563a6451f
add missing param
2023-11-18 14:20:59 +00:00
f9f4d97bb8
convert flash params to int
2023-11-12 20:39:06 +00:00
abfb35a231
and entryPoint
2023-11-12 18:50:47 +00:00
315907de98
convert hardware loadAddress to int
2023-11-12 18:47:31 +00:00
185117843b
convert tftp.loadAddress from string to int
2023-11-12 18:37:33 +00:00
0131686661
use parseInt for hex values
2023-11-12 18:25:38 +00:00
f61e737b54
improve doc for outputs and hardware
...
Changed my mind about "installer" as a first-class concept, at least
in the current implementation. Not every documented output is an
installer
2023-11-12 17:15:58 +00:00
262efaabe6
doc: put all the u-boot/serial stuff in one place to link from
2023-11-12 17:14:33 +00:00
7cfb92e3ce
more doc
2023-11-10 21:17:20 +00:00
5e046490de
support links from device pages to their installation methods
2023-11-09 23:02:35 +00:00
4cb4f904f8
delete unused kconfig for arm qemus
2023-11-08 21:28:12 +00:00
6489a39424
qemu armv7
2023-11-05 23:19:11 +00:00
c40eef25d6
qemu: use phram instead of block2mtd
2023-11-05 19:13:51 +00:00
80793aa694
belkin rt3200 is a ubifs device
2023-11-05 11:32:23 +00:00
e6cb5e319b
extract NETDEVICES kconfig to kernel.nix module
2023-11-05 11:31:23 +00:00
629914f65e
initial support for ubifs
2023-10-16 19:55:17 +01:00
80a09a9a9b
rt3200: move the entryPoint
2023-10-10 20:25:42 +01:00
bd20f3e419
uimage: make fit optional
2023-10-09 19:47:57 +01:00