Merge lp:~le-chi-thu/lava-dispatcher/fix-android-boot-problem into lp:lava-dispatcher

Proposed by Le Chi Thu
Status: Merged
Approved by: Zygmunt Krynicki
Approved revision: 268
Merged at revision: 268
Proposed branch: lp:~le-chi-thu/lava-dispatcher/fix-android-boot-problem
Merge into: lp:lava-dispatcher
Diff against target: 89 lines (+30/-20)
2 files modified
doc/changes.rst (+5/-0)
lava_dispatcher/client/master.py (+25/-20)
To merge this branch: bzr merge lp:~le-chi-thu/lava-dispatcher/fix-android-boot-problem
Reviewer Review Type Date Requested Status
Zygmunt Krynicki (community) Approve
Review via email: mp+100275@code.launchpad.net

Description of the change

Fixed boot android image problem caused by changing of init.rc file.

Please help me deploy it on production after approved.

All Android builds for all boards will failed without this fix.

To post a comment you must log in.
Revision history for this message
Zygmunt Krynicki (zyga) wrote :

+1

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'doc/changes.rst'
2--- doc/changes.rst 2012-03-27 01:33:15 +0000
3+++ doc/changes.rst 2012-03-31 09:49:19 +0000
4@@ -1,6 +1,11 @@
5 Version History
6 ***************
7
8+* Fixed boot android image problem caused by changing of init.rc file.
9+
10+Version 0.5.11
11+==============
12+
13 .. _version_0_5_11:
14
15 Version 0.5.11
16
17=== modified file 'lava_dispatcher/client/master.py'
18--- lava_dispatcher/client/master.py 2012-03-20 06:59:13 +0000
19+++ lava_dispatcher/client/master.py 2012-03-31 09:49:19 +0000
20@@ -116,10 +116,7 @@
21
22 _recreate_uInitrd(session)
23
24- session.run('umount /mnt/lava/boot')
25-
26-def _recreate_uInitrd(session):
27- logging.debug("Recreate uInitrd")
28+def _update_uInitrd_partitions(session, rc_filename):
29 # Original android sdcard partition layout by l-a-m-c
30 sys_part_org = session._client.device_option("sys_part_android_org")
31 cache_part_org = session._client.device_option("cache_part_android_org")
32@@ -128,6 +125,23 @@
33 sys_part_lava = session._client.device_option("sys_part_android")
34 data_part_lava = session._client.device_option("data_part_android")
35
36+ session.run(
37+ 'sed -i "/mount ext4 \/dev\/block\/mmcblk0p%s/d" %s'
38+ % (cache_part_org, rc_filename), failok=True)
39+
40+ session.run('sed -i "s/mmcblk0p%s/mmcblk0p%s/g" %s'
41+ % (data_part_org, data_part_lava, rc_filename), failok=True)
42+ session.run('sed -i "s/mmcblk0p%s/mmcblk0p%s/g" %s'
43+ % (sys_part_org, sys_part_lava, rc_filename), failok=True)
44+ # for snowball the mcvblk1 is used instead of mmcblk0.
45+ session.run('sed -i "s/mmcblk1p%s/mmcblk1p%s/g" %s'
46+ % (data_part_org, data_part_lava, rc_filename), failok=True)
47+ session.run('sed -i "s/mmcblk1p%s/mmcblk1p%s/g" %s'
48+ % (sys_part_org, sys_part_lava, rc_filename), failok=True)
49+
50+def _recreate_uInitrd(session):
51+ logging.debug("Recreate uInitrd")
52+
53 session.run('mkdir -p ~/tmp/')
54 session.run('mv /mnt/lava/boot/uInitrd ~/tmp')
55 session.run('cd ~/tmp/')
56@@ -136,26 +150,17 @@
57 session.run('mv uInitrd.data ramdisk.cpio.gz')
58 session.run(
59 'gzip -d -f ramdisk.cpio.gz; cpio -i -F ramdisk.cpio')
60- session.run(
61- 'sed -i "/mount ext4 \/dev\/block\/mmcblk0p%s/d" init.rc'
62- % cache_part_org)
63-# session.run(
64-# 'sed -i "/mount ext4 \/dev\/block\/mmcblk0p%s/d" init.rc'
65-# % data_part_org)
66- session.run('sed -i "s/mmcblk0p%s/mmcblk0p%s/g" init.rc'
67- % (data_part_org, data_part_lava))
68- session.run('sed -i "s/mmcblk0p%s/mmcblk0p%s/g" init.rc'
69- % (sys_part_org, sys_part_lava))
70- # for snowball the mcvblk1 is used instead of mmcblk0.
71- session.run('sed -i "s/mmcblk1p%s/mmcblk1p%s/g" init.rc'
72- % (data_part_org, data_part_lava))
73- session.run('sed -i "s/mmcblk1p%s/mmcblk1p%s/g" init.rc'
74- % (sys_part_org, sys_part_lava))
75- # failok true for this?:
76+
77+ # The mount partitions have moved from init.rc to init.partitions.rc
78+ # For backward compatible with early android build, we updatep both rc files
79+ _update_uInitrd_partitions(session, 'init.rc')
80+ _update_uInitrd_partitions(session, 'init.partitions.rc')
81+
82 session.run(
83 'sed -i "/export PATH/a \ \ \ \ export PS1 root@linaro: " init.rc')
84
85 session.run("cat init.rc")
86+ session.run("cat init.partitions.rc", failok=True)
87
88 session.run(
89 'cpio -i -t -F ramdisk.cpio | cpio -o -H newc | \

Subscribers

People subscribed via source and target branches