onion omega2+
Aleksandr Rybalko
ray at ddteam.net
Tue May 9 13:05:01 UTC 2017
bootm expect uboot image, not ELF kernel
to try kenel use "go" (if it compiled in uboot)
2017-05-09 16:01 GMT+03:00 Mike Wolman <mike at wolman.co.uk>:
>
> No joy
>
> Omega2 # fatload usb 0:1 0x80800000 kernel.MT7628_FDT.uImage
> *
> *
> Reading file "kernel.MT7628_FDT.uImage"
> *
> **
> **
> **
> **
> **
> **
> **
> **
> **
> **
> ******
> ******
> ************************************************************
> ************************************************************
> ************************************************************
> ******************************
> ****
> *
> FAT: 5654824 Bytes read
> Omega2 # bootm
> ## Booting image at 80100000 ...
> Bad Magic Number,CE6AE7C4
>
> I am going to get a different usb memory stick and rebuild the kernel
> later on as i got an error when last writing to the usb memory key and its
> quite old now so just want to eliminate it from testing.
>
>
> On 09/05/2017 13:52, Mori Hiroki wrote:
>
>> Hi.
>>
>> This is my sample operation get image from network and boot.
>>
>> RT3052 # tftpboot 0x80800000 Planex_MZK-WNH_kernel.kbin.oldlzma.uboot
>> RT3052 # bootm
>>
>>
>> I don't use USB support U-Boot. But I think fatload command argument is
>> temporary memory address not kernel address.
>>
>> How about this.
>>
>> Omega2 # fatload usb 0:1 0x80800000 kernel.MT7628_FDT.uImage
>> Omega2 # bootm
>>
>> ----- Original Message -----
>>
>>> From: Mike Wolman <mike at wolman.co.uk>
>>> To: Aleksandr Rybalko <ray at ddteam.net>; Mori Hiroki <
>>> yamori813 at yahoo.co.jp>
>>> Cc: "freebsd-mips at freebsd.org" <freebsd-mips at freebsd.org>
>>> Date: 2017/5/9, Tue 20:48
>>> Subject: Re: onion omega2+
>>>
>>>
>>>
>>>
>>> Is it possible to exclude the compression of the kernel/image for
>>>
>> now eg:
>>
>>> mkimage -A mips -C none -O linux -T kernel -a 0x80001000 -e
>>>
>> 0x80001100 -n "FreeBSD" -d kernel.MT7628_FDT
>> kernel.MT7628_FDT.uImage
>>
>>>
>>> I have just tried the above but when booting I get a Bad Magic
>>>
>> Number.
>>
>>>
>>> Omega2 # fatload usb 0:1 0x80001000 kernel.MT7628_FDT.uImage
>>> *
>>> *
>>> Reading file "kernel.MT7628_FDT.uImage"
>>> *
>>> **
>>> **
>>> **
>>> **
>>> **
>>> **
>>> **
>>> **
>>> **
>>> **
>>> ******
>>> ******
>>> ************************************************************
>>> ************************************************************
>>> ************************************************************
>>> ******************************
>>> ****
>>> *
>>> FAT: 5654824 Bytes read
>>> Omega2 # bootm 0x80001100
>>> ## Booting image at 80001100 ...
>>> Bad Magic Number,1C994480
>>> Omega2 #
>>>
>>>
>>> I have seen other examples starting a program directly with going to
>>>
>> the address but this didnt work either:
>>
>>> Omega2 # go 0x80001100
>>> ## Starting application at 0x80001100 ...
>>>
>>> omega freezes here.
>>>
>>>
>>>
>>>
>>> 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/
>>>>>> 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}
>
>
--
WBW
-------
Rybalko Aleksandr <ray at ddteam.net>
More information about the freebsd-mips
mailing list