New IT forum
21 June 2018, 11:57:37 pm *
Welcome, %1$s. Please login or register.

: GertDuino now in stock.
 
Pages: [1]

Author Topic: Device Tree Kernel 3.10.0 for Guruplug  (Read 3432 times)

apemberton

  • Full Member
  • ***
  • Posts: 187
Device Tree Kernel 3.10.0 for Guruplug
« on: 08 July 2013, 07:57:00 am »

My three Guruplug Server Plus are now running Device Tree kernel 3.10. although two were very picky about my u-boot settings. The kernel is identical in configuration to that used for my Tonidoplugs (posted above) except that the appropriate .dtb file was attached. I note there are changes to the kernel code for 3.10.0 for Guruplugs. Sheevaplugs are not device tree in stock 3.10.0.

Code: [Select]
login as: root
        _,met$$$$$gg.
     ,g$$$$$$$$$$$$$$$P.
   ,g$$P""       """Y$$.".
  ,$$P'              `$$$.
',$$P       ,ggs.     `$$b:
`d$$'     ,$P"'   .    $$$                               ,#.
 $$P      d$'     ,    $$P      ##:          :##        :###:
 $$:      $$.   -    ,d$$'      ##'          `##         `#'
 $$;      Y$b._   _,d$P'    __  ##     __     ##  __      _     __          _
 Y$$.    `.`"Y$$$$P"'     ,####:##  ,######.  ##.#####. :### ,######. ###.####:
 `$$b      "-.__         ,##' `###  ##:  :##  ###' `###  ##' #:   `## `###' `##:
  `Y$$b                  ##    `##  ##    ##  ##'   `##  ##    ___,##  ##:   `##
   `Y$$.                 ##     ##  #######:  ##     ##  ##  .#######  ##'    ##
     `$$b.               ##     ##  ##'       ##     ##  ##  ##'  `##  ##     ##
       `Y$$b.            ##.   ,##  ##        ##    ,##  ##  ##    ##  ##     ##
         `"Y$b._         :#:._,###  ##:__,##  ##:__,##' ,##. ##.__:##. ##     ##
             `""""       `:#### ###  ######'  `######'  #### `#####"## ##     ##

                           Debian Version jessie/sid
     Linux Version 3.10.0, Compiled #2 PREEMPT Sat Jul 6 20:39:24 BST 2013
              One ARM  Processor, 512M RAM, 1191.11 Bogomips Total
                                 PEMBERTON-NS2



Debian GNU/Linux jessie/sid \n \l

root@ns2.platformtwenty.info's password:
Linux PEMBERTON-NS2 3.10.0 #2 PREEMPT Sat Jul 6 20:39:24 BST 2013 armv5tel

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sun Jul  7 18:33:43 2013 from 192.168.2.10
root@PEMBERTON-NS2:~#

My u-boot settings are as below and I'm aware they are far from optimal!
Code: [Select]
root@PEMBERTON-NS2:/# fw_printenv
U-Boot=2010.12-03502-g0390ab0 (Apr 20 2011 - 09:39:56)
arcNumber=2659
baudrate=115200
bootargs=console=ttyS0,115200n8 base-installer/initramfs-tools/driver-policy=most
bootargs_debian=console=ttyS0,115200 root=/dev/sdb2
bootcmd=run x_bootcmd_usb; run x_bootcmd_disk; setenv bootargs $(bootargs_debian); run bootcmd_nand; bootm 0x00800000 0x01100000
bootdelay=3
eth1addr=02:50:43:34:97:5e
ethact=egiga0
ethaddr=02:50:43:0c:95:90
fileaddr=0x800000
filesize=318F38
ideload=ide reset; sleep 1; ide reset; ext2load ide 0:1 0x6400000 /uImage
if_netconsole=ping $serverip
ipaddr=192.168.2.8
machid=a63
mainlineLinux=yes
preboot=run if_netconsole start_netconsole
serverip=192.168.2.240
start_netconsole=setenv ncip $serverip; setenv stdin nc; setenv stdout nc; setenv stderr nc; version
stderr=serial
stdin=serial
stdout=serial
usbload=usb start; sleep 1; usb start; ext2ls usb 1:1; ext2load usb 1:1 0x6400000 /uImage
x_bootargs=console=ttyS0,115200n8
x_bootargs_bootstrap=console=ttyS0,115200n8 base-installer/initramfs-tools/driver-policy=most
x_bootargs_console=console=ttyS0,115200n8
x_bootargs_disk=root=/dev/sda2 rw rootwait
x_bootargs_root=ubi.mtd=2 root=ubi0:rootfs rootfstype=ubifs
x_bootargs_usb=root=/dev/sdb2 rootdelay=5
x_bootcmd=run x_bootcmd_disk; run x_bootcmd_usb; run x_bootcmd_kernel
x_bootcmd_bootstrap=setenv ipaddr 192.168.2.8; setenv serverip 192.168.2.240; tftpboot 0x6400000 uImage; setenv bootargs $(x_bootargs_bootstrap); bootm 0x6400000
x_bootcmd_disk=setenv bootargs $(x_bootargs_console) $(x_bootargs_disk); run ideload; bootm 0x6400000
x_bootcmd_ethernet=ping 192.168.2.254
x_bootcmd_kernel=setenv bootargs $(x_bootargs_console) $(x_bootargs_root); nand read.e 0x6400000 0x100000 0x400000; bootm 0x6400000
x_bootcmd_network=setenv ethact egiga0; ${x_bootcmd_ethernet}; setenv ethact egiga1; ${x_bootcmd_ethernet}
x_bootcmd_usb=setenv bootargs $(x_bootargs_console) $(x_bootargs_usb); run usbload; bootm 0x6400000
Logged
Tony Pemberton

rray

  • Newbie
  • *
  • Posts: 2
Re: Device Tree Kernel 3.10.0 for Guruplug
« Reply #1 on: 08 July 2013, 06:32:22 pm »

I can not tell what address are you loading the dtb to.
Logged

apemberton

  • Full Member
  • ***
  • Posts: 187
Re: Device Tree Kernel 3.10.0 for Guruplug
« Reply #2 on: 08 July 2013, 07:06:50 pm »

I didn't need to know as I used a bit of cbxbiker's script to join a zImage to a .dtb to create a uImage.

I created a .config file manually from a combination of 'make kirkwood_defconfig' and a previous non-dtb implementation (on a windows machine using WinMerge!). Cbxbikers patches for kirkwood for sheevaplug were applied manually as the patch command threw up an error. Nothing serious but it left out defining MACH_SHEEVAPLUG_DT if memory serves me correctly.

Then 'make menuconfig' to select all the options I wanted.

'make zImage'

'make dtbs'

My segment of scripts I used were as below. Hope these help.
For Guruplug:-
Code: [Select]

cat /kernel/linux-3.10/arch/arm/boot/zImage /kernel/linux-3.10/arch/arm/boot/dts/kirkwood-guruplug-server-plus.dtb > /tmp/zImage.orig

mkimage -A arm -O linux -C none -T kernel -a 0x00008000 -e 0x00008000 -n "Linux-kirkwood-guruplug-server-plus-3.10" -d /tmp/zImage.orig Linux-kirkwood-guruplug-server-plus-3.10-uImage

rm /tmp/zImage.orig


and for TP2:-
Code: [Select]

cat /kernel/linux-3.10/arch/arm/boot/zImage /kernel/linux-3.10/arch/arm/boot/dts/kirkwood-topkick.dtb > /tmp/zImage.orig

mkimage -A arm -O linux -C none -T kernel -a 0x00008000 -e 0x00008000 -n "Linux-kirkwood-topkick-3.10" -d /tmp/zImage.orig Linux-kirkwood-topkick-3.10-uImage

rm /tmp/zImage.orig


Then of course 'make modules' , 'make modules_install'.

All compiled on a esata sheevaplug. Results placed on a USB stick and inserted into each GP+ in turn and manually copied to /mnt/sda1 (/dev/sdb1 formatted as ext2) and /boot (/dev/sdb2 formatted as ext4).

BTW this posting is travelling from my PC via a GP+ set up as a router running 3.10.0 with quagga, so it works.
« Last Edit: 08 July 2013, 07:24:44 pm by apemberton »
Logged
Tony Pemberton
Pages: [1]
 
 

Powered by MySQL Powered by PHP SMF 2.0.10 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!