And more...

Begin forwarded message:

From: Liviu Dudau <Liviu.Dudau@arm.com>
Subject: Re: Android failing to mount properly
Date: 14 February 2013 12:53:23 GMT
To: Dean Arnold <Dean.Arnold@arm.com>
Cc: Dave Pigott <dave.pigott@linaro.org>

Hi Dave,

The script is trying to edit the partition table so that it take into account the fact that the master image also has some partitions on that SD card.

Unfortunately, the file it is trying to edit (init.rc) is wrong. The partition table information has not been stored there for a while, but in a file that used to be called fstab.partitions and now in the new image is called fstab.arm-versatileexpress for Versatile Express boards.

We need an updated LAVA script that does the sed editing of the partition table on the correct file.

Best regards,
Liviu

On Thu, Feb 14, 2013 at 12:28:30PM +0000, Dean Arnold wrote:
Hi Dave,

I have attached a log of our failing job alongside the tinkering Liviu was doing with the initrd on the board itself.

We have used the boot.tar.bz2 file from this build: http://snapshots.linaro.org/android/~linaro-android/vexpress-linaro-mp/lastSuccessful and replaced the kernel.  We have not touched the initrd.

Liviu, could you explain to Dave what you think is going wrong please?

Cheers
Dean

* Documentation:  https://wiki.linaro.org/
root@master:~#
root@master:~# fdisk -l /dev/mmcblk0
mmcblk0    mmcblk0p2  mmcblk0p4  mmcblk0p6
mmcblk0p1  mmcblk0p3  mmcblk0p5  mmcblk0p7
root@master:~# fdisk -l /dev/mmcblk0

Disk /dev/mmcblk0: 15.9 GB, 15931539456 bytes
4 heads, 16 sectors/track, 486192 cylinders, total 31116288 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

       Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1   *        8192      114687       53248    e  W95 FAT16 (LBA)
/dev/mmcblk0p2          114688     2097151      991232   83  Linux
/dev/mmcblk0p3         2097152     2228223       65536    c  W95 FAT32 (LBA)
/dev/mmcblk0p4         2228224    31116287    14444032    5  Extended
/dev/mmcblk0p5         2230272    10618879     4194304   83  Linux
/dev/mmcblk0p6        10620928    14815231     2097152   83  Linux
/dev/mmcblk0p7        14817280    31116287     8149504    c  W95 FAT32 (LBA)
root@master:~# ls /tmp/
root@master:~# ls /mnt/lava/boot/
root@master:~# mount /dev/disk/by-label/testboot /mnt/lava/boot
root@master:~# ls /mnt/lava/boot/
cmdline                  u-boot_v2p-ca9.bin     uefi_v2p-ca9.bin
config                   uImage                 v2p-ca15-tc1.dtb
initrd                   uInitrd                v2p-ca15-tc2.dtb
rtsm                     uefi_v2p-ca15-tc1.bin  v2p-ca5s.dtb
u-boot_v2p-ca15-tc1.bin  uefi_v2p-ca15-tc2.bin  v2p-ca9.dtb
u-boot_v2p-ca5s.bin      uefi_v2p-ca5s.bin      zImage
root@master:~# ls tm
ls: cannot access tm: No such file or directory
root@master:~# ls ~/tm
ls: cannot access /root/tm: No such file or directory
root@master:~# ls /tmp/
root@master:~# dd if=/mnt/lava/boot/uInitrd of=/tmp/initrd.data bs=64 skip=1
3540+1 records in
3540+1 records out
226572 bytes (227 kB) copied, 0.944946 s, 240 kB/s
root@master:~# cd /tmp/
root@master:/tmp# lsl
-bash: lsl: command not found
root@master:/tmp# ls -al
total 232
drwxrwxrwt  2 root root   4096 Feb 14 11:46 .
drwxr-xr-x 23 root root   4096 Oct 12 08:30 ..
-rw-r--r--  1 root root 226572 Feb 14 11:46 initrd.data
root@master:/tmp# gunzip -c -f initrd.data | cpio -i
755 blocks
root@master:/tmp# ls -al
total 484
drwxrwxrwt  8 root root   4096 Feb 14 11:49 .
drwxr-xr-x 23 root root   4096 Oct 12 08:30 ..
drwxrwx--x  2 root root   4096 Feb 14 11:49 data
-rw-r--r--  1 root root    116 Feb 14 11:49 default.prop
drwxr-xr-x  2 root root   4096 Feb 14 11:49 dev
-rw-r-----  1 root root    688 Feb 14 11:49 fstab.arm-versatileexpress
-rw-r-----  1 root root    688 Feb 14 11:49 fstab.v2p-aarch64
-rwxr-x---  1 root root 129908 Feb 14 11:49 init
-rwxr-x---  1 root root   1744 Feb 14 11:49 init.arm-versatileexpress.rc
-rwxr-x---  1 root root   2487 Feb 14 11:49 init.goldfish.rc
-rwxr-x---  1 root root  21091 Feb 14 11:49 init.rc
-rwxr-x---  1 root root   1795 Feb 14 11:49 init.trace.rc
-rwxr-x---  1 root root   3915 Feb 14 11:49 init.usb.rc
-rwxr-x---  1 root root   1595 Feb 14 11:49 init.v2p-aarch64.rc
-rwxr-x---  1 root root  27288 Feb 14 11:49 initlogo.rle
-rw-r--r--  1 root root 226572 Feb 14 11:46 initrd.data
drwxr-xr-x  2 root root   4096 Feb 14 11:49 proc
drwxr-x---  2 root root   4096 Feb 14 11:49 sbin
drwxr-xr-x  2 root root   4096 Feb 14 11:49 sys
drwxr-xr-x  2 root root   4096 Feb 14 11:49 system
-rw-r--r--  1 root root     45 Feb 14 11:49 ueventd.arm-versatileexpress.rc
-rw-r--r--  1 root root    272 Feb 14 11:49 ueventd.goldfish.rc
-rw-r--r--  1 root root   4024 Feb 14 11:49 ueventd.rc
-rw-r--r--  1 root root     45 Feb 14 11:49 ueventd.v2p-aarch64.rc
root@master:/tmp# cat fstab.arm-versatileexpress
# Android fstab file.
#<src>                                                  <mnt_point>         <type>    <mnt_flags and options>                               <fs_mgr_flags>
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK


/dev/block/mmcblk0p2    /system             ext4      ro                                                    wait
/dev/block/mmcblk0p3    /cache              ext4      noatime,nosuid,nodev,nomblk_io_submit,errors=panic    wait
/dev/block/mmcblk0p5    /data               ext4      noatime,nosuid,nodev,nomblk_io_submit,errors=panic    wait
root@master:/tmp# grep mmcblk init.rc
root@master:/tmp# grep block init.rc
root@master:/tmp# less init.rc
# Copyright (C) 2012 The Android Open Source Project
#
# IMPORTANT: Do not create world writable files or directories.
# This is a common source of Android security bugs.
#

import /init.usb.rc
import /init.${ro.hardware}.rc
import /init.trace.rc
import /init.partitions.rc

on early-init
   # Set init and its forked children's oom_adj.
   write /proc/1/oom_adj -16

   # Set the security context for the init process.
   # This should occur before anything else (e.g. ueventd) is started.
   setcon u:r:init:s0

   start ueventd

# create mountpoints
   mkdir /mnt 0775 root system
root@master:/tmp# cat init.arm-versatileexpress.rc
on init
   export EXTERNAL_STORAGE /mnt/sdcard
   symlink /mnt/sdcard /storage/sdcard0
   symlink /mnt/sdcard /sdcard

   # mount debugfs
   mount debugfs /sys/kernel/debug /sys/kernel/debug

# power management
# Enable off mode by default
   #write /sys/kernel/debug/pm_debug/enable_off_mode 1

on boot
   # create dhcpcd dir
   mkdir /data/misc/dhcp 0770 dhcp dhcp
   chmod 0770 /data/misc/dhcp

   # For TC2, set A15 and A7 clusters A7s to interactive governor
   # (Other CoreTiles don't have cpu_freq so this doesn't affect them.)
   write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor interactive
   write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor interactive

   # change permissions for alsa nodes
   chmod 0777 /dev/snd/pcmC0D0c
   chmod 0777 /dev/snd/pcmC0D0p
   chmod 0777 /dev/snd/controlC0
   chmod 0777 /dev/snd/timer

   #change permissions for alsa nodes for audio modem
   chmod 0777 /dev/snd/pcmC0D5c
   chmod 0777 /dev/snd/pcmC0D5p

   #change permissions for alsa nodes for HDMI
   chmod 777  /dev/snd/pcmC0D7p

   chown system system /sys/class/graphics/fb0/overlays
   chown system system /sys/class/graphics/fb0/fit_to_screen
   chown system system /sys/class/graphics/fb1/overlays

on fs
   mount_all /fstab.arm-versatileexpress

# setup IRQ affinity to the A7s
service setirqaffinity /sbin/set_irq_affinity.sh 0xc07
   class main
   user root
   oneshot

service faketsd /system/bin/faketsd
   class main
   user bluetooth
   group bluetooth
   oneshot

# hack to start networking early during boot, this will enable use of
# ADB and gator without further manual intervention
service netcfghack /system/bin/netcfg eth0 dhcp
   class main
   user root
   oneshot
root@master:/tmp# grep fstab *.rc
init.arm-versatileexpress.rc:    mount_all /fstab.arm-versatileexpress
init.v2p-aarch64.rc:    mount_all /fstab.v2p-aarch64
root@master:/tmp# cat fstab.arm-versatileexpress
# Android fstab file.
#<src>                                                  <mnt_point>         <type>    <mnt_flags and options>                               <fs_mgr_flags>
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK


/dev/block/mmcblk0p2    /system             ext4      ro                                                    wait
/dev/block/mmcblk0p3    /cache              ext4      noatime,nosuid,nodev,nomblk_io_submit,errors=panic    wait
/dev/block/mmcblk0p5    /data               ext4      noatime,nosuid,nodev,nomblk_io_submit,errors=panic    wait
root@master:/tmp# ls -la
total 484
drwxrwxrwt  8 root root   4096 Feb 14 11:49 .
drwxr-xr-x 23 root root   4096 Oct 12 08:30 ..
drwxrwx--x  2 root root   4096 Feb 14 11:49 data
-rw-r--r--  1 root root    116 Feb 14 11:49 default.prop
drwxr-xr-x  2 root root   4096 Feb 14 11:49 dev
-rw-r-----  1 root root    688 Feb 14 11:49 fstab.arm-versatileexpress
-rw-r-----  1 root root    688 Feb 14 11:49 fstab.v2p-aarch64
-rwxr-x---  1 root root 129908 Feb 14 11:49 init
-rwxr-x---  1 root root   1744 Feb 14 11:49 init.arm-versatileexpress.rc
-rwxr-x---  1 root root   2487 Feb 14 11:49 init.goldfish.rc
-rwxr-x---  1 root root  21091 Feb 14 11:49 init.rc
-rwxr-x---  1 root root   1795 Feb 14 11:49 init.trace.rc
-rwxr-x---  1 root root   3915 Feb 14 11:49 init.usb.rc
-rwxr-x---  1 root root   1595 Feb 14 11:49 init.v2p-aarch64.rc
-rwxr-x---  1 root root  27288 Feb 14 11:49 initlogo.rle
-rw-r--r--  1 root root 226572 Feb 14 11:46 initrd.data
drwxr-xr-x  2 root root   4096 Feb 14 11:49 proc
drwxr-x---  2 root root   4096 Feb 14 11:49 sbin
drwxr-xr-x  2 root root   4096 Feb 14 11:49 sys
drwxr-xr-x  2 root root   4096 Feb 14 11:49 system
-rw-r--r--  1 root root     45 Feb 14 11:49 ueventd.arm-versatileexpress.rc
-rw-r--r--  1 root root    272 Feb 14 11:49 ueventd.goldfish.rc
-rw-r--r--  1 root root   4024 Feb 14 11:49 ueventd.rc
-rw-r--r--  1 root root     45 Feb 14 11:49 ueventd.v2p-aarch64.rc
root@master:/tmp#



--
====================
| I would like to |
| fix the world,  |
| but they're not |
| giving me the   |
\ source code!  /
 ---------------
   ¯\_(ツ)_/¯