bootable/newinstaller
Revision | 815812a6464f62e791a85ae20ad7645991dab301 (tree) |
---|---|
Time | 2019-12-03 11:47:51 |
Author | Michael Goffioul <michael.goffioul@linc...> |
Commiter | Chih-Wei Huang |
Mount system partition at root
@@ -46,7 +46,7 @@ TARGET_INITRD_OUT := $(PRODUCT_OUT)/initrd | ||
46 | 46 | INITRD_RAMDISK := $(TARGET_INITRD_OUT).img |
47 | 47 | $(INITRD_RAMDISK): $(initrd_bin) $(systemimg) $(TARGET_INITRD_SCRIPTS) | $(ACP) $(MKBOOTFS) |
48 | 48 | $(hide) rm -rf $(TARGET_INITRD_OUT) |
49 | - mkdir -p $(addprefix $(TARGET_INITRD_OUT)/,android hd iso lib mnt proc scripts sfs sys tmp) | |
49 | + mkdir -p $(addprefix $(TARGET_INITRD_OUT)/,android apex hd iso lib mnt proc scripts sfs sys tmp) | |
50 | 50 | $(if $(TARGET_INITRD_SCRIPTS),$(ACP) -p $(TARGET_INITRD_SCRIPTS) $(TARGET_INITRD_OUT)/scripts) |
51 | 51 | ln -s /bin/ld-linux.so.2 $(TARGET_INITRD_OUT)/lib |
52 | 52 | echo "VER=$(VER)" > $(TARGET_INITRD_OUT)/scripts/00-ver |
@@ -79,7 +79,7 @@ $(boot_dir): $(shell find $(LOCAL_PATH)/boot -type f | sort -r) $(isolinux_files | ||
79 | 79 | mkdosfs -n EFI $$img; mmd -i $$img ::boot; \ |
80 | 80 | mcopy -si $$img $@/efi ::; mdel -i $$img ::efi/boot/*.cfg |
81 | 81 | |
82 | -BUILT_IMG := $(addprefix $(PRODUCT_OUT)/,ramdisk.img initrd.img install.img) $(systemimg) | |
82 | +BUILT_IMG := $(addprefix $(PRODUCT_OUT)/,initrd.img install.img) $(systemimg) | |
83 | 83 | BUILT_IMG += $(if $(TARGET_PREBUILT_KERNEL),$(TARGET_PREBUILT_KERNEL),$(PRODUCT_OUT)/kernel) |
84 | 84 | |
85 | 85 | ISO_IMAGE := $(PRODUCT_OUT)/$(TARGET_PRODUCT).iso |
@@ -97,32 +97,23 @@ check_root() | ||
97 | 97 | mkdir /mnt/iso |
98 | 98 | mount -o loop /iso/$iso /mnt/iso |
99 | 99 | fi |
100 | - if [ -e /mnt/$SRC/$RAMDISK ]; then | |
101 | - zcat /mnt/$SRC/$RAMDISK | cpio -id > /dev/null | |
102 | - elif [ -b /dev/$RAMDISK ]; then | |
103 | - zcat /dev/$RAMDISK | cpio -id > /dev/null | |
104 | - else | |
105 | - return 1 | |
106 | - fi | |
107 | 100 | if [ -e /mnt/$SRC/system.sfs ]; then |
108 | - mount -o loop,noatime /mnt/$SRC/system.sfs system | |
109 | - if [ -e system/system.img ]; then | |
110 | - mount --move system /sfs | |
111 | - mount -o loop,noatime /sfs/system.img system | |
101 | + mount -o loop,noatime /mnt/$SRC/system.sfs android | |
102 | + if [ -e android/system.img ]; then | |
103 | + mount --move android /sfs | |
104 | + mount -o loop,noatime /sfs/system.img android | |
112 | 105 | fi |
113 | 106 | elif [ -e /mnt/$SRC/system.img ]; then |
114 | 107 | remount_rw |
115 | - mount -o loop,noatime /mnt/$SRC/system.img system | |
108 | + mount -o loop,noatime /mnt/$SRC/system.img android | |
116 | 109 | elif [ -d /mnt/$SRC/system ]; then |
117 | 110 | remount_rw |
118 | - mount --bind /mnt/$SRC/system system | |
119 | - elif [ -z "$SRC" -a -e /mnt/build.prop ]; then | |
120 | - mount --bind /mnt system | |
111 | + mount --bind /mnt/$SRC/system android | |
112 | + elif [ -z "$SRC" -a -e /mnt/default.prop ]; then | |
113 | + mount --bind /mnt android | |
121 | 114 | else |
122 | - rm -rf * | |
123 | 115 | return 1 |
124 | 116 | fi |
125 | - mkdir -p mnt | |
126 | 117 | echo " found at $1" |
127 | 118 | rm /sbin/mke2fs |
128 | 119 | hash -r |
@@ -142,14 +133,13 @@ debug_shell() | ||
142 | 133 | USER="($1)" system/bin/sh -l 2>&1 |
143 | 134 | else |
144 | 135 | echo Running busybox ash... |
145 | - sh 2>&1 | |
136 | + busybox sh 2>&1 | |
146 | 137 | fi |
147 | 138 | } |
148 | 139 | |
149 | 140 | echo -n Detecting Android-x86... |
150 | 141 | |
151 | 142 | [ -z "$SRC" -a -n "$BOOT_IMAGE" ] && SRC=`dirname $BOOT_IMAGE` |
152 | -[ -z "$RAMDISK" ] && RAMDISK=ramdisk.img || RAMDISK=${RAMDISK##/dev/} | |
153 | 143 | |
154 | 144 | for c in `cat /proc/cmdline`; do |
155 | 145 | case $c in |
@@ -162,8 +152,7 @@ for c in `cat /proc/cmdline`; do | ||
162 | 152 | esac |
163 | 153 | done |
164 | 154 | |
165 | -mount -t tmpfs tmpfs /android | |
166 | -cd /android | |
155 | +cd / | |
167 | 156 | while :; do |
168 | 157 | for device in ${ROOT:-/dev/[hmnsv][dmrv][0-9a-z]*}; do |
169 | 158 | check_root $device && break 2 |
@@ -172,23 +161,20 @@ while :; do | ||
172 | 161 | sleep 1 |
173 | 162 | echo -n . |
174 | 163 | done |
164 | +cd /android | |
175 | 165 | |
176 | 166 | ln -s mnt/$SRC /src |
177 | 167 | ln -s android/system / |
178 | 168 | ln -s ../system/lib/firmware ../system/lib/modules /lib |
179 | 169 | |
180 | -if [ -n "$INSTALL" ]; then | |
181 | - zcat /src/install.img | ( cd /; cpio -iud > /dev/null ) | |
170 | +if [ -d system/apex/com.android.runtime.debug ]; then | |
171 | + ln -s ../android/system/apex/com.android.runtime.debug /apex/com.android.runtime | |
172 | +else | |
173 | + ln -s ../android/system/apex/com.android.runtime.release /apex/com.android.runtime | |
182 | 174 | fi |
183 | 175 | |
184 | -if [ -x system/bin/ln -a \( -n "$DEBUG" -o -n "$BUSYBOX" \) ]; then | |
185 | - mv -f /bin /lib . | |
186 | - sed -i 's|\( PATH.*\)|\1:/bin|' init.environ.rc | |
187 | - rm /sbin/modprobe | |
188 | - busybox mv /sbin/* sbin | |
189 | - rmdir /sbin | |
190 | - ln -s android/bin android/lib android/sbin / | |
191 | - hash -r | |
176 | +if [ -n "$INSTALL" ]; then | |
177 | + zcat /src/install.img | ( cd /; cpio -iud > /dev/null ) | |
192 | 178 | fi |
193 | 179 | |
194 | 180 | # load scripts |
@@ -334,7 +334,7 @@ try_upgrade() | ||
334 | 334 | [ -d $1 ] && return |
335 | 335 | |
336 | 336 | for d in hd/*; do |
337 | - [ -e "$d"/ramdisk.img -a -n "`ls "$d"/system* 2> /dev/null`" ] && echo \"`basename $d`\" \"\" | |
337 | + [ -n "`ls "$d"/system* 2> /dev/null`" ] && echo \"`basename $d`\" \"\" | |
338 | 338 | done | sort -r > $menufile |
339 | 339 | |
340 | 340 | count=`wc -l < $menufile` |
@@ -507,7 +507,7 @@ install_to() | ||
507 | 507 | else |
508 | 508 | sysimg="mnt/$SRC/system.*" |
509 | 509 | fi |
510 | - files="mnt/$SRC/kernel mnt/$SRC/initrd.img mnt/$SRC/$RAMDISK $sysimg" | |
510 | + files="mnt/$SRC/kernel mnt/$SRC/initrd.img $sysimg" | |
511 | 511 | size=0 |
512 | 512 | for s in `du -sk $files | awk '{print $1}'`; do |
513 | 513 | size=$(($size+$s)) |
@@ -515,7 +515,7 @@ install_to() | ||
515 | 515 | try_upgrade hd/$asrc |
516 | 516 | mkdir -p hd/$asrc |
517 | 517 | cd hd/$asrc |
518 | - rm -rf system* | |
518 | + rm -rf system* *.img | |
519 | 519 | ( ( cd /; find $files | $CPIO -H newc -o ) | pv -ns ${size}k | ( $CPIO -iud > /dev/null; echo $? > /tmp/result )) 2>&1 \ |
520 | 520 | | progress_bar "Installing $OS_TITLE to $1" "Expect to write $size KB..." |
521 | 521 | result=$((`cat /tmp/result`*255)) |