onion omega2+

Mori Hiroki yamori813 at yahoo.co.jp
Tue May 9 01:22:49 UTC 2017


Hi Mike

In FreeBSD is use serial0 dts item to console.

I think good to use this at start.

freebsd/sys/gnu/dts/mips/MT7628.dts

----- Original Message -----
> From: Mike Wolman <mike at wolman.co.uk>
> To: Mori Hiroki <yamori813 at yahoo.co.jp>; "freebsd-mips at freebsd.org" <freebsd-mips at freebsd.org>
> Cc: 
> Date: 2017/5/9, Tue 09:25
> Subject: Re: onion omega2+
> 
> Hi Mori,
> 
> I grabbed the dts files from:
> 
> https://github.com/WereCatf/source/tree/image/target/linux/ramips/dts
> https://github.com/WereCatf/source/blob/image/target/linux/ramips/dts/OMEGA2P.dts
> https://github.com/WereCatf/source/blob/image/target/linux/ramips/dts/OMEGA2.dtsi
> 
> If this is of any use from the default linux install on the flash:
> 
> root at Omega-12BF:/proc# cat /proc/mtd
> dev:    size   erasesize  name
> mtd0: 00030000 00010000 "u-boot"
> mtd1: 00010000 00010000 "u-boot-env"
> mtd2: 00010000 00010000 "factory"
> mtd3: 01fb0000 00010000 "firmware"
> mtd4: 00148842 00010000 "kernel"
> mtd5: 01e677be 00010000 "rootfs"
> mtd6: 01950000 00010000 "rootfs_data"
> 
> 
> btw after posting i spotted and error in what i did with:
> 
> 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
> 
> I have redone this using the correct compressed kernel ie:
> 
> mkimage -A mips -O linux -T kernel -C lzma \
>     -a 0x80001000 -e 0x80001100 \
>     -n "FreeBSD" -d kernel.MT7628_FDT.ulzma
> kernel.MT7628_FDT.ulzma.uImage
> 
> 
> But this didnt work.
> 
> 
> 
> On 09/05/2017 01:17, Mori Hiroki wrote:
>>  Hi.
>> 
>>  I think if U-Boot work memory make broken then
>>  Uncompressing Kernel Image is NG.
>> 
>>  Some ARM U-Boot is use top address in work memory.
>>  If this case your kernel start address to move to
>>  after work memory. But I never see in MIPS.
>> 
>>  And What is set FDT_DTS_FILE  in your kernel configuration ?
>> 
>>  ----- Original Message -----
>> 
>>>  From: Mike Wolman <mike at wolman.co.uk>
>>>  To: freebsd-mips at freebsd.org
>>>  Cc:
>>>  Date: 2017/5/9, Tue 07:48
>>>  Subject: Re: onion omega2+
>>> 
>>> 
>>>  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 at wolman.co.uk
>>>>    <mailto:mike at 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 at 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 at freebsd.org 
> <mailto:freebsd-mips at 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 at freebsd.org
>>>>        <mailto:freebsd-mips-unsubscribe at freebsd.org>"
>>>> 
>>>> 
>>>> 
>>>> 
>>>>    --
>>>>    WBW
>>>>    -------
>>>>    Rybalko Aleksandr <ray at ddteam.net 
> <mailto:ray at ddteam.net>>
>>>> 
>>>  _______________________________________________
>>>  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