Quantcast
Channel: Linux Device Hacking
Viewing all articles
Browse latest Browse all 47002

Linux Kernel 3.12.13 Pogo V3 (Oxnas OX820) package and rootfs (Flattened Device Tree)

$
0
0
My latest FDT kernel package and rootfs for Pogoplug Pro V3 (with PCI).

With this kernel we can run the Pogo Pro V3 boxes with either old U-Boot version (stock U-Boot and its variants) or the latest U-Boot (e.g. 2013.10).

Background:
Booting Debian on Pogoplug Pro,
New uboot and kernel for Pogoplug v3/Pro


Requirements: Pogoplug Pro V3 running Debian rootfs.
Recommended: working serial console has been connected and tested.


Latest kernel: linux-3.12.13-oxnas-tld-4.2-bodhi.tar.bz2 (09 May 2014)
Latest rootfs: TBD

==============================================================

Updated 09 May 2014:

Kernel linux-3.12.13-oxnas-tld-4.2 package was uploaded.

Download at Dropbox:
linux-3.12.13-oxnas-tld-4.2-bodhi.tar.bz2
md5:
ddf820216c7be59740962a1011db2913

This tarball contains 4 files:

linux-image-3.12.13-oxnas-tld-4.2_4.2_armel.deb
zImage.3.12.13-oxnas-tld-4.2
config-3.12.13-oxnas-tld-4.2
ox820-pogoplug-pro.dtb

INSTALLATION:

1. Installation to run with new U-Boot in NAND (see new U-Boot thread here)

- Backup your rootfs to another USB stick or HDD.

- Boot into your Pogo V3 and change directory to:
cd /boot

- Backup your current uImage and uInitrd (if there is any). In the /boot directory, these are files for your current kernel (xx.xx.xx is the version number):
uInitrd
uImage
initrd.img-xx.xx.xx-kirkwood
System.map-xx.xx.xx-kirkwood
vmlinuz-xx.xx.xx-kirkwood
config-xx.xx.xx-kirkwood

- Extract the kernel in the archive:
tar -xjf linux-3.12.13-oxnas-tld-4.2-bodhi.tar.bz2

- Create a dts directory for the dtb (just for organization purpose)
mkdir dts
mv ox820-pogoplug-pro.dtb dts/

- And install it with dpkg. If you encounter error with flash-kernel when running dpkg, then remove flash-kernel first to avoid potential problem (It is much better to generate uImage and uInitrd manually anyway):
apt-get remove flash-kernel 
dpkg -i linux-3.12.13-oxnas-tld-4.2-bodhi.tar.bz2

- Create uImage and uInitrd manually:
mkimage -A arm -O linux -T kernel -C none -a 0x60008000 -e 0x60008000 -n Linux-3.12.13-oxnas-tld-4.2 -d /boot/vmlinuz-3.12.13-oxnas-tld-4.2 /boot/uImage
mkimage -A arm -O linux -T ramdisk -C gzip -a 0x60000000 -e 0x60000000 -n initramfs-3.12.13-oxnas-tld-4.2  -d /boot/initrd.img-3.12.13-oxnas-tld-4.2 /boot/uInitrd

- Setup U-Boot envs:

Disclaimer: The following U-Boot envs settings are recommendation only. If you don't have serial console connected, please do not attempt. Be aware that changing U-Boot env settings to the wrong values will lock you out of the box until you can connect a serial console.

Your booting envs should look like below. These are only for demonstration for the correct load addresses (not to be cut/paste as is). However these are my current u-boot envs.
dt_usb_set_bootargs=setenv bootargs console=ttyS0,115200 root=/dev/sda1  rootwait
dt_bootm=bootm 0x60500000 0x60a00000 0x61c00000
dt_load_initrd=ext2load usb 0:1 0x60a00000 /boot/uInitrd
dt_load_uimage=ext2load usb 0:1 0x60500000 /boot/uImage
dt_load_dtb=ext2load usb 0:1 0x61c00000  /boot/dts/ox820-pogoplug-pro.dtb
dt_usb_boot=run dt_load_uimage; run dt_load_initrd; run dt_load_dtb; run dt_bootm
dt_usb_bootcmd=run dt_usb_set_bootargs; run dt_usb_boot
dt_bootcmd_usb=usb start; run dt_usb_bootcmd; usb stop; reset

- Sync and reboot. Double check your u-boot envs, make sure there is no error. Connect serial console/netconsole and monitor the boot log.
sync
reboot

2. Installation to run with stock U-Boot in NAND

TBD.

Viewing all articles
Browse latest Browse all 47002

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>