Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 9 May 2017 14:47:44 +0300
From:      Aleksandr Rybalko <ray@ddteam.net>
To:        Mike Wolman <mike@wolman.co.uk>
Cc:        Mori Hiroki <yamori813@yahoo.co.jp>,  "freebsd-mips@freebsd.org" <freebsd-mips@freebsd.org>
Subject:   Re: onion omega2+
Message-ID:  <CAJ1Oi8F3Vs9ipdNQgAHpzDnU=XP6zj7SLSsz7KBbA1VBG7%2BbLw@mail.gmail.com>
In-Reply-To: <fd59f0cd-6255-2988-11fa-4d985f8230eb@wolman.co.uk>
References:  <694efc3a-e183-35a1-a0bf-9a9c0d708826@wolman.co.uk> <CAJ1Oi8G%2BvTMBX4Ey=H=2WruXDjXjcyte5_n8T3VDdL=h8m7%2BVw@mail.gmail.com> <e92bc818-485f-d9fc-da2b-776bae2b0916@wolman.co.uk> <410144.69078.qm@web101716.mail.ssk.yahoo.co.jp> <fda8b792-f6c4-d0fb-5a99-d190cc3a4f39@wolman.co.uk> <128807.28836.qm@web101715.mail.ssk.yahoo.co.jp> <2d555385-8258-fd75-e4a3-a1e59bf86314@wolman.co.uk> <651873.78746.qm@web101702.mail.ssk.yahoo.co.jp> <CAJ1Oi8Hemuug5JRP9btUgs-MmCFgb-_qS0qrEW7h=BhPAYXpFQ@mail.gmail.com> <fd59f0cd-6255-2988-11fa-4d985f8230eb@wolman.co.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
In that case uboot extract image, not linux.
Find which tool used to pack linux kernel before pass it to uboot mkimage.

2017-05-09 13:57 GMT+03:00 Mike Wolman <mike@wolman.co.uk>:

>
> I think the standard version of linux on the omega2 is LEDE
>
> The lzma loader src is:
>
> https://github.com/lede-project/source/tree/master/
> target/linux/generic/image/lzma-loader/src
> https://github.com/lede-project/source/blob/master/
> target/linux/generic/image/lzma-loader/src/LzmaDecode.c
>
> Which is using LZMA SDK 4.22
>
>
>
> On 09/05/2017 10:12, Aleksandr Rybalko wrote:
>
> Fix things in order :)
> Currently you have problem with LZMA, serial port later.
>
> So, find version of lzma used to build linux firmware, MIPS routers world
> use about 5 incompatible versions. One of them, you can find here:
> http://project.zrouter.org/hg/zrouter/file/9ac53695a44d/tools/oldlzma
>
>
> 2017-05-09 7:03 GMT+03:00 Mori Hiroki <yamori813@yahoo.co.jp>:
>
>> Hi Mike
>>
>> Could you show u-boot printenv command result.
>>
>> Thanks
>>
>>
>> ----- Original Message -----
>> > From: Mike Wolman <mike@wolman.co.uk>
>> > To: Mori Hiroki <yamori813@yahoo.co.jp>; "freebsd-mips@freebsd.org" <
>> freebsd-mips@freebsd.org>
>> > Cc:
>> > Date: 2017/5/9, Tue 10:30
>> > Subject: Re: onion omega2+
>> >
>> > Hi Mori,
>> >
>> > When I compiled the world/kernel etc I used:
>> >
>> > X_DTS_FILE=OMEGA2P.dts KERNCONF=MT7628_FDT
>> > ../freebsd-wifi-build/build/bin/build ralink buildkernel
>> >
>> > I checked the serial stuff was the same as the other configs in:
>> > https://github.com/freebsd/freebsd-wifi-build/
>> > and they looked the same.
>> >
>> > The OMEGA2.dtsi file has:
>> >
>> >          chosen {
>> >                  bootargs = "console=ttyS0,115200";
>> >          };
>> >
>> >
>> > And mt7628an.dtsi has:   serial0 = &uartlite;
>> >
>> > I dont think im getting as far as worrying about the serial console at
>> > the moment and need to get the kernel to uncompress first.
>> >
>> > Mike.
>> >
>> >
>> > On 09/05/2017 02:20, Mori Hiroki wrote:
>> >>  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@wolman.co.uk>
>> >>>  To: Mori Hiroki <yamori813@yahoo.co.jp>;
>> > "freebsd-mips@freebsd.org" <freebsd-mips@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@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@wolman.co.uk>
>> >>>>>    To: freebsd-mips@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@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/targ
>> et/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/targ
>> et/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/targ
>> et/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>>
>> >>>>>    _______________________________________________
>> >>>>>   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"
>> >>>>>
>> >
>> _______________________________________________
>> 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>
>
>
>


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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ1Oi8F3Vs9ipdNQgAHpzDnU=XP6zj7SLSsz7KBbA1VBG7%2BbLw>