onion omega2+
Mike Wolman
mike at wolman.co.uk
Wed May 10 09:53:00 UTC 2017
Yay - we have got somewhere - thanks so much for every ones input.
I have given the binary kernel a go:
[mike at f64-current ~/omega2/tftpboot]$ objcopy -O binary
kernel.MT7628_FDT kernel.MT7628_FDT.bin
[mike at f64-current ~/omega2/tftpboot]$ readelf -h kernel.MT7628_FDT.bin
readelf: Not an ELF file.
On the omega:
Omega2 # fatload usb 0:1 0x80001100 kernel.MT7628_FDT.bin
*
*
Reading file "kernel.MT7628_FDT.bin"
*
**
******
*************************************************************************************************************************
******
*********************************************************************************************************************************************************************
****
*
FAT: 4491492 Bytes read
Omega2 # bootm 0x80001100
## Booting image at 80001100 ...
Bad Magic Number,00688040
Omega2 # go 0x80001100
## Starting application at 0x80001100 ...
FDT DTB at: 0x804113c0
CPU clock: 580MHz
Timer clock: 290MHz
UART clock: 40MHz
U-Boot args (from 0 args):
None
Environment:
entry: mips_init()
RAM size: 128MB (from FDT)
Cache info:
picache_stride = 4096
picache_loopcount = 16
pdcache_stride = 4096
pdcache_loopcount = 8
max line size = 32
cpu0: MIPS Technologies processor v85.150
MMU: Standard TLB, 32 entries (4K 16K 64K 256K 1M 16M 64M 256M pg sizes)
L1 i-cache: 4 ways of 512 sets, 32 bytes per line
L1 d-cache: 4 ways of 256 sets, 32 bytes per line
L2 cache: disabled
Config1=0xbee3519e<PerfCount,WatchRegs,MIPS16,EJTAG>
Config2=0x80000000
Config3=0x2420<ULRI>
Config7=0x80010400<WII,AR>
Physical memory chunk(s):
0x4d4000 - 0x7ffffff, 129155072 bytes (31532 pages)
Maxmem is 0x8000000
KDB: debugger backends: ddb
KDB: current backend: ddb
Copyright (c) 1992-2017 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 12.0-CURRENT #0 r317887M: Wed May 10 10:09:03 UTC 2017
mike at f64-current.mw.office:/usr/home/mike/omega2/obj/mipsel_ap/mips.mipsel/usr/home/mike/omega2/src/sys/MT7628_FDT
mips
gcc version 4.2.1 20070831 patched [FreeBSD]
WARNING: WITNESS option enabled, expect reduced performance.
MEMGUARD DEBUGGING ALLOCATOR INITIALIZED:
MEMGUARD map base: 0xc0800000
MEMGUARD map size: 104860 KBytes
panic: Memory modified after free 0x87fcf948(88) val=9a05 @ 0x87fcf980
time = 1
KDB: enter: panic
[ thread pid 0 tid 0 ]
Stopped at 0x4
db>
Again not sure of my next step but things are looking very positive.
On 10/05/2017 10:38, Stanislav Galabov wrote:
> Hi Mike,
>
> Alexandr is right, what I described should work for binary kernels and not for ELF ones. I somehow was of the impression that you were using binary. Please try the same with binary kernel per Alexandr's suggestion in an earlier post...
>
> Best wishes
> Stanislav
>
>> On May 10, 2017, at 12:31, Mike Wolman <mike at wolman.co.uk> wrote:
>>
>> Hi Stanislav,
>>
>> Just rebuild kernel with the original dtsi and made a new uImage with:
>>
>>
>> [mike at f64-current ~/omega2/tftpboot]$ mkimage -A mips -C none -O linux -T kernel -a 0x80001100 -e 0x80001100 -n "FreeBSD" -d kernel.MT7628_FDT kernel.MT7628_FDT.uImage
>> Image Name: FreeBSD
>> Created: Wed May 10 10:10:37 2017
>> Image Type: MIPS Linux Kernel Image (uncompressed)
>> Data Size: 5654760 Bytes = 5522.23 kB = 5.39 MB
>> Load Address: 80001100
>> Entry Point: 80001100
>>
>>
>> On the Omega:
>>
>>
>> Omega2 # fatload usb 0:1 0x80800000 kernel.MT7628_FDT.uImage
>> *
>> *
>> Reading file "kernel.MT7628_FDT.uImage"
>> *
>> **
>> ******
>> ...
>> ****
>> *
>> FAT: 5654824 Bytes read
>> Omega2 # bootm 0x80800000
>> ## Booting image at 80800000 ...
>> Image Name: FreeBSD
>> Image Type: MIPS Linux Kernel Image (uncompressed)
>> Data Size: 5654760 Bytes = 5.4 MB
>> Load Address: 80001100
>> Entry Point: 80001100
>> Verifying Checksum ... OK
>> OK
>> No initrd
>> ## Transferring control to Linux (at address 80001100) ...
>> ## Giving linux memsize in MB, 128
>>
>> Starting kernel ...
>>
>>
>> And again nothing more, I also tried one with a Load Address 80000000 but that hasnt worked either.
>>
>>
>> In case this is of any use - when linux boots this is what the console looks like:
>>
>>
>> Boot Linux from Flash NO RESET PRESSED.
>> ## Booting image at bc050000 ...
>> Image Name: MIPS LEDE Linux-4.4.32
>> Image Type: MIPS Linux Kernel Image (lzma compressed)
>> Data Size: 1345538 Bytes = 1.3 MB
>> Load Address: 80000000
>> Entry Point: 80000000
>> Verifying Checksum ... OK
>> Uncompressing Kernel Image ... OK
>> No initrd
>> ## Transferring control to Linux (at address 80000000) ...
>> ## Giving linux memsize in MB, 128
>>
>> Starting kernel ...
>>
>> [ 0.000000] Linux version 4.4.32 (root at 2272a3272872) (gcc version 5.4.0 (LEDE GCC 5.4.0 r2292+1) ) #0 Wed Nov 23 00:21:47 2016
>> [ 0.000000] Board has DDR2
>> [ 0.000000] Analog PMU set to hw control
>> [ 0.000000] Digital PMU set to hw control
>> [ 0.000000] SoC Type: MediaTek MT7688 ver:1 eco:2
>> [ 0.000000] bootconsole [early0] enabled
>> [ 0.000000] CPU0 revision is: 00019655 (MIPS 24KEc)
>> [ 0.000000] MIPS: machine is Onion Omega2+
>> [ 0.000000] Determined physical RAM map:
>> [ 0.000000] memory: 08000000 @ 00000000 (usable)
>> [ 0.000000] Initrd not found or empty - disabling initrd
>> [ 0.000000] Zone ranges:
>> [ 0.000000] Normal [mem 0x0000000000000000-0x0000000007ffffff]
>> [ 0.000000] Movable zone start for each node
>> [ 0.000000] Early memory node ranges
>> [ 0.000000] node 0: [mem 0x0000000000000000-0x0000000007ffffff]
>> [ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff]
>> [ 0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
>> [ 0.000000] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
>> [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512
>> [ 0.000000] Kernel command line: console=ttyS0,115200 rootfstype=squashfs,jffs2
>> [ 0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
>> [ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
>> [ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
>> [ 0.000000] Writing ErrCtl register=00022002
>> [ 0.000000] Readback ErrCtl register=00022002
>> [ 0.000000] Memory: 125488K/131072K available (3103K kernel code, 141K rwdata, 752K rodata, 156K init, 196K bss, 5584K reserved, 0K cma-reserved)
>> [ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
>> [ 0.000000] NR_IRQS:256
>> [ 0.000000] intc: using register map from devicetree
>> [ 0.000000] CPU Clock: 580MHz
>> [ 0.000000] clocksource_probe: no matching clocksources found
>> [ 0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 6590553264 ns
>> [ 0.000012] sched_clock: 32 bits at 290MHz, resolution 3ns, wraps every 74051 15902ns
>> [ 0.007522] Calibrating delay loop... 385.84 BogoMIPS (lpj=1929216)
>> [ 0.070037] pid_max: default: 32768 minimum: 301
>> [ 0.074638] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
>> [ 0.080979] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
>> [ 0.094407] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
>> [ 0.104062] pinctrl core: initialized pinctrl subsystem
>> [ 0.109786] NET: Registered protocol family 16
>> [ 0.135691] mt7621_gpio 10000600.gpio: registering 32 gpios
>> [ 0.141166] mt7621_gpio 10000600.gpio: registering 32 gpios
>> [ 0.146653] mt7621_gpio 10000600.gpio: registering 32 gpios
>> [ 0.153211] i2c-mt7621 10000900.i2c: clock 100KHz, re-start not support
>> [ 0.161026] clocksource: Switched to clocksource MIPS
>> [ 0.167442] NET: Registered protocol family 2
>> [ 0.172577] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
>> [ 0.179269] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
>> [ 0.185449] TCP: Hash tables configured (established 1024 bind 1024)
>> [ 0.191652] UDP hash table entries: 256 (order: 0, 4096 bytes)
>> [ 0.197255] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
>> [ 0.203624] NET: Registered protocol family 1
>> [ 0.214036] futex hash table entries: 256 (order: -1, 3072 bytes)
>> [ 0.219960] Crashlog allocated RAM at address 0x3f00000
>> [ 0.240245] squashfs: version 4.0 (2009/01/31) Phillip Lougher
>> [ 0.245900] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
>> [ 0.258137] io scheduler noop registered
>> [ 0.261942] io scheduler deadline registered (default)
>> [ 0.268315] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
>> [ 0.276011] console [ttyS0] disabled
>> [ 0.279438] 10000c00.uartlite: ttyS0 at MMIO 0x10000c00 (irq = 28, base_baud = 2500000) is a 16550A
>> [ 0.288217] console [ttyS0] enabled
>> [ 0.288217] console [ttyS0] enabled
>> [ 0.295211] bootconsole [early0] disabled
>> [ 0.295211] bootconsole [early0] disabled
>> [ 0.303969] 10000d00.uart1: ttyS1 at MMIO 0x10000d00 (irq = 29, base_baud = 2500000) is a 16550A
>> [ 0.313561] 10000e00.uart2: ttyS2 at MMIO 0x10000e00 (irq = 30, base_baud = 2500000) is a 16550A
>> [ 0.324283] spi-mt7621 10000b00.spi: sys_freq: 193333333
>> [ 0.334382] m25p80 spi32766.0: using chunked io (size=31)
>> [ 0.339882] m25p80 spi32766.0: mx25l25635e (32768 Kbytes)
>> [ 0.345451] 4 ofpart partitions found on MTD device spi32766.0
>> [ 0.351378] Creating 4 MTD partitions on "spi32766.0":
>> [ 0.356594] 0x000000000000-0x000000030000 : "u-boot"
>> [ 0.363407] 0x000000030000-0x000000040000 : "u-boot-env"
>> [ 0.370634] 0x000000040000-0x000000050000 : "factory"
>> [ 0.377673] 0x000000050000-0x000002000000 : "firmware"
>> [ 0.425492] 2 uimage-fw partitions found on MTD device firmware
>> [ 0.431550] 0x000000050000-0x000000198842 : "kernel"
>> [ 0.438242] 0x000000198842-0x000002000000 : "rootfs"
>> [ 0.445146] mtd: device 5 (rootfs) set to be root filesystem
>> [ 0.450960] 1 squashfs-split partitions found on MTD device rootfs
>> [ 0.457297] 0x0000006b0000-0x000002000000 : "rootfs_data"
>> [ 0.474397] rt3050-esw 10110000.esw: link changed 0x00
>> [ 0.482079] mtk_soc_eth 10100000.ethernet eth0: mediatek frame engine at 0xb0100000, irq 5
>> [ 0.490683] i2c /dev entries driver
>> [ 0.494876] mt7621_wdt 10000120.watchdog: Initialized
>> [ 0.500240] MTK MSDC device init.
>> [ 0.541172] mtk-sd: MediaTek MT6575 MSDC Driver
>> [ 0.547206] NET: Registered protocol family 10
>> [ 0.555832] NET: Registered protocol family 17
>> [ 0.560430] bridge: automatic filtering via arp/ip/ip6tables has been deprecated. Update your scripts to load br_netfilter if you need this.
>> [ 0.573286] 8021q: 802.1Q VLAN Support v1.8
>> [ 0.579808] mtk-linkit bootstrap: Version :
>> [ 0.584309] mtk-linkit bootstrap: Revision :
>> [ 0.593456] VFS: Mounted root (squashfs filesystem) readonly on device 31:5.
>> [ 0.601535] Freeing unused kernel memory: 156K (803e9000 - 80410000)
>> [ 1.630140] init: Console is alive
>> ...
>> more linux kernel messages.
>>
>>
>>> On 10/05/2017 08:16, Stanislav Galabov wrote:
>>> Hi Mike,
>>>
>>> Please try setting both the Load Address and the Entry Point to the same value as you see as Entry point address by using 'readelf -h’ and try booting again.
>>> In your case this would seem to be 0x80001100.
>>>
>>> Please leave all dts/dtsi files unchanged (as they originally were) for now.
>>>
>>> Best wishes,
>>> Stanislav
>>>
>>>> On May 10, 2017, at 04:33, Mike Wolman <mike at wolman.co.uk> wrote:
>>>>
>>>>
>>>> I have just tried with clock-frequency change in the 3 places it appears in mt7628an.dtsi
>>>>
>>>> But again some thing:
>>>>
>>>> Omega2 # bootm 0x80800000
>>>> ## Booting image at 80800000 ...
>>>> Image Name: FreeBSD
>>>> Image Type: MIPS Linux Kernel Image (uncompressed)
>>>> Data Size: 5654760 Bytes = 5.4 MB
>>>> Load Address: 80001000
>>>> Entry Point: 80001100
>>>> Verifying Checksum ... OK
>>>> OK
>>>> No initrd
>>>> ## Transferring control to Linux (at address 80001100) ...
>>>> ## Giving linux memsize in MB, 128
>>>>
>>>> Starting kernel ...
>>>>
>>>>
>>>> Note: When building kernel i see:
>>>>
>>>> --------------------------------------------------------------
>>>>>>> stage 3.1: building everything
>>>> --------------------------------------------------------------
>>>> converting OMEGA2P.dts -> /usr/home/mike/omega2/obj/mipsel_ap/mips.mipsel/usr/home/mike/omega2/src/sys/MT7628_FDT/OMEGA2P.dtb
>>>> /usr/home/mike/omega2/obj/mipsel_ap/mips.mipsel/usr/home/mike/omega2/src/sys/MT7628_FDT/OMEGA2P.dtb: Warning (unit_address_vs_reg): Node /cpus/cpu at 0 has a unit name, but no reg property
>>>> /usr/home/mike/omega2/obj/mipsel_ap/mips.mipsel/usr/home/mike/omega2/src/sys/MT7628_FDT/OMEGA2P.dtb: Warning (unit_address_vs_reg): Node /cpuintc at 0 has a unit name, but no reg property
>>>> /usr/home/mike/omega2/obj/mipsel_ap/mips.mipsel/usr/home/mike/omega2/src/sys/MT7628_FDT/OMEGA2P.dtb: Warning (unit_address_vs_reg): Node /pcie at 10140000/pcie-bridge has a reg or ranges property, but no unit name
>>>>
>>>> Are these just warnings which can be ignored or could they be part of the problem?
>>>>
>>>>
>>>>
>>>>> On 10/05/2017 01:50, Mori Hiroki wrote:
>>>>> Hi mike
>>>>>
>>>>> I last idea is uartlite clock-frequency miss.
>>>>>
>>>>> clock-frequency = <50000000>;
>>>>>
>>>>> But I don't know correct value.
>>>>>
>>>>>
>>>>>
>>>>> ----- Original Message -----
>>>>>> From: Mike Wolman <mike at wolman.co.uk>
>>>>>> To: Mori Hiroki <yamori813 at yahoo.co.jp>; Aleksandr Rybalko <ray at ddteam.net>
>>>>>> Cc: "freebsd-mips at freebsd.org" <freebsd-mips at freebsd.org>
>>>>>> Date: 2017/5/10, Wed 09:01
>>>>>> Subject: Re: onion omega2+
>>>>>>
>>>>>>
>>>>>> The new kernel with
>>>>>>
>>>>>> device uart_ns8250
>>>>>>
>>>>>> didnt work
>>>>>>
>>>>>>> On 10/05/2017 00:05, Mori Hiroki wrote:
>>>>>>> Hi Mike.
>>>>>>>
>>>>>>> I seem load address is good.
>>>>>>>
>>>>>>> I check mt7628an.dtsi file.
>>>>>>>
>>>>>>> This file uart entry is
>>>>>>>
>>>>>>> uartlite: uartlite at c00 {
>>>>>>> compatible = "ns16550a";
>>>>>>> In this case you must add uart_ns8250 device to kernel configuration.
>>>> _______________________________________________
>>>> freebsd-mips at freebsd.org mailing list
>>>> https://lists.freebsd.org/mailman/listinfo/freebsd-mips
>>>> To unsubscribe, send any mail to "freebsd-mips-unsubscribe at freebsd.org"
More information about the freebsd-mips
mailing list