Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 8 May 2017 23:48:35 +0100
From:      Mike Wolman <mike@wolman.co.uk>
To:        freebsd-mips@freebsd.org
Subject:   Re: onion omega2+
Message-ID:  <e92bc818-485f-d9fc-da2b-776bae2b0916@wolman.co.uk>
In-Reply-To: <CAJ1Oi8G%2BvTMBX4Ey=H=2WruXDjXjcyte5_n8T3VDdL=h8m7%2BVw@mail.gmail.com>
References:  <694efc3a-e183-35a1-a0bf-9a9c0d708826@wolman.co.uk> <CAJ1Oi8G%2BvTMBX4Ey=H=2WruXDjXjcyte5_n8T3VDdL=h8m7%2BVw@mail.gmail.com>

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

More info in case anyone can point me in the right direction.

I have found:

https://forum.openwrt.org/viewtopic.php?id=53865

I have tried changing how lzma compresses the kernel by adding -d20 to 
the build scripts eg:

/usr/local/bin/lzma e 
/home/mike/omega2/src/../root/mipsel_ap/boot/kernel.MT7628_FDT/kernel \
/home/mike/omega2/src/../tftpboot/kernel.MT7628_FDT.lzma -d20

This did not work.


Looking at the onion omega conf I see that it uses mkuzip and not lzma 
with the following settings:

X_FSIMAGE_CMD="mkuzip"
X_FSIMAGE_ARGS="-L -d -s 65536 -v"
X_FSIMAGE_SUFFIX=".ulzma"

So tried the following:

mkuzip -L -d -s 65536 -v -o kernel.MT7628_FDT.ulzma kernel.MT7628_FDT

mkimage -A mips -O linux -T kernel -C lzma \
   -a 0x80001000 -e 0x80001100 \
   -n "FreeBSD" -d kernel.MT7628_FDT.lzma kernel.MT7628_FDT.ulzma.uImage


But this did not work either.



On 08/05/2017 19:41, Aleksandr Rybalko wrote:
> 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 
> <mailto: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:/usr/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/topic/1099/openwrt-on-the-omega-2/8
>     <http://community.onion.io/topic/1099/openwrt-on-the-omega-2/8>;
>
>
>     cd ~/omega2/src/sys/gnu/dts/mips
>     fetch
>     https://raw.githubusercontent.com/WereCatf/source/image/target/linux/ramips/dts/OMEGA2.dtsi
>     <https://raw.githubusercontent.com/WereCatf/source/image/target/linux/ramips/dts/OMEGA2.dtsi>;
>     fetch
>     https://raw.githubusercontent.com/WereCatf/source/image/target/linux/ramips/dts/OMEGA2.dts
>     <https://raw.githubusercontent.com/WereCatf/source/image/target/linux/ramips/dts/OMEGA2.dts>;
>     fetch
>     https://raw.githubusercontent.com/WereCatf/source/image/target/linux/ramips/dts/OMEGA2P.dts
>     <https://raw.githubusercontent.com/WereCatf/source/image/target/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 <mailto:freebsd-mips@freebsd.org>mailing list
>     https://lists.freebsd.org/mailman/listinfo/freebsd-mips
>     <https://lists.freebsd.org/mailman/listinfo/freebsd-mips>;
>     To unsubscribe, send any mail to
>     "freebsd-mips-unsubscribe@freebsd.org
>     <mailto:freebsd-mips-unsubscribe@freebsd.org>"
>
>
>
>
> -- 
> WBW
> -------
> Rybalko Aleksandr <ray@ddteam.net <mailto:ray@ddteam.net>>
>




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?e92bc818-485f-d9fc-da2b-776bae2b0916>