* 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. # # 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. # # 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#