Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 8 May 2017 21:41:30 +0300
From:      Aleksandr Rybalko <ray@ddteam.net>
To:        Mike Wolman <mike@wolman.co.uk>
Cc:        freebsd-mips@freebsd.org
Subject:   Re: onion omega2+
Message-ID:  <CAJ1Oi8G%2BvTMBX4Ey=H=2WruXDjXjcyte5_n8T3VDdL=h8m7%2BVw@mail.gmail.com>
In-Reply-To: <694efc3a-e183-35a1-a0bf-9a9c0d708826@wolman.co.uk>
References:  <694efc3a-e183-35a1-a0bf-9a9c0d708826@wolman.co.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi Mike!

I see you have no "OK" after "Uncompressing Kernel Image ...", so first
point uboot decompressor fail.
Why fail? Because you have wrong base address in image:
  Load Address: fffffff2
  Entry Point:  fffffff2
MIPS32 machines have RAM mapped to 0x80000000 address, so adding its size,
you will get max address (if 16MB, it will be 0x81000000), but you uboot
image was created with 0xfffffff2.

Even more, unpacked kernel expects it will be called at 0x80001100. so if
you have ELF kernel (file with ELF header, like every executable) that file
have to be loaded at (0x80001100 - ELF_HEADER_SIZE).
In most cases it will be 0x80001100 - 0x100 = 0x80001000. But sometime (I
did not found why) it can be 0x20, you can find it by looking at .text
section in readelf -S.

So if you have kernel with entry point 0x80001100 and .text segment offset
0x100, you have to create uboot image with load address 0x80001000 and
entry point 0x80001100.

If that step successful you will get:
*Uncompressing Kernel Image* ... OK
Starting kernel ...

Last line mean, uboot did jump into kernel code.

Good luck.

2017-05-07 18:20 GMT+03:00 Mike Wolman <mike@wolman.co.uk>:

> Hi,
>
> I am trying to get FreeBSD working on this board - I think I am almost
> there in getting it working but need some help please.
>
> I have followed instructions from the freebsd-wifi-build and *think* I
> have got everything correct - I am trying to do this on a CURRENT setup:
>
> FreeBSD f64-current.mw.office 12.0-CURRENT FreeBSD 12.0-CURRENT #0
> r317887: Sun May  7 03:20:34 UTC 2017 mike@f64-current.mw.office:/us
> r/obj/usr/src/sys/GENERIC-NODEBUG amd64
>
>
> $ cat ~/.freebsd-wifi-build-settings.cfg
> X_SKIP_MORE_STUFF=YES
> X_EXTRA_SRC_CONF=~/omega2/src.conf
>
> $ cat ~/omega2/src.conf
> WITHOUT_CLANG=YES
> WITHOUT_CLANG_FULL=YES
>
> get dts files from thread http://community.onion.io/topi
> c/1099/openwrt-on-the-omega-2/8
>
>
> cd ~/omega2/src/sys/gnu/dts/mips
> fetch https://raw.githubusercontent.com/WereCatf/source/image/targ
> et/linux/ramips/dts/OMEGA2.dtsi
> fetch https://raw.githubusercontent.com/WereCatf/source/image/targ
> et/linux/ramips/dts/OMEGA2.dts
> fetch https://raw.githubusercontent.com/WereCatf/source/image/targ
> et/linux/ramips/dts/OMEGA2P.dts
>
> X_DTS_FILE=OMEGA2P.dts KERNCONF=MT7628_FDT ../freebsd-wifi-build/build/bin/build
> ralink buildworld
> X_DTS_FILE=OMEGA2P.dts KERNCONF=MT7628_FDT ../freebsd-wifi-build/build/bin/build
> ralink buildkernel
> X_DTS_FILE=OMEGA2P.dts KERNCONF=MT7628_FDT ../freebsd-wifi-build/build/bin/build
> ralink installworld
> X_DTS_FILE=OMEGA2P.dts KERNCONF=MT7628_FDT ../freebsd-wifi-build/build/bin/build
> ralink installkernel
> X_DTS_FILE=OMEGA2P.dts KERNCONF=MT7628_FDT ../freebsd-wifi-build/build/bin/build
> ralink distribution
>
>
> X_DTS_FILE=OMEGA2P.dts KERNCONF=MT7628_FDT ../freebsd-wifi-build/build/bin/build
> ralink mfsroot
> X_DTS_FILE=OMEGA2P.dts KERNCONF=MT7628_FDT ../freebsd-wifi-build/build/bin/build
> ralink fsimage
> X_DTS_FILE=OMEGA2P.dts KERNCONF=MT7628_FDT ../freebsd-wifi-build/build/bin/build
> ralink uboot
>
>
> Create flash:
>
> X_FLASH=kernel.MT7628_FDT.lzma.flash
> dd if=/dev/zero bs=$(( 0x200000 )) count=1 of=${X_FLASH}
> dd if=kernel.MT7628_FDT.lzma.uImage of=${X_FLASH} conv=notrunc
> dd if= mfsroot-ralink.img.lzma >> ${X_FLASH}
>
>
> $ readelf -h kernel.MT7628_FDT | grep Entry
>   Entry point address:               0x80001100
>
>
>
>
> Now on the omega over serial - I didnt get the network expansion doc thing
> so am doing stuff with usb rather than tftp
>
> I am not 100% sure about the 0x80001100 and the fatload and have tried this
>
> Omega2 # fatload usb 0:1 0x80001100 /kernel.MT7628_FDT.lzma.flash
> *
> *
> Reading file "/kernel.MT7628_FDT.lzma.flash"
> *
> **
> **
> **
> ******
> ************************************************************
> ************************************************************
> *********************
> ******
> *
> FAT: 2108463 Bytes read
> Omega2 # bootm 0x80001100
> ## Booting image at 80001100 ...
>    Image Name:   FreeBSD
>    Image Type:   MIPS Linux Kernel Image (lzma compressed)
>    Data Size:    1365122 Bytes =  1.3 MB
>    Load Address: fffffff2
>    Entry Point:  fffffff2
>    Verifying Checksum ... OK
>    Uncompressing Kernel Image ...
>
>
> At this point nothing happens and console hangs - note in OMEGA2.dtsithe
> console is set to ttyS0:
>
> bootargs = "console=ttyS0,115200";
>
>
>
>
> I have also tried with just kernel.MT7628_FDT and kernel.MT7628_FDT.lzma
> but both fail:
>
> Omega2 # fatload usb 0:1 0x80001100 /kernel.MT7628_FDT.lzma.uImage
> *
> *
> Reading file "/kernel.MT7628_FDT.lzma.uImage"
> *
> **
> **
> ******
> ************************************************************
> ******************************************************************
> **********
> *
> FAT: 1365186 Bytes read
> Omega2 # bootm 0x80001100
> ## Booting image at 80001100 ...
>    Image Name:   FreeBSD
>    Image Type:   MIPS Linux Kernel Image (lzma compressed)
>    Data Size:    1365122 Bytes =  1.3 MB
>    Load Address: fffffff2
>    Entry Point:  fffffff2
>    Verifying Checksum ... OK
>    Uncompressing Kernel Image ...
>
>
> A few comments on the hardware for anyone who wants to get one:
>
> Get the expansion dock with serial port access - the power dock does not
> provide serial access - i think it is possible to use an ftdi ttl serial
> chip/cable but have not tried.
>
> Stupidly I forgot this only has wifi access so you are not able to tftp
> boot this without getting the ethernet network expansion but loading stuff
> up from a usb memory stick is seem fine from u-boot.
>
> I do not think that it is possible to boot from the SD card on the Omega2+
> - which is a shame.
>
> Thanks for reading,
>
> Mike.
>
>
>
> _______________________________________________
> freebsd-mips@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-mips
> To unsubscribe, send any mail to "freebsd-mips-unsubscribe@freebsd.org"
>



-- 
WBW
-------
Rybalko Aleksandr <ray@ddteam.net>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ1Oi8G%2BvTMBX4Ey=H=2WruXDjXjcyte5_n8T3VDdL=h8m7%2BVw>