• Home
  • Help
  • Search
  • Login
  • Register
  Show Posts
Pages: 1 [2] 3
16  Hardware and U-Boot firmware / U-Boot stuff / Re: SheevaPlug: no boot from SDHC after u-boot upgrade to DENX 2012.04.01-2 on: September 09, 2013, 03:13:29 AM
I am still struggling with this u-boot 2013.07 though some issues have become clearer - but not solved. Adding the patch as above will allow 2013.07 to complete but plainly there have been substantial changes to the mmc code as new files mvrl_mmc.c and mvrl_mmc.h have been added to the build. Unfortunately these modules do not seem to be properly integrated as the compilation complains about references to prototypes that are used internally in mvrl_mmc.c viz:-

Code:
In file included from sheevaplug.c:32:0:
/u-boot-2013.07/include/mrvl_mmc.h:256:12: warning: 'mrvl_mmc_setup_data' declared 'static' but never defined [-Wunused-function]
 static int mrvl_mmc_setup_data(struct mmc_data *data);
            ^
/u-boot-2013.07/include/mrvl_mmc.h:257:12: warning: 'mrvl_mmc_send_cmd' declared 'static' but never defined [-Wunused-function]
 static int mrvl_mmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, struct mmc_data *data);
            ^
/u-boot-2013.07/include/mrvl_mmc.h:260:12: warning: 'mrvl_mmc_get_base_clock' declared 'static' but never defined [-Wunused-function]
 static u32 mrvl_mmc_get_base_clock(void);
            ^
/u-boot-2013.07/include/mrvl_mmc.h:261:13: warning: 'mrvl_mmc_set_clk' declared 'static' but never defined [-Wunused-function]
 static void mrvl_mmc_set_clk(uint clock);
             ^
/u-boot-2013.07/include/mrvl_mmc.h:262:13: warning: 'mrvl_mmc_set_bus' declared 'static' but never defined [-Wunused-function]
 static void mrvl_mmc_set_bus(unsigned int bus);
             ^
/u-boot-2013.07/include/mrvl_mmc.h:263:13: warning: 'mrvl_mmc_set_ios' declared 'static' but never defined [-Wunused-function]
 static void mrvl_mmc_set_ios(struct mmc *mmc);
             ^
/u-boot-2013.07/include/mrvl_mmc.h:264:12: warning: 'mrvl_mmc_init' declared 'static' but never defined [-Wunused-function]
 static int mrvl_mmc_init(struct mmc *);
            ^

More importantly, it seems that mmc has unreferenced functions mvsd_power_up , mvsd_power_down and mvsd_mmc_get_base_clock which (I guess) should be called during u-boot initialisation.

Code:
make -C drivers/mmc/
make[1]: Entering directory `/u-boot-2013.07/drivers/mmc'
gcc -M -g  -Os   -ffunction-sections -fdata-sections -fno-common -ffixed-r8 -msoft-float  -D__KERNEL__ -DCONFIG_SYS_TEXT_BASE=0x00600000 -I/u-boot-2013.07/include -fno-builtin -ffreestanding -nostdinc -isystem /usr/lib/gcc/arm-linux-gnueabi/4.8/include -pipe  -DCONFIG_ARM -D__ARM__ -marm -mno-thumb-interwork -mabi=aapcs-linux -march=armv5te   -MQ mmc.o mmc.c >.depend.mmc
gcc -M -g  -Os   -ffunction-sections -fdata-sections -fno-common -ffixed-r8 -msoft-float  -D__KERNEL__ -DCONFIG_SYS_TEXT_BASE=0x00600000 -I/u-boot-2013.07/include -fno-builtin -ffreestanding -nostdinc -isystem /usr/lib/gcc/arm-linux-gnueabi/4.8/include -pipe  -DCONFIG_ARM -D__ARM__ -marm -mno-thumb-interwork -mabi=aapcs-linux -march=armv5te   -MQ mrvl_mmc.o mrvl_mmc.c >.depend.mrvl_mmc
cat /dev/null .depend.mmc .depend.mrvl_mmc >.depend
make[1]: Leaving directory `/u-boot-2013.07/drivers/mmc'
make[1]: Entering directory `/u-boot-2013.07/drivers/mmc'
gcc  -g  -Os   -ffunction-sections -fdata-sections -fno-common -ffixed-r8 -msoft-float  -D__KERNEL__ -DCONFIG_SYS_TEXT_BASE=0x00600000 -I/u-boot-2013.07/include -fno-builtin -ffreestanding -nostdinc -isystem /usr/lib/gcc/arm-linux-gnueabi/4.8/include -pipe  -DCONFIG_ARM -D__ARM__ -marm -mno-thumb-interwork -mabi=aapcs-linux -march=armv5te -Wall -Wstrict-prototypes -fno-stack-protector -Wno-format-nonliteral -Wno-format-security -fstack-usage     -o mmc.o mmc.c -c
gcc  -g  -Os   -ffunction-sections -fdata-sections -fno-common -ffixed-r8 -msoft-float  -D__KERNEL__ -DCONFIG_SYS_TEXT_BASE=0x00600000 -I/u-boot-2013.07/include -fno-builtin -ffreestanding -nostdinc -isystem /usr/lib/gcc/arm-linux-gnueabi/4.8/include -pipe  -DCONFIG_ARM -D__ARM__ -marm -mno-thumb-interwork -mabi=aapcs-linux -march=armv5te -Wall -Wstrict-prototypes -fno-stack-protector -Wno-format-nonliteral -Wno-format-security -fstack-usage     -o mrvl_mmc.o mrvl_mmc.c -c
mrvl_mmc.c:227:13: warning: 'mvsd_power_up' defined but not used [-Wunused-function]
 static void mvsd_power_up(void)
             ^
mrvl_mmc.c:250:13: warning: 'mvsd_power_down' defined but not used [-Wunused-function]
 static void mvsd_power_down(void)
             ^
mrvl_mmc.c:273:12: warning: 'mrvl_mmc_get_base_clock' defined but not used [-Wunused-function]
 static u32 mrvl_mmc_get_base_clock(void)
            ^
ld.bfd  -r -o libmmc.o  mmc.o mrvl_mmc.o
make[1]: Leaving directory `/u-boot-2013.07/drivers/mmc'

I wish the u-boot documentation were better for people not 'in the know' as finding out what to do and the current status of patches seem to be unclear (at least to me). There are many references to the mmc patches but I can't see success stories yet. Is there something going wrong in u-boot patch testing (and indeed device tree kernels) as 'approved' code and patches should work 'out of the box'.

I am also trying to integrate the ext4 filesystem so that I don't have a legacy ext2 partition for booting uImage.
17  Linux Stuff / Kernel / Re: 3.9.0+ Device-tree kernels on: September 01, 2013, 08:16:55 AM
Although I have the cbxbiker kernel 3.10.9 working on my Sheevaplugs, eSata-Sheevaplugs, Guruplugs, Cubox's and Tonidoplug 2's, there is still a problem with the console port (as seen previously). I copy a posting I made on the NewIT forum which shows my progress so far:-

Quote
I am feeling a bit foolish as I thought the sheevaplug that didn't appear to boot does in fact boot successfully - I have 3.10.9 operating now. It is still the case that the boot sequence at the console port stops displaying just after kernel decompression stage. However ssh'ing into the plug works fine and I have seen the dmesg log which doesn't indicate problems with the console so far as I can see. I have a feeling the problem is with u-boot settings but advice would be welcome. Just for info:-

Code:
root@debian:/# dmesg
Booting Linux on physical CPU 0x0
Initializing cgroup subsys cpu
Initializing cgroup subsys cpuacct
Linux version 3.10.9 (kelly@bbb.internal) (gcc version 4.8.2 20130624 (prerelease) (Linaro GCC 4.8-2013.07) ) #2 Tue Aug 20 17:51:42 MDT 2013
CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=00053977
CPU: VIVT data cache, VIVT instruction cache
Machine: Marvell Kirkwood (Flattened Device Tree), model: Globalscale Technologies eSATA SheevaPlug
Memory policy: ECC disabled, Data cache writeback
On node 0 totalpages: 131072
free_area_init_node: node 0, pgdat c06b5b44, node_mem_map c090c000
  Normal zone: 1024 pages used for memmap
  Normal zone: 0 pages reserved
  Normal zone: 131072 pages, LIFO batch:31
pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
pcpu-alloc: [0] 0
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 130048
Kernel command line: console=ttyS0,115200n8 root=/dev/sda2 rw rootwait panic=5
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 512MB = 512MB total
Memory: 512464k/512464k available, 11824k reserved, 0K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    vmalloc : 0xe0800000 - 0xff000000   ( 488 MB)
    lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
    modules : 0xbf000000 - 0xc0000000   (  16 MB)
      .text : 0xc0008000 - 0xc062e59c   (6298 kB)
      .init : 0xc062f000 - 0xc066c9b4   ( 247 kB)
      .data : 0xc066e000 - 0xc06ba2b0   ( 305 kB)
       .bss : 0xc06ba2b0 - 0xc0718248   ( 376 kB)
SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
NR_IRQS:114
sched_clock: 32 bits at 200MHz, resolution 5ns, wraps every 21474ms
Console: colour dummy device 80x30
Calibrating delay loop... 1191.11 BogoMIPS (lpj=5955584)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
Initializing cgroup subsys devices
Initializing cgroup subsys freezer
Initializing cgroup subsys blkio
CPU: Testing write buffer coherency: ok
Setting up static identity map for 0xc04903b8 - 0xc04903f4
devtmpfs: initialized
pinctrl core: initialized pinctrl subsystem
regulator-dummy: no parameters
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
Kirkwood: MV88F6281-A0, TCLK=200000000.
Feroceon L2: Enabling L2
Feroceon L2: Cache support initialised.
bio: create slab <bio-0> at 0
USB Power: Failed to request enable GPIO29: -517
reg-fixed-voltage 1.regulator: Failed to register regulator: -517
platform 1.regulator: Driver reg-fixed-voltage requests probe deferral
vgaarb: loaded
SCSI subsystem initialized
libata version 3.00 loaded.
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Switching to clocksource orion_clocksource
FS-Cache: Loaded
NET: Registered protocol family 2
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP: reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
PCI: CLS 0 bytes, default 32
FS-Cache: Netfs 'nfs' registered for caching
NFS: Registering the id_resolver key type
Key type id_resolver registered
Key type id_legacy registered
jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
JFS: nTxBlock = 4003, nTxLock = 32029
msgmni has been set to 1000
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
kirkwood-pinctrl f1010000.pinctrl: registered pinctrl driver
mv_xor f1060800.xor: Marvell shared XOR driver
mv_xor f1060800.xor: Marvell XOR: ( xor cpy )
mv_xor f1060800.xor: Marvell XOR: ( xor fill cpy )
mv_xor f1060900.xor: Marvell shared XOR driver
mv_xor f1060900.xor: Marvell XOR: ( xor cpy )
mv_xor f1060900.xor: Marvell XOR: ( xor fill cpy )
Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
brd: module loaded
loop: module loaded
sata_mv f1080000.sata: version 1.28
sata_mv f1080000.sata: slots 32 ports 2
scsi0 : sata_mv
scsi1 : sata_mv
ata1: SATA max UDMA/133 irq 21
ata2: SATA max UDMA/133 irq 21
NAND device: Manufacturer ID: 0xec, Chip ID: 0xdc (Samsung NAND 512MiB 3,3V 8-bit), 512MiB, page size: 2048, OOB size: 64
Scanning device for bad blocks
Bad eraseblock 326 at 0x0000028c0000
Bad eraseblock 2247 at 0x0000118e0000
Bad eraseblock 3112 at 0x000018500000
3 ofpart partitions found on MTD device orion_nand
Creating 3 MTD partitions on "orion_nand":
0x000000000000-0x000000100000 : "u-boot"
0x000000100000-0x000000500000 : "uImage"
0x000000500000-0x000020000000 : "root"
libphy: orion_mdio_bus: probed
mv643xx_eth: MV-643xx 10/100/1000 ethernet driver version 1.4
mv643xx_eth_port mv643xx_eth_port.0 eth0: port 0 with MAC address 00:50:43:01:4d:07
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-pci: EHCI PCI platform driver
ehci-orion: EHCI orion driver
orion-ehci f1050000.ehci: EHCI Host Controller
orion-ehci f1050000.ehci: new USB bus registered, assigned bus number 1
orion-ehci f1050000.ehci: irq 19, io mem 0xf1050000
orion-ehci f1050000.ehci: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
usbcore: registered new interface driver usb-storage
usbcore: registered new interface driver ums-cypress
usbcore: registered new interface driver ums-datafab
usbcore: registered new interface driver ums-freecom
usbcore: registered new interface driver ums-jumpshot
usbcore: registered new interface driver ums-sddr09
usbcore: registered new interface driver ums-sddr55
mousedev: PS/2 mouse device common for all mice
rtc-mv f1010300.rtc: rtc core: registered f1010300.rtc as rtc0
i2c /dev entries driver
cpuidle: using governor ladder
cpuidle: using governor menu
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
mvsdio f1090000.mvsdio: using GPIO 44 for card detection
sdhci-pltfm: SDHCI platform and OF driver helper
leds-gpio gpio-leds.2: pins are not configured from the driver
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
zram: Created 1 device(s) ...
TCP: cubic registered
NET: Registered protocol family 10
NET: Registered protocol family 17
Key type dns_resolver registered
registered taskstats version 1
USB Power: 5000 mV
rtc-mv f1010300.rtc: setting system clock to 2013-08-21 22:04:34 UTC (1377122674)
Warning: unable to open an initial console.
ata1: SATA link down (SStatus 0 SControl F300)
usb 1-1: new high-speed USB device number 2 using orion-ehci
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 4 ports detected
usb 1-1.3: new high-speed USB device number 3 using orion-ehci
ata2: SATA link up 3.0 Gbps (SStatus 123 SControl F300)
ata2.00: ATA-8: ST9250827AS, 3.AHC, max UDMA/100
ata2.00: 488397168 sectors, multi 0: LBA48 NCQ (depth 31/32)
ata2.00: configured for UDMA/100
scsi 1:0:0:0: Direct-Access     ATA      ST9250827AS      3.AH PQ: 0 ANSI: 5
sd 1:0:0:0: [sda] 488397168 512-byte logical blocks: (250 GB/232 GiB)
sd 1:0:0:0: [sda] Write Protect is off
sd 1:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 1:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sd 1:0:0:0: Attached scsi generic sg0 type 0
hub 1-1.3:1.0: USB hub found
hub 1-1.3:1.0: 4 ports detected
 sda: sda1 sda2
sd 1:0:0:0: [sda] Attached SCSI disk
EXT3-fs (sda2): error: couldn't mount because of unsupported optional features (240)
EXT2-fs (sda2): error: couldn't mount because of unsupported optional features (240)
EXT4-fs (sda2): mounted filesystem with ordered data mode. Opts: (null)
VFS: Mounted root (ext4 filesystem) on device 8:2.
devtmpfs: mounted
Freeing unused kernel memory: 244K (c062f000 - c066c000)
usb 1-1.3.3: new high-speed USB device number 4 using orion-ehci
hub 1-1.3.3:1.0: USB hub found
hub 1-1.3.3:1.0: 4 ports detected
udevd[786]: starting version 175
orion_wdt: Initial timeout 21 sec
EXT4-fs (sda2): re-mounted. Opts: (null)
EXT4-fs (sda2): re-mounted. Opts: (null)
Adding 1048572k swap on /var/cache/swap/swapfile.  Priority:-1 extents:20 across:1990652k FS
fuse init (API version 7.22)
mv643xx_eth_port mv643xx_eth_port.0 eth0: link down
IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
mv643xx_eth_port mv643xx_eth_port.0 eth0: link up, 1000 Mb/s, full duplex, flow control disabled
IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

It was pointed out to me that:-

Quote
Your log has
Quote
Warning: unable to open an initial console.
But no mention of
Code:
Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0xf1012000 (irq = 33) is a 16550A
console [ttyS0] enabled

Check your kernel configuration


Further investigation shows:-

Quote

Yes, the missing lines are a clue. Incidentally, I am using the cbxbiker/xilka kernel 3.10.9 without modification.

The current dmesg does show
Code:
Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled

but not the rest.

I had a brief look at the config files for both 3.7.7 and 3.10.9 as per /proc/config.gz but so far I do not see differences for the 8250 or console settings.

Since the 3.7.7 is non-DT while 3.9.7 onward is DT, I am wondering if there is a dtb patch issue. But that doesn't really explain why the console on my other eSata sheevaplugs running DT 3.9.7 do not have a problem.

Anyway, now I know what is happening, I can sideline the problem and concentrate on other projects such as getting my Pi's to monitor my doors and get some motorised radiator valves before the cold weather comes. I also need to rebuild the guruplugs with external power, heatsinks and the DS18B00 temp monitor. Then I need to cut the grass, do the washing, feed the cats..... Cheesy

Next day.....

OK I have performed updates to dtb kernel 3.10.9 on Tonidoplugs and a guruplug as well as the other esata and non esata sheevaplugs courtesy of cbxbiker's xilka kernels. It seems that all reboot into Debian and work although the TP2's and GP needs to be rebooted from a power off.  However it seems that the console output stops after the kernel decompression statement as before on all devices. After ssl connecting, I can see the dmesg shows the 'serial: 8250/16550 driver......' line but not the following two console lines. Looking at the syslog, I see periodic
Code:
init: Id "T0" respawning too fast: disabled for 5 minutes
which is an error which can be turned off by commenting out the line
Code:
T0:23:respawn:/sbin/getty -L ttyS0 115200 linux
in /etc/inittab. I am therefore of the opinion that there is something wrong with the device tree code concerning the console (I don't think netconsole is configured or compiled judging by /proc/config.gz) code and patches. Further, I think the device tree reboot/reset has a problem with Guruplugs and TP2's.

I also had to modify the UPDATE_KERNEL.sh for Tonidoplug and Guruplug since there are mismatches between the entries in /proc/device-tree/model and the script which is not altogether surprising as it is unlikely that cbxbiker has all the variants of hardware!

I will post a summary on the plugcomputer forum in due course.

One week later (01SEP/2013)....

Having installed cbxbiker's device tree kernel on Sheevaplugs, eSata-Sheevaplugs, Guruplugs, Cuboxes and Tonido2's, I can say that they all suffer from the same kernel problem in that there is no serial console output after kernel decompression (although obviously, as the kernel works, compression is not the problem). Observation shows that they all reported the T0 problem in the syslog as above. It also seems that the kernel will not complete the boot process on Sheevaplugs and Guruplugs unless a device is connected to the console port - which is a bit of a nuisance (understatement). I havn't seen any correspondence elsewhere about this problem though it must be said that 3.10.9 is quite recent and thus not many comments about this are likely. I also confess to not having searched the web in detail either. I am not convinced that u-boot has anything to do with this as I'm running different versions from a 2009.? to a 2013.07 ( on Cubox's which can boot from an ext4 formatted disk).

If anybody has info on this problem, or where to find it, I would be grateful.

18  Linux Stuff / Kernel / Re: Typo in the update script! on: September 01, 2013, 05:13:13 AM
Apart from the typo above, I also have a typo issue with the update script which could not be predicted if cbxbiker does not possess the hardware to test. In my case, both Guruplug and Tonidoplug 2 needed correction to install a device tree kernel. My script has been modified as:-
Code:
if [[ $Arch == armv5tel ]]; then
        Platform='kirkwood'
        if grep -qs 'SheevaPlug' /proc/cpuinfo || grep -qs 'SheevaPlug' /proc/device-tree/model; then
                AssumedDevice='sheevaplug'
                if grep -qs 'eSATA' /proc/device-tree/model; then
                        AssumedDevice='sheevaplug-esata'
                fi
                CHECK_PROGRAMS="$CHECK_PROGRAMS $MKIMAGE $FLASH_ERASEALL $FLASH_ERASE"
        elif grep -qs 'GuruPlug' /proc/cpuinfo || grep -qs 'GuruPlug' /proc/device-tree/model; then
                AssumedDevice='guruplug-server-plus'
                CHECK_PROGRAMS="$CHECK_PROGRAMS $MKIMAGE $FLASH_ERASEALL $FLASH_ERASE"
        elif grep -qs 'Tonido2' /proc/cpuinfo || grep -qs 'Topkick' /proc/device-tree/model; then
                AssumedDevice='topkick'
                CHECK_PROGRAMS="$CHECK_PROGRAMS $MKIMAGE $FLASH_ERASEALL $FLASH_ERASE"
        fi
elif [[ $Arch == armv7l ]]; then
        Platform='dove'
        if grep -qs 'CuBox' /proc/cpuinfo || grep -qs 'CuBox' /proc/device-tree/model; then
                AssumedDevice='cubox'
        fi
        CHECK_PROGRAMS="$CHECK_PROGRAMS $MKIMAGE"
elif [[ $Arch == armv6l ]] && grep -qs 'BCM2708' '/proc/cpuinfo'; then
        Platform='pi'
        AssumedDevice='pi'
else
        "Unknown architecture: $Arch"
        exit 1
fi

I have used the script to successfully install 3.10.9 to sheevaplugs (eSata and non-eSata), Cubox, Tonidoplg 2, guruplugs (albeit all have a common problem with the console during booting). Hope that helps!

19  Hardware and U-Boot firmware / U-Boot stuff / Re: SheevaPlug: no boot from SDHC after u-boot upgrade to DENX 2012.04.01-2 on: August 08, 2013, 12:49:09 AM
I did a compile of u-boot-2013.07 without the patch and at least it ran on an esata sheevaplug but as there is no ide built in, that was no use to me.

I am about to try using the patch as above so I will have a look. I had a brief look at the patch and I note that the u-boot environment appears to start at 0x80000 rather than 0x60000 as my previous u-boot (2012.04). Whether this has an impact on functioning of u-boot I'm not sure. My real problem is booting of a .dtb kernel (3.9.7 in this case) which will not boot on one out of three eSata sheevaplugs. An old kernel 3.7.7 which I had compiled myself does work on the one that won't boot with a .dtb kernel! Weird!!

Anyway, if I have success, I'll post again.
20  Linux Stuff / Kernel / Re: 3.9.0+ Device-tree kernels on: July 07, 2013, 11:24:40 AM
And further to the above, two of my three Guruplug Server Plus are now running 3.10 although one was very picky about my u-boot settings. I noted there were changes to the kernel code for 3.10 for Guruplugs. Sheevaplugs are not device tree in stock 3.10.

Code:
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

21  Linux Stuff / Kernel / Re: 3.9.0+ Device-tree kernels on: July 07, 2013, 05:03:54 AM
At Last! I have finally got a working device tree kernel for my TP2's!

Code:
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, 789.70 Bogomips Total
                                      MX2



Debian GNU/Linux jessie/sid \n \l

root@mx2.platformtwenty.info's password:
Linux MX2 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 12:07:11 2013
root@MX2:~# cd /


I have not had to make code patches or changes for TP2 and the u-boot remains as stock (1.1.4 basically). There are far too many modules in my implementation but as I'm booting from a 1TB drive, space isn't really an issue. Next up is my Guruplugs.

Not sure about how to post or mail my config file.
22  Linux Stuff / Kernel / Re: 3.9.0+ Device-tree kernels on: June 22, 2013, 02:57:59 AM
@cbxbiker Thanks for your continuing work here.

I have been trying to get the xilka kernel 3.9.7 loaded on to a Guruplug Server Plus and a Tonidoplug (topkick booting from SATA) without success. The kernel hangs at the kernel decompression point in both cases. The Guruplug is running u-boot 2012.10 but the Tonidoplug only has a verion of 1.1.4. At this point, I have no idea why the systems hang while booting as there isn't any reason for failure. The .dtb files for guruplug-server-plus and topkick on the xilka site were used.

I have successfully loaded and run 3.9.7 on an eSATA Sheevaplug. I used a modified version of the UPDATE_KERNEL.sh script file as below:-

Code:
if [[ $Arch == armv5tel ]]; then
Platform='kirkwood'
if grep -qs 'SheevaPlug' /proc/cpuinfo || grep -qs 'SheevaPlug' /proc/device-tree/model; then
AssumedDevice='sheevaplug'
if grep -qs 'eSATA' /proc/cpuinfo || grep -qs 'eSATA' /proc/device-tree/model; then
AssumedDevice='sheevaplug-esata'
fi
CHECK_PROGRAMS="$CHECK_PROGRAMS $MKIMAGE $FLASH_ERASEALL $FLASH_ERASE"
elif grep -qs 'GuruPlug' /proc/cpuinfo || grep -qs 'GuruPlug' /proc/device-tree/model; then
AssumedDevice='guruplug-server-plus'
CHECK_PROGRAMS="$CHECK_PROGRAMS $MKIMAGE $FLASH_ERASEALL $FLASH_ERASE"
elif grep -qs 'Tonido2' /proc/cpuinfo || grep -qs 'Tonido2' /proc/device-tree/model; then
AssumedDevice='topkick'
CHECK_PROGRAMS="$CHECK_PROGRAMS $MKIMAGE $FLASH_ERASEALL $FLASH_ERASE"
fi
elif [[ $Arch == armv7l ]]; then
Platform='dove'
if grep -qs 'CuBox' /proc/cpuinfo || grep -qs 'CuBox' /proc/device-tree/model; then
AssumedDevice='cubox'
fi
CHECK_PROGRAMS="$CHECK_PROGRAMS $MKIMAGE"
elif [[ $Arch == armv6l ]] && grep -qs 'BCM2708' '/proc/cpuinfo'; then
Platform='pi'
AssumedDevice='pi'
else
"Unknown architecture: $Arch"
exit 1
fi

echo "$AssumedDevice"

The zImage to uImage build seems to work without error but obviously something is wrong with either the way I am doing things or issues with the .dtb files. Has anyone succeded with Tonidoplug2 or Guruplug implementations of Flattened device tree kernels?

Advice would be welcome.

For the time being, I shall stick to raspbian for my 'pi's.
23  Linux Stuff / Kernel / Re: 3.9.0+ Device-tree kernels on: May 16, 2013, 01:30:55 AM
@cbxbiker, Yes, of course, you are right as I now see. I should have thought a bit longer as booting the kernel halted after loading it and never got to do anything after. Silly really.

I have now loaded your 3.9.2 kernels for an eSata and a SDHC based Sheevaplugs and they work. It still seems a shame that different .dtb files are needed depending on whether a disk or SDHC is used to boot from. Despite these working, I will still try rolling my own so I understand what is going on - plus I will need bit bashed 1-Wire on my Guruplugs in the not too far distant future.

A nice, easy to read tutorial on .dtb would be welcome (though I havn't looked at the devicetree.org site lately). Onward and upward!

24  Linux Stuff / Kernel / Re: 3.9.0+ Device-tree kernels on: May 15, 2013, 10:38:12 AM
Well I tried the precompiled 3.9.2 kernel on my compiler/test eSata Sheevaplug using the script but my system did not boot. It loaded the uImage but then failed to load. I am pretty sure that the problem is that I am using EXT4 on root (/dev/sda1) and by default, I see that EXT4 is not set up either as a module or builtin.

Therefore, I am starting to build a 3.9.2 kernel with Device Tree from scratch! Its edukayshun innit!
25  Linux Stuff / Kernel / Re: 3.9.0+ Device-tree kernels on: May 15, 2013, 04:51:25 AM
@cbxbiker Many thanks for that.  Smiley I'll have a tinker later when I get a couple of hours.

I had a look at your site and see there are many patches that I had not seen previously so there is some 'reading' I have to do. Keep up the good work!

I still need to get to grips with Device Trees for my own satisfaction (its the old geek in me I guess) and other embedded hardware I wish to develop.
26  Linux Stuff / Kernel / Re: 3.9.0+ Device-tree kernels on: May 14, 2013, 01:33:08 AM
Yes the same uImage. I really do not want to use different kernel variants for my Sheevaplugs depending on the type of storage used. The built xilka kernels (at least the last time I looked at the xilka .config files) still treated eSata as a module and thus would not boot from disk as I want.

Although I havn't checked yet, yes, I think my problem is  use of .dtb (flattened device tree) files for hardware in the new kernel. Taking the .config (/proc/config.gz) file from an older kernel, not using fdt, will try and use the old style hardware setup. As the SDIO is (I think) now set up in fdt, there plainly is an incompatability. With eSata, it does not seem to matter. Obviously this is something I will have to check. As I also want to get newer kernels for Tonidoplug2 (Topkick) and previously had no success with the fdt version, I will have to see how these work in 3.9+. I will also try and understand the use of fdt in u-boot and kernel as documentation is a bit scattered in my opinion.

27  Linux Stuff / Kernel / Re: 3.9.0+ Device-tree kernels on: May 13, 2013, 01:34:35 AM
I have also compiled 3.9.1 for my sheevaplugs with mixed results. Three of my Sheevaplugs use eSata to boot from and 3.9.1 works fine. However I tried the same kernel on a SD card based Sheevaplug and that failed when setting up the sdio subsytem. If I had known, I should have saved the console output but I needed to return the 'plug to service ASAP so reverted to an older kernel. I did notice that the console output differed around the sdio setup between 3.6.10 and 3.9.1. I am using a newer u-boot (2012-??) than stock. I don't think Sheevaplugs use flattened device tree yet (though it seems that Guruplugs may do so). I used the cbxbiker patches (3) and used 'make oldconfig' taking the current '/proc/config.gz' as a base.

So from my limited knowledge, I would say there is a problem with the Marvell sdio in the 3.9+ kernels and looking at the kernel changelogs, plainly there are changes afoot in that area. I think someone has to get the right combination of configuration, modules and possibly code changes in the sdio area to get Sheevaplugs working with 3.9+ kernels.
28  Linux Stuff / General Linux questions / Re: 3TB Disk Woes on: April 20, 2013, 05:15:34 AM
I may be wrong, but with a 2.6.30 kernel, I think the size limit is 2.2TB. Is this possibly a cause?
29  Linux Stuff / General Linux questions / Re: [SheevaPlug] Which distro to upgrade to? Running Freeswitch? on: February 22, 2012, 11:21:44 AM
I am currently working on FusionPBX as a GUI front end to Freeswitch configuration.

I would not recommend using the FusionPBX/Freeswitch installation shell file 'install_fusionpbx.sh' as indicated in the wiki as it makes quite a lot of assumptions. However looking at the script does help set up things. I am using mysql so I was initially having problems because I had not installed php5-mysql.

Converting from hand crafted .xml configuration files to mysql database is not straightforward. Esentially, FusionPBX sets up the mysql database with default values and that WILL clobber freeswitch's .xml configuration files, so be sure to take an up to date copy of your /usr/local/freeswitch/conf directory. It will be needed to examine your working variables and writing them into the database. I also use Webmin to manually change the mysql Fusionpbx database tables where that is more appropriate.

A very tedious procedure but when done, FusionPBX will make Freeswitch easier to manage and it is a great pity there is not a simple way to provide custom data into the fusionpbx database.
30  Hardware and U-Boot firmware / U-Boot stuff / Re: DENX u-boot and sheeva-uboot-envtools on: February 22, 2012, 11:03:14 AM
I have compiled and am using the DENX u-boot for Sheevaplug and Guruplugs. The version I compiled was u-boot-2011.06 and I do not recall patching anything as the variants already have a config file for them. I also confirm that the environmemt variables have moved as above post and modifying the fw_env.config file as above fixes the problem. Note that arcNumber becomes machid and is in hexadecimal rather than decimal.
Pages: 1 [2] 3