onion omega2+
Aleksandr Rybalko
ray at ddteam.net
Tue May 9 11:47:46 UTC 2017
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 at 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 at yahoo.co.jp>:
>
>> Hi Mike
>>
>> Could you show u-boot printenv command result.
>>
>> Thanks
>>
>>
>> ----- 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 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 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/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 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"
>> >>>>>
>> >
>> _______________________________________________
>> 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"
>>
>
>
>
> --
> WBW
> -------
> Rybalko Aleksandr <ray at ddteam.net>
>
>
>
--
WBW
-------
Rybalko Aleksandr <ray at ddteam.net>
More information about the freebsd-mips
mailing list