Welcome! Log In Create A New Profile

Advanced

New uboot and kernel for Pogoplug v3/Pro

Posted by shv 
shv
New uboot and kernel for Pogoplug v3/Pro
September 29, 2013 07:47AM
see: http://archlinuxarm.org/forum/viewtopic.php?f=55&t=6193

- shv



Edited 1 time(s). Last edit at 09/29/2013 07:48AM by shv.
Re: New uboot and kernel for Pogoplug v3/Pro
September 29, 2013 03:05PM
shv
Re: New uboot and kernel for Pogoplug v3/Pro
September 30, 2013 02:10AM
I want to try it but I don't know how to get the new uboot and FDT kernel onto my SATA disk. What kernel option must be changed to build a non-FDT kernel? Such kernel I could boot with the old uboot. Or I could wait until you will find a way how to load the new uboot and FDT-kernel.
Re: New uboot and kernel for Pogoplug v3/Pro
September 30, 2013 02:29AM
shv,

I have started to build this uBoot, but not successful yet. It seems some config options need to be tweaked.

To build non-FDT kernel (based on my experience in building the Debian Non-FDT kernels lately)

1. Look for all config_xxx_dt option, they should be "not set". For example,
grep -i _dt config-3.11.1-kirkwood-tld-1 

# CONFIG_ARCH_KIRKWOOD_DT is not set
# CONFIG_MACH_CLOUDBOX_DT is not set
# CONFIG_MACH_DB88F628X_BP_DT is not set
# CONFIG_MACH_DLINK_KIRKWOOD_DT is not set
# CONFIG_MACH_DOCKSTAR_DT is not set
# CONFIG_MACH_DREAMPLUG_DT is not set
# CONFIG_MACH_GOFLEXNET_DT is not set
# CONFIG_MACH_GURUPLUG_DT is not set
# CONFIG_MACH_IB62X0_DT is not set
# CONFIG_MACH_ICONNECT_DT is not set
# CONFIG_MACH_INETSPACE_V2_DT is not set
# CONFIG_MACH_IOMEGA_IX2_200_DT is not set
# CONFIG_MACH_KM_KIRKWOOD_DT is not set
# CONFIG_MACH_LSXL_DT is not set
# CONFIG_MACH_MPLCEC4_DT is not set
# CONFIG_MACH_NETSPACE_LITE_V2_DT is not set
# CONFIG_MACH_NETSPACE_MAX_V2_DT is not set
# CONFIG_MACH_NETSPACE_MINI_V2_DT is not set
# CONFIG_MACH_NETSPACE_V2_DT is not set
# CONFIG_MACH_OPENBLOCKS_A6_DT is not set
# CONFIG_MACH_READYNAS_DT is not set
# CONFIG_MACH_SHEEVAPLUG_DT is not set
# CONFIG_MACH_TOPKICK_DT is not set
# CONFIG_MACH_TS219_DT is not set

2. During buidding kernel, if you see compile errors in some init files, that was because the source code has changed to FDT. And the fix for it is usually trivial. And you will only need to deal witht the specific platforms that you're compiling for. Ie, if you turn on the config option for Oxnas, then you will only need to deal with that file.

BTW, are you going to build the kernel natively or cross compile? let us know if you can build and what command you use.

-bodhi
===========================
Wiki
latest Kirkwood kernel builds and rootfs
latest u-boot-kirkwood builds
latest Oxnas kernel builds and rootfs
latest u-boot-oxnas builds
latest MVEBU Armada kernel builds and rootfs
U-Boot & Kernel Booting process
bodhi's u-boot GitHub
bodhi's corner
Re: New uboot and kernel for Pogoplug v3/Pro
September 30, 2013 03:03AM
shv Wrote:
-------------------------------------------------------
> I want to try it but I don't know how to get the
> new uboot and FDT kernel onto my SATA disk.

Can Warhead SATA script be modified to load this uBoot and kernel?

-bodhi
===========================
Wiki
latest Kirkwood kernel builds and rootfs
latest u-boot-kirkwood builds
latest Oxnas kernel builds and rootfs
latest u-boot-oxnas builds
latest MVEBU Armada kernel builds and rootfs
U-Boot & Kernel Booting process
bodhi's u-boot GitHub
bodhi's corner
shv
Re: New uboot and kernel for Pogoplug v3/Pro
September 30, 2013 11:13AM
The WarheadsSE SATA initialization script does the following:
#!/bin/sh

# uncomment line below and set to the correct disk
disk=/dev/sdb

if [ -z "${disk}" ] ; then
   echo "You must uncomment/set the 'disk' variable"
   exit -1
fi

workarea="."

stage1File=$workarea/stage1.wrapped
ubootFile=$workarea/u-boot.wrapped
kernelFile=$workarea/uImage

perl <<EOF | dd of="$disk" bs=512
    print "\x00" x 0x1a4;
    print "\x00\x5f\x01\x00";
    print "\x00\xdf\x00\x00";
    print "\x00\x80\x00\x00";
    print "\x00" x (0x1b0 -0x1a4 -12 );
    print "\x22\x80\x00\x00";
    print "\x22\x00\x00\x00";
    print "\x00\x80\x00\x00";
EOF

if [ -f $stage1File ];then
	echo "Writing stage 1"
	dd if=$stage1File    of="$disk" bs=512 seek=34
fi

if [ -f $ubootFile ];then
	echo "Writing uboot"
	dd if=$ubootFile     of="$disk" bs=512 seek=154
fi

if [ -f $kernelFile ];then
	echo "Writing kernel to "
	dd if=$kernelFile of="$disk"1 bs=512 
fi

The stage file might be comparable to u-boot-spl.bin from kernel.zip. It could be the uboot loader. The kernel.zip file also contains u-boot.bin. But I think that a certain uboot.env file is also necessary for SATA booting.

The kernel.zip file contains 2 files (uImage and ox820.dtb).

So it seams completely different from the previous strategy of SATA booting. If you have a look into releases tags of u-boot and kernel you can see some information how to load them. It seams that u-boot and kernel files are loaded over tftp.
Re: New uboot and kernel for Pogoplug v3/Pro
September 30, 2013 03:41PM
Observation:

Tftp: probably because it's still under testing.
UBoot has default envs, so you might not need separate image.
The dtb file is loaded at the same time with uImage. Probably should be stored where uImage is.
Stage1 is the stage 1 bootloader that bootstraps uBoot image.

-bodhi
===========================
Wiki
latest Kirkwood kernel builds and rootfs
latest u-boot-kirkwood builds
latest Oxnas kernel builds and rootfs
latest u-boot-oxnas builds
latest MVEBU Armada kernel builds and rootfs
U-Boot & Kernel Booting process
bodhi's u-boot GitHub
bodhi's corner



Edited 1 time(s). Last edit at 09/30/2013 03:44PM by bodhi.
shv
Re: New uboot and kernel for Pogoplug v3/Pro
October 01, 2013 05:31AM
I was able to compile the kernel. But to test it with the old uboot I had to set an option (CONFIG_ARM_APPENDED_DTB) and concatenate uImage and dtb file. Becase navym already provided such uImage I tested navyms kernel. The read performance is at maximum (80MB/s) but the write performance is just half of the performance of the 2.6.31.6 kernel (35MB/s).

I compiled the kernel on Ubuntu with Linaro toolchain (apt-get install gcc-arm-linux-gnueabi).

Commands:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- ox820_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- uImage
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- modules_install INSTALL_MOD_PATH=~/ox820



Edited 1 time(s). Last edit at 10/01/2013 05:33AM by shv.
navym
Re: New uboot and kernel for Pogoplug v3/Pro
October 08, 2013 08:00PM
bodhi Wrote:
-------------------------------------------------------
> shv,
>
> I have started to build this uBoot, but not
> successful yet. It seems some config options need
> to be tweaked.
>
> To build non-FDT kernel (based on my experience in
> building the Debian Non-FDT kernels lately)
>
> 1. Look for all config_xxx_dt option, they should
> be "not set". For example,
>
> grep -i _dt config-3.11.1-kirkwood-tld-1 
> 
> # CONFIG_ARCH_KIRKWOOD_DT is not set
> # CONFIG_MACH_CLOUDBOX_DT is not set
> # CONFIG_MACH_DB88F628X_BP_DT is not set
> # CONFIG_MACH_DLINK_KIRKWOOD_DT is not set
> # CONFIG_MACH_DOCKSTAR_DT is not set
> # CONFIG_MACH_DREAMPLUG_DT is not set
> # CONFIG_MACH_GOFLEXNET_DT is not set
> # CONFIG_MACH_GURUPLUG_DT is not set
> # CONFIG_MACH_IB62X0_DT is not set
> # CONFIG_MACH_ICONNECT_DT is not set
> # CONFIG_MACH_INETSPACE_V2_DT is not set
> # CONFIG_MACH_IOMEGA_IX2_200_DT is not set
> # CONFIG_MACH_KM_KIRKWOOD_DT is not set
> # CONFIG_MACH_LSXL_DT is not set
> # CONFIG_MACH_MPLCEC4_DT is not set
> # CONFIG_MACH_NETSPACE_LITE_V2_DT is not set
> # CONFIG_MACH_NETSPACE_MAX_V2_DT is not set
> # CONFIG_MACH_NETSPACE_MINI_V2_DT is not set
> # CONFIG_MACH_NETSPACE_V2_DT is not set
> # CONFIG_MACH_OPENBLOCKS_A6_DT is not set
> # CONFIG_MACH_READYNAS_DT is not set
> # CONFIG_MACH_SHEEVAPLUG_DT is not set
> # CONFIG_MACH_TOPKICK_DT is not set
> # CONFIG_MACH_TS219_DT is not set
>
>
> 2. During buidding kernel, if you see compile
> errors in some init files, that was because the
> source code has changed to FDT. And the fix for it
> is usually trivial. And you will only need to deal
> witht the specific platforms that you're compiling
> for. Ie, if you turn on the config option for
> Oxnas, then you will only need to deal with that
> file.
>
> BTW, are you going to build the kernel natively or
> cross compile? let us know if you can build and
> what command you use.

Any detail about the u-boot's problem, maybe I can help.
Re: New uboot and kernel for Pogoplug v3/Pro
October 09, 2013 12:14AM
Re: New uboot and kernel for Pogoplug v3/Pro
November 24, 2013 04:32AM
Big thanks to navym, again! Highly appreciated!

I just asked him for details and he was nice enought to provide all necessary steps in the archlinux forums:

Quote
navym
https://github.com/kref/linux-oxnas/wik ... the-kernel


to generate old u-boot compatible uImage
ARCH=arm make ox820_defconfig
ARCH=arm make menuconfig
Boot options --->
[*] Use appended device tree blob to zImage (EXPERIMENTAL)
[*] Supplement the appended DTB with traditional ATAG informati
you may also want to disable PCI support if you device does not have one
ARCH=arm make -j8 zImage ox820.dtb
cat arch/arm/boot/zImage arch/arm/boot/dts/ox820.dtb > arch/arm/boot/zImage.fdt
/bin/sh scripts/mkuboot.sh -A arm -O linux -C none -T kernel -a 0x60008000 -e 0x60008000 -n 'Linux-3.11.1+' -d arch/arm/boot/zImage.fdt arch/arm/boot/uImage



build u-boot for nand

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- ox820_nand_config
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j4 all u-boot.img
to generate encoded stage1 from spl/u-boot-spl.bin, you need a small script
basically, it turn each 1 bit to 0x55, 0 bit to 0xAA to alleviate bit flips
https://github.com/wagle/addnas_source/ ... /encode.py
then flash encoded stage1 to 0x0, u-boot.img to 0x40000
Re: New uboot and kernel for Pogoplug v3/Pro
December 02, 2013 03:44AM
Hey all,

I compiled the new kernel and uBoot but now I have no idea how to get them on my sata drive. I thought of just replacing the files stage1.wrapped and u-boot.wrapped in WarheadSE's disk_create script but I don't know how to wrap my files?
Can someone help? :)

EDIT: Nervermind, didn't need the new uBoot for the new kernel

Thank You

crckmc



Edited 1 time(s). Last edit at 12/02/2013 09:03AM by crckmc.
Re: New uboot and kernel for Pogoplug v3/Pro
December 02, 2013 03:25PM
For those wanting to try the 3.12 kernel with a Pogoplug V3 Classic, here is a test version:
http://www.hs-augsburg.de/~ingmar_k/Pogoplug_V3/kernels/3.12.0-ppv3-classic-1.0.tar.bz2
Re: New uboot and kernel for Pogoplug v3/Pro
December 12, 2013 04:44PM
how can I flash this?
Re: New uboot and kernel for Pogoplug v3/Pro
April 28, 2014 05:08AM
Hi,

Does someone still have u-boot and kernel (or source) with device-tree in proc but without dtb support?

I would like to have on to get the device tree directly from the device itself.

Or is there anybody to help me. I dont have dts-file for my OX820 device. How can I make one?



Edited 1 time(s). Last edit at 04/28/2014 05:10AM by tilator.
Re: New uboot and kernel for Pogoplug v3/Pro
April 28, 2014 02:24PM
tilator,

I'm not quite sure I understand your quesiton! Did you compile the kernel, but not sure how to generate the dtb file? Or are you looking for a kernel package and dtb file so you can use?

-bodhi
===========================
Wiki
latest Kirkwood kernel builds and rootfs
latest u-boot-kirkwood builds
latest Oxnas kernel builds and rootfs
latest u-boot-oxnas builds
latest MVEBU Armada kernel builds and rootfs
U-Boot & Kernel Booting process
bodhi's u-boot GitHub
bodhi's corner
Re: New uboot and kernel for Pogoplug v3/Pro
May 09, 2014 07:42AM
bodhi Wrote:
-------------------------------------------------------
> tilator,
>
> I'm not quite sure I understand your quesiton! Did
> you compile the kernel, but not sure how to
> generate the dtb file? Or are you looking for a
> kernel package and dtb file so you can use?

The trouble is I can compile kernel with different options and boot with it, but /proc/device-tree is always empty.

If someone had already a good working kernel that will populate the device tree, I would like to try it.
Re: New uboot and kernel for Pogoplug v3/Pro
May 09, 2014 06:22PM
Re: New uboot and kernel for Pogoplug v3/Pro
May 09, 2014 08:09PM
Author:

Your Email:


Subject:


Spam prevention:
Please, enter the code that you see below in the input field. This is for blocking bots that try to post this form automatically. If the code is hard to read, then just try to guess it right. If you enter the wrong code, a new image is created and you get another chance to enter it right.
Message: