From: Jason Liu <r64343(a)freescale.com>
This patchset adds FSL mx51 with device tree support. This
is based on
git://git.secretlab.ca/git/linux-2.6 devicetree/test
This patch has been tested on MX51 babbage board and can
boot up succesfully to linux console with DT enabled.
Jason Liu (3):
arm/dt: add basic mx51 device tree support
arm/dt: add very basic dts file for babbage board
serial/imx: parse from device tree support
arch/arm/boot/dts/babbage.dts | 110 +++++++++++++++++++++++++++++++
arch/arm/mach-mx5/Kconfig | 8 ++
arch/arm/mach-mx5/Makefile | 1 +
arch/arm/mach-mx5/board-dt.c | 64 ++++++++++++++++++
arch/arm/mach-mx5/clock-mx51-mx53.c | 43 ++++++++++++-
arch/arm/plat-mxc/include/mach/common.h | 1 +
drivers/tty/serial/imx.c | 79 +++++++++++++++++++---
7 files changed, 295 insertions(+), 11 deletions(-)
create mode 100644 arch/arm/boot/dts/babbage.dts
create mode 100644 arch/arm/mach-mx5/board-dt.c
Move init.rc to the common directory
Signed-off-by: Jeremy Chang <jeremy.chang(a)linaro.org>
---
AndroidBoard.mk | 2 +-
init.rc | 411 -------------------------------------------------------
2 files changed, 1 insertions(+), 412 deletions(-)
delete mode 100644 init.rc
diff --git a/AndroidBoard.mk b/AndroidBoard.mk
index ea57188..934d19a 100644
--- a/AndroidBoard.mk
+++ b/AndroidBoard.mk
@@ -22,7 +22,7 @@ include $(BUILD_KEY_CHAR_MAP)
file := $(TARGET_ROOT_OUT)/init.rc
ALL_PREBUILT += $(file)
-$(file) : $(LOCAL_PATH)/init.rc | $(ACP)
+$(file) : $(LOCAL_PATH)/../common/init.rc | $(ACP)
$(transform-prebuilt-to-target)
file := $(TARGET_ROOT_OUT)/init.omap3.rc
diff --git a/init.rc b/init.rc
deleted file mode 100644
index 50d2dc6..0000000
--- a/init.rc
+++ /dev/null
@@ -1,411 +0,0 @@
-on early-init
- start ueventd
-
-on init
-
-sysclktz 0
-
-loglevel 3
-
-# setup the global environment
- export PATH /sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin
- export LD_LIBRARY_PATH /vendor/lib:/system/lib
- export ANDROID_BOOTLOGO 1
- export ANDROID_ROOT /system
- export ANDROID_ASSETS /system/app
- export ANDROID_DATA /data
- export EXTERNAL_STORAGE /mnt/sdcard
- export ASEC_MOUNTPOINT /mnt/asec
- export LOOP_MOUNTPOINT /mnt/obb
- export BOOTCLASSPATH
/system/framework/core.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/core-junit.jar
-
-# Backward compatibility
- symlink /system/etc /etc
- symlink /sys/kernel/debug /d
-
-# Right now vendor lives on the same filesystem as system,
-# but someday that may change.
- symlink /system/vendor /vendor
-
-# create mountpoints
- mkdir /mnt 0775 root system
- mkdir /mnt/sdcard 0000 system system
-
-# Create cgroup mount point for cpu accounting
- mkdir /acct
- mount cgroup none /acct cpuacct
- mkdir /acct/uid
-
-# Backwards Compat - XXX: Going away in G*
- symlink /mnt/sdcard /sdcard
-
- mkdir /system
- mkdir /data 0771 system system
- mkdir /cache 0770 system cache
- mkdir /config 0500 root root
-
- # Directory for putting things only root should see.
- #mkdir /mnt/secure 0700 root root
-
- # Directory for staging bindmounts
- #mkdir /mnt/secure/staging 0700 root root
-
- # Directory-target for where the secure container
- # imagefile directory will be bind-mounted
- #mkdir /mnt/secure/asec 0700 root root
-
- # Secure container public mount points.
- #mkdir /mnt/asec 0700 root system
- #mount tmpfs tmpfs /mnt/asec mode=0755,gid=1000
-
- # Filesystem image public mount points.
- #mkdir /mnt/obb 0700 root system
- #mount tmpfs tmpfs /mnt/obb mode=0755,gid=1000
-
- write /proc/sys/kernel/panic_on_oops 1
- write /proc/sys/kernel/hung_task_timeout_secs 0
- write /proc/cpu/alignment 4
- write /proc/sys/kernel/sched_latency_ns 10000000
- write /proc/sys/kernel/sched_wakeup_granularity_ns 2000000
- write /proc/sys/kernel/sched_compat_yield 1
- write /proc/sys/kernel/sched_child_runs_first 0
-
-# Create cgroup mount points for process groups
- mkdir /dev/cpuctl
- mount cgroup none /dev/cpuctl cpu
- chown system system /dev/cpuctl
- chown system system /dev/cpuctl/tasks
- chmod 0777 /dev/cpuctl/tasks
- write /dev/cpuctl/cpu.shares 1024
-
- mkdir /dev/cpuctl/fg_boost
- chown system system /dev/cpuctl/fg_boost/tasks
- chmod 0777 /dev/cpuctl/fg_boost/tasks
- write /dev/cpuctl/fg_boost/cpu.shares 1024
-
- mkdir /dev/cpuctl/bg_non_interactive
- chown system system /dev/cpuctl/bg_non_interactive/tasks
- chmod 0777 /dev/cpuctl/bg_non_interactive/tasks
- # 5.0 %
- write /dev/cpuctl/bg_non_interactive/cpu.shares 52
-
-on fs
-# mount mtd partitions
- # Mount /system rw first to give the filesystem a chance to save
a checkpoint
- mount yaffs2 mtd@system /system
- mount yaffs2 mtd@system /system ro remount
- mount yaffs2 mtd@userdata /data nosuid nodev
- mount yaffs2 mtd@cache /cache nosuid nodev
-
-on post-fs
- # once everything is setup, no need to modify /
- mount rootfs rootfs / rw remount
-
- # We chown/chmod /data again so because mount is run as root + defaults
- chown system system /data
- chmod 0771 /data
-
- # Create dump dir and collect dumps.
- # Do this before we mount cache so eventually we can use cache for
- # storing dumps on platforms which do not have a dedicated dump partition.
-
- mkdir /data/dontpanic
- chown root log /data/dontpanic
- chmod 0750 /data/dontpanic
-
- # Collect apanic data, free resources and re-arm trigger
- copy /proc/apanic_console /data/dontpanic/apanic_console
- chown root log /data/dontpanic/apanic_console
- chmod 0640 /data/dontpanic/apanic_console
-
- copy /proc/apanic_threads /data/dontpanic/apanic_threads
- chown root log /data/dontpanic/apanic_threads
- chmod 0640 /data/dontpanic/apanic_threads
-
- write /proc/apanic_console 1
-
- # Same reason as /data above
- chown system cache /cache
- chmod 0770 /cache
-
- # This may have been created by the recovery system with odd permissions
- chown system cache /cache/recovery
- chmod 0770 /cache/recovery
-
- #change permissions on vmallocinfo so we can grab it from bugreports
- chown root log /proc/vmallocinfo
- chmod 0440 /proc/vmallocinfo
-
- #change permissions on kmsg & sysrq-trigger so bugreports can
grab kthread stacks
- chown root system /proc/kmsg
- chmod 0440 /proc/kmsg
- chown root system /proc/sysrq-trigger
- chmod 0220 /proc/sysrq-trigger
-
-# create basic filesystem structure
- mkdir /data/misc 01771 system misc
- mkdir /data/misc/bluetoothd 0770 bluetooth bluetooth
- mkdir /data/misc/bluetooth 0770 system system
- mkdir /data/misc/keystore 0700 keystore keystore
- mkdir /data/misc/vpn 0770 system system
- mkdir /data/misc/systemkeys 0700 system system
- mkdir /data/misc/vpn/profiles 0770 system system
- # give system access to wpa_supplicant.conf for backup and restore
- mkdir /data/misc/wifi 0770 wifi wifi
- chmod 0770 /data/misc/wifi
- chmod 0660 /data/misc/wifi/wpa_supplicant.conf
- mkdir /data/local 0771 shell shell
- mkdir /data/local/tmp 0771 shell shell
- mkdir /data/data 0771 system system
- mkdir /data/app-private 0771 system system
- mkdir /data/app 0771 system system
- mkdir /data/property 0700 root root
-
- # create dalvik-cache and double-check the perms
- mkdir /data/dalvik-cache 0771 system system
- chown system system /data/dalvik-cache
- chmod 0771 /data/dalvik-cache
-
- # create the lost+found directories, so as to enforce our permissions
- mkdir /data/lost+found 0770
- mkdir /cache/lost+found 0770
-
- # double check the perms, in case lost+found already exists, and set owner
- chown root root /data/lost+found
- chmod 0770 /data/lost+found
- chown root root /cache/lost+found
- chmod 0770 /cache/lost+found
-
-on boot
-# basic network init
- ifup lo
- hostname localhost
- domainname localdomain
- setprop service.adb.tcp.port 5555
-
-# set RLIMIT_NICE to allow priorities from 19 to -20
- setrlimit 13 40 40
-
-# Define the oom_adj values for the classes of processes that can be
-# killed by the kernel. These are used in ActivityManagerService.
- setprop ro.FOREGROUND_APP_ADJ 0
- setprop ro.VISIBLE_APP_ADJ 1
- setprop ro.PERCEPTIBLE_APP_ADJ 2
- setprop ro.HEAVY_WEIGHT_APP_ADJ 3
- setprop ro.SECONDARY_SERVER_ADJ 4
- setprop ro.BACKUP_APP_ADJ 5
- setprop ro.HOME_APP_ADJ 6
- setprop ro.HIDDEN_APP_MIN_ADJ 7
- setprop ro.EMPTY_APP_ADJ 15
-
-# Define the memory thresholds at which the above process classes will
-# be killed. These numbers are in pages (4k).
- setprop ro.FOREGROUND_APP_MEM 2048
- setprop ro.VISIBLE_APP_MEM 3072
- setprop ro.PERCEPTIBLE_APP_MEM 4096
- setprop ro.HEAVY_WEIGHT_APP_MEM 4096
- setprop ro.SECONDARY_SERVER_MEM 6144
- setprop ro.BACKUP_APP_MEM 6144
- setprop ro.HOME_APP_MEM 6144
- setprop ro.HIDDEN_APP_MEM 7168
- setprop ro.EMPTY_APP_MEM 8192
-
-# Write value must be consistent with the above properties.
-# Note that the driver only supports 6 slots, so we have combined some of
-# the classes into the same memory level; the associated processes of higher
-# classes will still be killed first.
- write /sys/module/lowmemorykiller/parameters/adj 0,1,2,4,7,15
-
- write /proc/sys/vm/overcommit_memory 1
- write /proc/sys/vm/min_free_order_shift 4
- write /sys/module/lowmemorykiller/parameters/minfree
2048,3072,4096,6144,7168,8192
-
- # Set init its forked children's oom_adj.
- write /proc/1/oom_adj -16
-
- # Tweak background writeout
- write /proc/sys/vm/dirty_expire_centisecs 200
- write /proc/sys/vm/dirty_background_ratio 5
-
- # Permissions for System Server and daemons.
- chown radio system /sys/android_power/state
- chown radio system /sys/android_power/request_state
- chown radio system /sys/android_power/acquire_full_wake_lock
- chown radio system /sys/android_power/acquire_partial_wake_lock
- chown radio system /sys/android_power/release_wake_lock
- chown radio system /sys/power/state
- chown radio system /sys/power/wake_lock
- chown radio system /sys/power/wake_unlock
- chmod 0660 /sys/power/state
- chmod 0660 /sys/power/wake_lock
- chmod 0660 /sys/power/wake_unlock
- chown system system /sys/class/timed_output/vibrator/enable
- chown system system /sys/class/leds/keyboard-backlight/brightness
- chown system system /sys/class/leds/lcd-backlight/brightness
- chown system system /sys/class/leds/button-backlight/brightness
- chown system system /sys/class/leds/jogball-backlight/brightness
- chown system system /sys/class/leds/red/brightness
- chown system system /sys/class/leds/green/brightness
- chown system system /sys/class/leds/blue/brightness
- chown system system /sys/class/leds/red/device/grpfreq
- chown system system /sys/class/leds/red/device/grppwm
- chown system system /sys/class/leds/red/device/blink
- chown system system /sys/class/leds/red/brightness
- chown system system /sys/class/leds/green/brightness
- chown system system /sys/class/leds/blue/brightness
- chown system system /sys/class/leds/red/device/grpfreq
- chown system system /sys/class/leds/red/device/grppwm
- chown system system /sys/class/leds/red/device/blink
- chown system system /sys/class/timed_output/vibrator/enable
- chown system system /sys/module/sco/parameters/disable_esco
- chown system system /sys/kernel/ipv4/tcp_wmem_min
- chown system system /sys/kernel/ipv4/tcp_wmem_def
- chown system system /sys/kernel/ipv4/tcp_wmem_max
- chown system system /sys/kernel/ipv4/tcp_rmem_min
- chown system system /sys/kernel/ipv4/tcp_rmem_def
- chown system system /sys/kernel/ipv4/tcp_rmem_max
- chown root radio /proc/cmdline
-
-# Define TCP buffer sizes for various networks
-# ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax,
- setprop net.tcp.buffersize.default 4096,87380,110208,4096,16384,110208
- setprop net.tcp.buffersize.wifi 4095,87380,110208,4096,16384,110208
- setprop net.tcp.buffersize.umts 4094,87380,110208,4096,16384,110208
- setprop net.tcp.buffersize.edge 4093,26280,35040,4096,16384,35040
- setprop net.tcp.buffersize.gprs 4092,8760,11680,4096,8760,11680
-
- class_start default
-
-## Daemon processes to be run by init.
-##
-service ueventd /sbin/ueventd
- critical
-
-service console /system/bin/sh
- console
- #disabled
- #user shell
- group log
-
-#on property:ro.secure=0
-# start console
-
-# adbd is controlled by the persist.service.adb.enable system property
-service adbd /sbin/adbd
- disabled
-
-# adbd on at boot in emulator
-on property:ro.kernel.qemu=1
- start adbd
-
-on property:persist.service.adb.enable=1
- start adbd
-
-on property:persist.service.adb.enable=0
- stop adbd
-
-service servicemanager /system/bin/servicemanager
- user system
- critical
- onrestart restart zygote
- onrestart restart media
-
-service vold /system/bin/vold
- socket vold stream 0660 root mount
- ioprio be 2
-
-service netd /system/bin/netd
- socket netd stream 0660 root system
-
-service debuggerd /system/bin/debuggerd
-
-service ril-daemon /system/bin/rild
- socket rild stream 660 root radio
- socket rild-debug stream 660 radio system
- user root
- group radio cache inet misc audio sdcard_rw
-
-service zygote /system/bin/app_process -Xzygote /system/bin --zygote
--start-system-server
- socket zygote stream 666
- onrestart write /sys/android_power/request_state wake
- onrestart write /sys/power/state on
- onrestart restart media
- onrestart restart netd
-
-service media /system/bin/mediaserver
- user media
- group system audio camera graphics inet net_bt net_bt_admin net_raw
- ioprio rt 4
-
-service bootanim /system/bin/bootanimation
- user graphics
- group graphics
- disabled
- oneshot
-
-service dbus /system/bin/dbus-daemon --system --nofork
- socket dbus stream 660 bluetooth bluetooth
- user bluetooth
- group bluetooth net_bt_admin
-
-service bluetoothd /system/bin/bluetoothd -n
- socket bluetooth stream 660 bluetooth bluetooth
- socket dbus_bluetooth stream 660 bluetooth bluetooth
- # init.rc does not yet support applying capabilities, so run as root and
- # let bluetoothd drop uid to bluetooth with the right linux capabilities
- group bluetooth net_bt_admin misc
- disabled
-
-service hfag /system/bin/sdptool add --channel=10 HFAG
- user bluetooth
- group bluetooth net_bt_admin
- disabled
- oneshot
-
-service hsag /system/bin/sdptool add --channel=11 HSAG
- user bluetooth
- group bluetooth net_bt_admin
- disabled
- oneshot
-
-service opush /system/bin/sdptool add --channel=12 OPUSH
- user bluetooth
- group bluetooth net_bt_admin
- disabled
- oneshot
-
-service pbap /system/bin/sdptool add --channel=19 PBAP
- user bluetooth
- group bluetooth net_bt_admin
- disabled
- oneshot
-
-service installd /system/bin/installd
- socket installd stream 600 system system
-
-service flash_recovery /system/etc/install-recovery.sh
- oneshot
-
-service racoon /system/bin/racoon
- socket racoon stream 600 system system
- # racoon will setuid to vpn after getting necessary resources.
- group net_admin
- disabled
- oneshot
-
-service mtpd /system/bin/mtpd
- socket mtpd stream 600 system system
- user vpn
- group vpn net_admin net_raw
- disabled
- oneshot
-
-service keystore /system/bin/keystore /data/misc/keystore
- user keystore
- group keystore
- socket keystore stream 666
-
-service dumpstate /system/bin/dumpstate -s
- socket dumpstate stream 0660 shell log
- disabled
- oneshot
--
1.7.1
Signed-off-by: Jeremy Chang <jeremy.chang(a)linaro.org>
---
init.rc | 410 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 410 insertions(+), 0 deletions(-)
create mode 100644 init.rc
diff --git a/init.rc b/init.rc
new file mode 100644
index 0000000..b6a92c5
--- /dev/null
+++ b/init.rc
@@ -0,0 +1,410 @@
+on early-init
+ start ueventd
+
+on init
+
+sysclktz 0
+
+loglevel 3
+
+# setup the global environment
+ export PATH /sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin
+ export LD_LIBRARY_PATH /vendor/lib:/system/lib
+ export ANDROID_BOOTLOGO 1
+ export ANDROID_ROOT /system
+ export ANDROID_ASSETS /system/app
+ export ANDROID_DATA /data
+ export EXTERNAL_STORAGE /mnt/sdcard
+ export ASEC_MOUNTPOINT /mnt/asec
+ export LOOP_MOUNTPOINT /mnt/obb
+ export BOOTCLASSPATH
/system/framework/core.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/core-junit.jar
+
+# Backward compatibility
+ symlink /system/etc /etc
+ symlink /sys/kernel/debug /d
+
+# Right now vendor lives on the same filesystem as system,
+# but someday that may change.
+ symlink /system/vendor /vendor
+
+# create mountpoints
+ mkdir /mnt 0775 root system
+ mkdir /mnt/sdcard 0000 system system
+
+# Create cgroup mount point for cpu accounting
+ mkdir /acct
+ mount cgroup none /acct cpuacct
+ mkdir /acct/uid
+
+# Backwards Compat - XXX: Going away in G*
+ symlink /mnt/sdcard /sdcard
+
+ mkdir /system
+ mkdir /data 0771 system system
+ mkdir /cache 0770 system cache
+ mkdir /config 0500 root root
+
+ # Directory for putting things only root should see.
+ #mkdir /mnt/secure 0700 root root
+
+ # Directory for staging bindmounts
+ #mkdir /mnt/secure/staging 0700 root root
+
+ # Directory-target for where the secure container
+ # imagefile directory will be bind-mounted
+ #mkdir /mnt/secure/asec 0700 root root
+
+ # Secure container public mount points.
+ #mkdir /mnt/asec 0700 root system
+ #mount tmpfs tmpfs /mnt/asec mode=0755,gid=1000
+
+ # Filesystem image public mount points.
+ #mkdir /mnt/obb 0700 root system
+ #mount tmpfs tmpfs /mnt/obb mode=0755,gid=1000
+
+ write /proc/sys/kernel/panic_on_oops 1
+ write /proc/sys/kernel/hung_task_timeout_secs 0
+ write /proc/cpu/alignment 4
+ write /proc/sys/kernel/sched_latency_ns 10000000
+ write /proc/sys/kernel/sched_wakeup_granularity_ns 2000000
+ write /proc/sys/kernel/sched_compat_yield 1
+ write /proc/sys/kernel/sched_child_runs_first 0
+
+# Create cgroup mount points for process groups
+ mkdir /dev/cpuctl
+ mount cgroup none /dev/cpuctl cpu
+ chown system system /dev/cpuctl
+ chown system system /dev/cpuctl/tasks
+ chmod 0777 /dev/cpuctl/tasks
+ write /dev/cpuctl/cpu.shares 1024
+
+ mkdir /dev/cpuctl/fg_boost
+ chown system system /dev/cpuctl/fg_boost/tasks
+ chmod 0777 /dev/cpuctl/fg_boost/tasks
+ write /dev/cpuctl/fg_boost/cpu.shares 1024
+
+ mkdir /dev/cpuctl/bg_non_interactive
+ chown system system /dev/cpuctl/bg_non_interactive/tasks
+ chmod 0777 /dev/cpuctl/bg_non_interactive/tasks
+ # 5.0 %
+ write /dev/cpuctl/bg_non_interactive/cpu.shares 52
+
+on fs
+# mount mtd partitions
+ # Mount /system rw first to give the filesystem a chance to save
a checkpoint
+ mount yaffs2 mtd@system /system
+ mount yaffs2 mtd@system /system ro remount
+ mount yaffs2 mtd@userdata /data nosuid nodev
+ mount yaffs2 mtd@cache /cache nosuid nodev
+
+on post-fs
+ # once everything is setup, no need to modify /
+ mount rootfs rootfs / rw remount
+
+ # We chown/chmod /data again so because mount is run as root + defaults
+ chown system system /data
+ chmod 0771 /data
+
+ # Create dump dir and collect dumps.
+ # Do this before we mount cache so eventually we can use cache for
+ # storing dumps on platforms which do not have a dedicated dump partition.
+
+ mkdir /data/dontpanic
+ chown root log /data/dontpanic
+ chmod 0750 /data/dontpanic
+
+ # Collect apanic data, free resources and re-arm trigger
+ copy /proc/apanic_console /data/dontpanic/apanic_console
+ chown root log /data/dontpanic/apanic_console
+ chmod 0640 /data/dontpanic/apanic_console
+
+ copy /proc/apanic_threads /data/dontpanic/apanic_threads
+ chown root log /data/dontpanic/apanic_threads
+ chmod 0640 /data/dontpanic/apanic_threads
+
+ write /proc/apanic_console 1
+
+ # Same reason as /data above
+ chown system cache /cache
+ chmod 0770 /cache
+
+ # This may have been created by the recovery system with odd permissions
+ chown system cache /cache/recovery
+ chmod 0770 /cache/recovery
+
+ #change permissions on vmallocinfo so we can grab it from bugreports
+ chown root log /proc/vmallocinfo
+ chmod 0440 /proc/vmallocinfo
+
+ #change permissions on kmsg & sysrq-trigger so bugreports can
grab kthread stacks
+ chown root system /proc/kmsg
+ chmod 0440 /proc/kmsg
+ chown root system /proc/sysrq-trigger
+ chmod 0220 /proc/sysrq-trigger
+
+# create basic filesystem structure
+ mkdir /data/misc 01771 system misc
+ mkdir /data/misc/bluetoothd 0770 bluetooth bluetooth
+ mkdir /data/misc/bluetooth 0770 system system
+ mkdir /data/misc/keystore 0700 keystore keystore
+ mkdir /data/misc/vpn 0770 system system
+ mkdir /data/misc/systemkeys 0700 system system
+ mkdir /data/misc/vpn/profiles 0770 system system
+ # give system access to wpa_supplicant.conf for backup and restore
+ mkdir /data/misc/wifi 0770 wifi wifi
+ chmod 0770 /data/misc/wifi
+ chmod 0660 /data/misc/wifi/wpa_supplicant.conf
+ mkdir /data/local 0771 shell shell
+ mkdir /data/local/tmp 0771 shell shell
+ mkdir /data/data 0771 system system
+ mkdir /data/app-private 0771 system system
+ mkdir /data/app 0771 system system
+ mkdir /data/property 0700 root root
+
+ # create dalvik-cache and double-check the perms
+ mkdir /data/dalvik-cache 0771 system system
+ chown system system /data/dalvik-cache
+ chmod 0771 /data/dalvik-cache
+
+ # create the lost+found directories, so as to enforce our permissions
+ mkdir /data/lost+found 0770
+ mkdir /cache/lost+found 0770
+
+ # double check the perms, in case lost+found already exists, and set owner
+ chown root root /data/lost+found
+ chmod 0770 /data/lost+found
+ chown root root /cache/lost+found
+ chmod 0770 /cache/lost+found
+
+on boot
+# basic network init
+ ifup lo
+ hostname localhost
+ domainname localdomain
+
+# set RLIMIT_NICE to allow priorities from 19 to -20
+ setrlimit 13 40 40
+
+# Define the oom_adj values for the classes of processes that can be
+# killed by the kernel. These are used in ActivityManagerService.
+ setprop ro.FOREGROUND_APP_ADJ 0
+ setprop ro.VISIBLE_APP_ADJ 1
+ setprop ro.PERCEPTIBLE_APP_ADJ 2
+ setprop ro.HEAVY_WEIGHT_APP_ADJ 3
+ setprop ro.SECONDARY_SERVER_ADJ 4
+ setprop ro.BACKUP_APP_ADJ 5
+ setprop ro.HOME_APP_ADJ 6
+ setprop ro.HIDDEN_APP_MIN_ADJ 7
+ setprop ro.EMPTY_APP_ADJ 15
+
+# Define the memory thresholds at which the above process classes will
+# be killed. These numbers are in pages (4k).
+ setprop ro.FOREGROUND_APP_MEM 2048
+ setprop ro.VISIBLE_APP_MEM 3072
+ setprop ro.PERCEPTIBLE_APP_MEM 4096
+ setprop ro.HEAVY_WEIGHT_APP_MEM 4096
+ setprop ro.SECONDARY_SERVER_MEM 6144
+ setprop ro.BACKUP_APP_MEM 6144
+ setprop ro.HOME_APP_MEM 6144
+ setprop ro.HIDDEN_APP_MEM 7168
+ setprop ro.EMPTY_APP_MEM 8192
+
+# Write value must be consistent with the above properties.
+# Note that the driver only supports 6 slots, so we have combined some of
+# the classes into the same memory level; the associated processes of higher
+# classes will still be killed first.
+ write /sys/module/lowmemorykiller/parameters/adj 0,1,2,4,7,15
+
+ write /proc/sys/vm/overcommit_memory 1
+ write /proc/sys/vm/min_free_order_shift 4
+ write /sys/module/lowmemorykiller/parameters/minfree
2048,3072,4096,6144,7168,8192
+
+ # Set init its forked children's oom_adj.
+ write /proc/1/oom_adj -16
+
+ # Tweak background writeout
+ write /proc/sys/vm/dirty_expire_centisecs 200
+ write /proc/sys/vm/dirty_background_ratio 5
+
+ # Permissions for System Server and daemons.
+ chown radio system /sys/android_power/state
+ chown radio system /sys/android_power/request_state
+ chown radio system /sys/android_power/acquire_full_wake_lock
+ chown radio system /sys/android_power/acquire_partial_wake_lock
+ chown radio system /sys/android_power/release_wake_lock
+ chown radio system /sys/power/state
+ chown radio system /sys/power/wake_lock
+ chown radio system /sys/power/wake_unlock
+ chmod 0660 /sys/power/state
+ chmod 0660 /sys/power/wake_lock
+ chmod 0660 /sys/power/wake_unlock
+ chown system system /sys/class/timed_output/vibrator/enable
+ chown system system /sys/class/leds/keyboard-backlight/brightness
+ chown system system /sys/class/leds/lcd-backlight/brightness
+ chown system system /sys/class/leds/button-backlight/brightness
+ chown system system /sys/class/leds/jogball-backlight/brightness
+ chown system system /sys/class/leds/red/brightness
+ chown system system /sys/class/leds/green/brightness
+ chown system system /sys/class/leds/blue/brightness
+ chown system system /sys/class/leds/red/device/grpfreq
+ chown system system /sys/class/leds/red/device/grppwm
+ chown system system /sys/class/leds/red/device/blink
+ chown system system /sys/class/leds/red/brightness
+ chown system system /sys/class/leds/green/brightness
+ chown system system /sys/class/leds/blue/brightness
+ chown system system /sys/class/leds/red/device/grpfreq
+ chown system system /sys/class/leds/red/device/grppwm
+ chown system system /sys/class/leds/red/device/blink
+ chown system system /sys/class/timed_output/vibrator/enable
+ chown system system /sys/module/sco/parameters/disable_esco
+ chown system system /sys/kernel/ipv4/tcp_wmem_min
+ chown system system /sys/kernel/ipv4/tcp_wmem_def
+ chown system system /sys/kernel/ipv4/tcp_wmem_max
+ chown system system /sys/kernel/ipv4/tcp_rmem_min
+ chown system system /sys/kernel/ipv4/tcp_rmem_def
+ chown system system /sys/kernel/ipv4/tcp_rmem_max
+ chown root radio /proc/cmdline
+
+# Define TCP buffer sizes for various networks
+# ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax,
+ setprop net.tcp.buffersize.default 4096,87380,110208,4096,16384,110208
+ setprop net.tcp.buffersize.wifi 4095,87380,110208,4096,16384,110208
+ setprop net.tcp.buffersize.umts 4094,87380,110208,4096,16384,110208
+ setprop net.tcp.buffersize.edge 4093,26280,35040,4096,16384,35040
+ setprop net.tcp.buffersize.gprs 4092,8760,11680,4096,8760,11680
+
+ class_start default
+
+## Daemon processes to be run by init.
+##
+service ueventd /sbin/ueventd
+ critical
+
+service console /system/bin/sh
+ console
+ #disabled
+ #user shell
+ group log
+
+#on property:ro.secure=0
+# start console
+
+# adbd is controlled by the persist.service.adb.enable system property
+service adbd /sbin/adbd
+ disabled
+
+# adbd on at boot in emulator
+on property:ro.kernel.qemu=1
+ start adbd
+
+on property:persist.service.adb.enable=1
+ start adbd
+
+on property:persist.service.adb.enable=0
+ stop adbd
+
+service servicemanager /system/bin/servicemanager
+ user system
+ critical
+ onrestart restart zygote
+ onrestart restart media
+
+service vold /system/bin/vold
+ socket vold stream 0660 root mount
+ ioprio be 2
+
+service netd /system/bin/netd
+ socket netd stream 0660 root system
+
+service debuggerd /system/bin/debuggerd
+
+service ril-daemon /system/bin/rild
+ socket rild stream 660 root radio
+ socket rild-debug stream 660 radio system
+ user root
+ group radio cache inet misc audio sdcard_rw
+
+service zygote /system/bin/app_process -Xzygote /system/bin --zygote
--start-system-server
+ socket zygote stream 666
+ onrestart write /sys/android_power/request_state wake
+ onrestart write /sys/power/state on
+ onrestart restart media
+ onrestart restart netd
+
+service media /system/bin/mediaserver
+ user media
+ group system audio camera graphics inet net_bt net_bt_admin net_raw
+ ioprio rt 4
+
+service bootanim /system/bin/bootanimation
+ user graphics
+ group graphics
+ disabled
+ oneshot
+
+service dbus /system/bin/dbus-daemon --system --nofork
+ socket dbus stream 660 bluetooth bluetooth
+ user bluetooth
+ group bluetooth net_bt_admin
+
+service bluetoothd /system/bin/bluetoothd -n
+ socket bluetooth stream 660 bluetooth bluetooth
+ socket dbus_bluetooth stream 660 bluetooth bluetooth
+ # init.rc does not yet support applying capabilities, so run as root and
+ # let bluetoothd drop uid to bluetooth with the right linux capabilities
+ group bluetooth net_bt_admin misc
+ disabled
+
+service hfag /system/bin/sdptool add --channel=10 HFAG
+ user bluetooth
+ group bluetooth net_bt_admin
+ disabled
+ oneshot
+
+service hsag /system/bin/sdptool add --channel=11 HSAG
+ user bluetooth
+ group bluetooth net_bt_admin
+ disabled
+ oneshot
+
+service opush /system/bin/sdptool add --channel=12 OPUSH
+ user bluetooth
+ group bluetooth net_bt_admin
+ disabled
+ oneshot
+
+service pbap /system/bin/sdptool add --channel=19 PBAP
+ user bluetooth
+ group bluetooth net_bt_admin
+ disabled
+ oneshot
+
+service installd /system/bin/installd
+ socket installd stream 600 system system
+
+service flash_recovery /system/etc/install-recovery.sh
+ oneshot
+
+service racoon /system/bin/racoon
+ socket racoon stream 600 system system
+ # racoon will setuid to vpn after getting necessary resources.
+ group net_admin
+ disabled
+ oneshot
+
+service mtpd /system/bin/mtpd
+ socket mtpd stream 600 system system
+ user vpn
+ group vpn net_admin net_raw
+ disabled
+ oneshot
+
+service keystore /system/bin/keystore /data/misc/keystore
+ user keystore
+ group keystore
+ socket keystore stream 666
+
+service dumpstate /system/bin/dumpstate -s
+ socket dumpstate stream 0660 shell log
+ disabled
+ oneshot
--
1.7.1
I've written some short instructions on using crosstool-NG to build Linaro GCC:
https://wiki.linaro.org/WorkingGroups/ToolChain/Using/CrosstoolNg
Could someone review these for me please?
Linaro GCC is already available in a bunch of places including
OpenBricks, crosstool-NG, OpenEmbedded, OpenWRT, and (of course)
Ubuntu. I hope to write a short page on each so people know where to
find our toolchain in the distribution of their choice.
-- Michael
Hi All,
In the developer platforms team we're working on getting the
linaro-nano image so that it is considerably smaller. To date I've
been using the approach I outlined last fall in a previous post to
this list.
Some highlights to nano:
* The linaro-image boots just as our linaro-headless image did
(upstart and friends)
* it can be updated, or additional pkgs installed via apt-get
* networking works
* busybox is in use tho not necessarily universally
* ureadahead, python, have been removed
* docs have been removed
* linux-firmware has been removed (binary kernel firmware blobs)
* locales is remove
Installed image is 125 Megs. (Down from 290 Meg) We're on the cusp of
being able to fit into 128 megs of flash.
This brings me to the subject of the kernel. hwpacks besides
installing linux-firmware (32 Megs) but also approx 50 Megs in
modules. Yet on my beagleboard lsmod notes
Module Size Used by
asix 12805 0
usbnet 17027 1 asix
omap2_mcspi 8441 0
omap_wdt 4093 0
hid_apple 4999 0
twl4030_usb 4950 0
twl4030_pwrbutton 1298 0
gpio_keys 6072 0
leds_gpio 2198 0
usbhid 39072 0
hid 74787 2 hid_apple,usbhid
Clearly we don't need all of these modules and I don't think it's an
unreasonable change our policy to "build what's needed + some
reasonable subset of function that our average user might neeed".
I don't know why we're installed the firmware deb, does any of the
hardware we're supporting even use that?
>From the directories where modules are located there is the following size info:
812 ./crypto
7568 ./net
2456 ./sound
60 ./arch
28372 ./drivers
172 ./lib
272 ./ubuntu
8316 ./fs
48032 .
Going deeper it's pretty easy to spot low hanging fruit:
>From fs - Do we need afs, jfs, code, minix, hpfs, xfs, hfs, hfsplus,
gfs2, reiserfs... I'm thinking no.
>From drivers - net and media make about about 1/3rd of the 28 meg in
use, I'm sure there's a number of drivers in here that can just be
turned off.
>From sound - ac97, are there arm boards that use that?
>From net - x25, decnet, appletalk ?
So that said, what is the best way to proceed?
1) Is there agreement that for all the kernels we supply that we
should change the policy for kernel configs to not default to
everything on?
(Maybe we should be using the upstream config with minimal modifications?)
Pro: everyone benefits from the diet
Con: Our kernel would be build slightly different than ubuntu's
others:
2) Linaro-media-create shouldn't install linux-firmware_1.47_all.deb ?
Do we have any any hardware that needs it? If so could there be a
--nano option to not install it?
3) linaro-media-create should have some kind of option (--nano) to
clear out apt caches (saves ~40 meg of space)
Specifically from the installed image after the hwpack deps are
installed get rid of the following:
rm -f ./var/lib/apt/lists/*Packages
rm -f ./var/lib/apt/lists/*Sources
rm -f ./var/lib/apt/lists/*Release
rm -f ./var/lib/apt/lists/*Release.gpg
rm -f ./var/cache/apt/pkgcache.bin
rm -f ./var/cache/apt/srcpkgcache.bin
Pro: if you never run apt* you won't mind the cold caches
Con: if you're running out of nand and you're going to apt-get upgrade
your system, you're probably going to run out of space (Probably a
problem to solve in a future cycle)
It's important through this exercise for people to speak up about what
can and can NOT be safely turned off.
Thanks for your time, attention, suggestions and feedback.
Regards,
Tom
Hi,
The minutes from the Engineering Resources team meeting can be found
here:
https://wiki.linaro.org/Mentoring/Status/WeeklyMeeting/2011-03-11
Summary below.
--Matt
=== Action Items from This Meeting ===
* AddNewHardware/HardwarePack pages need to explain kernel packages
as Steve noted below
* HardwarePacks page refers to Maverick instead of Natty
* Mentoring section needs to be renamed and back links should be fixed
* A better header for wiki that includes things like a "Resources"
link in banner/header
* Toolchain documentation improvement
=== Minutes ===
==== Feedback from Steve L ====
* No super hot button issues with team
* come up with clearer idea of what goes in hwpacks and policies
around them
* snag with v310 hwpack. needed u-boot not built by John R
* missing linux-meta package in their hwpack. package name changes
each time ABI is bumped. (Scott has had people confused by
Meta-Packages)
* Do we need new "types/names" of hwpacks for situations like this
* Maybe ER team needs to add some to HWPACK documentation to mention
these things.
* Scott B - ask Andy Green for feedback on documentation changes
* HardwarePacks page refers to Maverick. Should be Natty and probably
say "CURRENT RELEASE"
* documentation under mentoring. needs to be promoted
* rename to how-to
* put something on main page and list latest updates
* suggestions for front page:
* change the way the header looks so that people will actually start
to notice it again. Put some main links in this new header
* joey links:
https://wiki.canonical.com/OEMServiceshttps://wiki.linaro.org/LinaroHeader
==== Feedback from Scott B ====
* cross-compiler documentation is still confusing
* break up page by 4.4/4.5 versions into 2 pages. and then versions.
* we shouldn't even suggest 4.4. 4.5 is what should be used
* explain why you do a add-apt-repository
* Cross-development Environment for userspace. There's nothing. We
don't have a good story on this. Steve says we're improving so not
spend much time trying to explain
==== Feedback from Kiko ====
* echo steve's comments on hwpacks
* (scott) naming convention for community/landing team to indicate
what is supported
==== Discussion after leads ====
* RequirementsProcessHowto - should be per release for as things change
* ProductRequirement is a little off. Its not needed
* Joey to ask if 1111 release will just use TechnicalTopics or still
do a TechnicalRequirements page
On Tue, Mar 1, 2011 at 4:32 AM, Jesse Barker <jesse.barker(a)linaro.org> wrote:
> FWIW, skia certainly isn't android only and, at least for the purposes of
> getting the validation side of things up and running, could be run on a
> non-android build (Jammy is likely doing something like this for his work,
> though not oriented at abrek at the moment). Of course, I could be
> over-simplifying here ;-).
I'd like to use Skia as a toolchain benchmark but the upstream seems a
bit messy. I'm using this export:
http://people.linaro.org/~michaelh/skia-0~svn788.tar.xz
from http://code.google.com/p/skia/ which I then build and run using
these rules:
http://bazaar.launchpad.net/~linaro-toolchain-dev/cbuild/trunk/view/head:/l…
The code.google version seems a bit broken. autoconf scripts are
included but they don't work. The non-autoconf Makefile assumes Intel
with SSE2. The Android Skia seems to be a fork from some time ago and
uses build scripts that are tightly tied into the Android build
system.
What's the best version to use? I'd like to standardise across Linaro
for benchmarking so that results can be compared across groups, or at
least so we don't get confused.
-- Michael
Hi,
I am looking for a test framework to verify liability of I/O storage.
Most of the test tool I find focus on performance.
I would like to run test that compares in-buffer and out-buffer, use
different address and size alignment for in-buffer and out-buffer,
runs tests simultaneously on multiple block devices, etc...
The test can run on FS level or block level either way is fine.
Any suggestions?
/Per
Hi,
The Validation team weekly report for 2011-03-10 is now available
and can be found at:
https://wiki.linaro.org/Platform/Validation/Status/2011-03-10
The report is also reproduced in full below.
Regards,
Jamie.
--
Linaro Release Manager | Platform Project Manager
--
* Period: (20110302-20110309)
* PM: JamieBennett <jamie.bennett(a)linaro.org>
* Past reports : https://wiki.linaro.org/Platform/Validation/Status
* Burndown information : http://status.linaro.org/linaro-validation.html
== Key Points for wider discussion ==
* A request for comments on the Debian Django packaging guide has been
made. Please read and give comments on:
http://wiki.debian.org/DjangoPackagingDraft.
* Power Management tests are planned to be integrated into the test
suite and visualisation tools. The best way to do this is under
discussion and the team invites more comments.
== Team Highlights ==
* The Django packaging guideline for Debian was produced and is
available at http://wiki.debian.org/DjangoPackagingDraft. There are
discussions ongoing on the debian-python mailing list for feedback.
* A first (and second) release of the django-debian package was made
for connecting django database settings to dbconfig-common. This is
being used on the LAVA project for database integration.
* Initial discussions have been made to integrate some of the work the
Power Management Working Group is doing in to abrek (the test-suite
framework) and launch-control (the test visualisation tool). The ability
to automatically test and visualise the power consumption on boards will
take the Validation team around 2-4 weeks to complete.
* Work continues on LAVA with two new branches containing improvements
done this week.
* abrek gained the ability to save bundles at the end of a test run.
== Upcoming Deliverables ==
* launch-control 0.3c2 deployed on validation.linaro.org
== Risks / Issues ==
* '''HIGH IMPACT''': Zygmunt's Beagle Board C4 appears to have hardware
issues (1 week).
* '''HIGH IMPACT''': The validation scheduler Blueprint continues to
lag behind with 37 work items to complete (none completed so far) -
https://launchpad.net/lava/+spec/linaro-n-validation-scheduler (several
weeks). Discussions are on going to find a way to unblock this project.
== Miscellaneous ==
* Wiki pages of note this week:
* http://wiki.debian.org/DjangoPackagingDraft