Skip to content

Commit 83ed08e

Browse files
committed
Add support for lack of ramdisk
1 parent 15dd87e commit 83ed08e

File tree

2 files changed

+23
-16
lines changed

2 files changed

+23
-16
lines changed

customize.sh

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,25 @@ get_flags
33
find_boot_image
44
( if [ ! -z "$BOOTIMAGE" ]; then
55
ui_print "- Target boot image: $BOOTIMAGE"
6-
mkdir "$TMPDIR/boot"
7-
dd if=$BOOTIMAGE of="$TMPDIR/boot/boot.img"
8-
ui_print "- Unpack boot image"
9-
cd "$TMPDIR/boot" || exit 1
10-
/data/adb/magisk/magiskboot unpack boot.img
11-
ui_print "- Add bootloop protector script"
12-
cat <<EOF > safemode.rc
6+
# This is how the magisk app detect if boot image contain ramdisk
7+
( if [ "$RECOVERYMODE" = "true" ] ||
8+
([ ! "$(getprop ro.build.ab_update)" = "true" ] &&
9+
grep ' / ' /proc/mounts | grep -q '/dev/root' &> /dev/root); then
10+
ui_print "! Boot image doesn't contain ramdisk"
11+
else
12+
mkdir "$TMPDIR/boot"
13+
dd if=$BOOTIMAGE of="$TMPDIR/boot/boot.img"
14+
ui_print "- Unpack boot image"
15+
cd "$TMPDIR/boot" || exit 1
16+
/data/adb/magisk/magiskboot unpack boot.img
17+
ui_print "- Add bootloop protector script"
18+
cat <<EOF > safemode.rc
1319
# safe mode trigger
1420
on post-fs
1521
exec u:r:magisk:s0 root root -- /system/bin/sh \${MAGISKTMP}/safemode.sh
1622
1723
EOF
18-
cat <<EOF >safemode.sh
24+
cat <<EOF >safemode.sh
1925
for dir in /cache /data/unencrypted /metadata /persist /mnt/vendor/persist; do
2026
if [ -f "\$dir/disable_magisk" ]; then
2127
DISABLE=true
@@ -25,21 +31,22 @@ done
2531
2632
[ "\$DISABLE" == "true" ] && setprop persist.sys.safemode 1
2733
EOF
28-
/data/adb/magisk/magiskboot cpio ramdisk.cpio \
34+
/data/adb/magisk/magiskboot cpio ramdisk.cpio \
2935
"mkdir 0750 overlay.d" \
3036
"mkdir 0750 overlay.d/sbin" \
3137
"rm overlay.d/safemode.rc" \
3238
"rm overlay.d/sbin/safemode.sh" \
3339
"add 0750 overlay.d/safemode.rc safemode.rc" \
3440
"add 0750 overlay.d/sbin/safemode.sh safemode.sh"
35-
ui_print "- Repack boot image"
36-
/data/adb/magisk/magiskboot repack boot.img
37-
ui_print "- Flashing new boot image"
38-
dd of=$BOOTIMAGE if="$TMPDIR/boot/new-boot.img"
41+
ui_print "- Repack boot image"
42+
/data/adb/magisk/magiskboot repack boot.img
43+
ui_print "- Flashing new boot image"
44+
dd of=$BOOTIMAGE if="$TMPDIR/boot/new-boot.img"
45+
fi )
3946
else
40-
ui_print "! Cannot detect target boot image"
47+
ui_print "! Cannot detect target boot image"
4148
fi )
4249

4350

4451

45-
ui_print "- Module log is /cache/bootloop_saver.log"
52+
ui_print "- Module log is /cache/bootloop_saver.log"

module.prop

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ author=HuskyDG
66
description=Protect your system from bootloop caused by Magisk modules by turning off all your modules and restart your system if bootloop is detected.
77
updateJson=https://raw.githubusercontent.com/Magisk-Modules-Alt-Repo/HuskyDG_BootloopSaver/master/module.json
88
changeBoot=true
9-
needRamdisk=true
9+
needRamdisk=false

0 commit comments

Comments
 (0)