onion omega2+

Mori Hiroki yamori813 at yahoo.co.jp
Tue May 9 00:18:08 UTC 2017


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