/data/adb/magisk/busybox nandwrite /dev/bootimg /sdcard/boot.img works.Unable to detect target image
Installation failed
Canary Debug be8479fd (280)聽聽聽[Build date: March 30, 2020]
Stable 7.5.1 (267) (7)聽聽聽聽聽聽聽聽聽聽聽[Build date: March 28, 2020]
_Device_: Alcatel Pixi 3 7" 3G /9002X/聽聽聽聽聽_(tablet)_
_OS_: Android Kitkat 4.4.2
_RAM_: 512MB
_CPU_: MT8312 _(not sure)_
Try 280, and also what's the location of your boot partition?
Edit: Nevermind, I see /dev/bootimg there. On other devices it finds /dev/bootimg fine. Not sure what's up there.
Try 280
Same..
Is there anything I can help you with? The situation is strange.
Could be related/similar to #2609, I wonder.
Do you have a working TWRP? Does flashing the Magisk zip work there?
There is only CWM recovery for my device. The flashable Magisk zip also does not detect boot image.
Full recovery.log after an install attempt please. 馃檪
Full recovery.log after an install attempt please. 馃檪
馃檪
(I just found out that CWM Recovery for my tablet is ported from another device 馃槂)
@Msprg, are things still working well on your NAND device?
@Msprg & @martobg10, can you both please give me the output of ls -al /dev/block on your devices while in recovery?
@martobg10, did it work with any older Magisk version?
Output of ls -al /dev/block when device is booted in system
root@Pixi3-7_3G:/ # ls -al /dev/block
brw------- root root 7, 0 2020-03-30 13:40 loop0
brw------- root root 7, 1 2020-03-30 13:40 loop1
brw------- root root 7, 2 2020-03-30 13:40 loop2
brw------- root root 7, 3 2020-03-30 13:40 loop3
brw------- root root 7, 4 2020-03-30 13:40 loop4
brw------- root root 7, 5 2020-03-30 13:40 loop5
brw------- root root 7, 6 2020-03-30 13:40 loop6
brw------- root root 7, 7 2020-03-30 13:40 loop7
brw-rw---- root system 179, 0 2020-03-30 13:40 mmcblk0
brw-rw---- root system 179, 32 2020-03-30 13:40 mmcblk0boot0
brw------- root root 179, 64 2020-03-30 13:40 mmcblk0boot1
brw------- root root 179, 1 2020-03-30 13:40 mmcblk0p1
brw------- root root 179, 2 2020-03-30 13:40 mmcblk0p2
brw------- root root 179, 3 2020-03-30 13:40 mmcblk0p3
brw------- root root 179, 4 2020-03-30 13:40 mmcblk0p4
brw------- root root 179, 5 2020-03-30 13:40 mmcblk0p5
brw------- root root 179, 6 2020-03-30 13:40 mmcblk0p6
brw------- root root 179, 7 2020-03-30 13:40 mmcblk0p7
brw------- root root 179, 8 2020-03-30 13:40 mmcblk0p8
brw------- root root 179, 9 2020-03-30 13:40 mmcblk0p9
drwxr-xr-x root root 2020-03-30 13:40 platform
drwx------ root root 2020-03-30 13:40 vold
brw------- root root 253, 0 2020-03-30 13:40 zram0
root@Pixi3-7_3G:/ #
Output of ls -al /dev/block when device is booted in recovery
D:\Android\001_SDK Platform Tools (version 29.0.5)>adb shell
~ # ls -al /dev/block
__bionic_open_tzdata: couldn't find any tzdata when looking for localtime!
__bionic_open_tzdata: couldn't find any tzdata when looking for GMT!
__bionic_open_tzdata: couldn't find any tzdata when looking for posixrules!
drwxr-xr-x 4 root root 500 Mar 30 13:03 .
drwxr-xr-x 11 root root 3400 Mar 30 13:03 ..
brw------- 1 root root 7, 0 Mar 30 13:03 loop0
brw------- 1 root root 7, 1 Mar 30 13:03 loop1
brw------- 1 root root 7, 2 Mar 30 13:03 loop2
brw------- 1 root root 7, 3 Mar 30 13:03 loop3
brw------- 1 root root 7, 4 Mar 30 13:03 loop4
brw------- 1 root root 7, 5 Mar 30 13:03 loop5
brw------- 1 root root 7, 6 Mar 30 13:03 loop6
brw------- 1 root root 7, 7 Mar 30 13:03 loop7
brw------- 1 root root 179, 0 Mar 30 13:03 mmcblk0
brw------- 1 root root 179, 32 Mar 30 13:03 mmcblk0boot0
brw------- 1 root root 179, 64 Mar 30 13:03 mmcblk0boot1
brw------- 1 root root 179, 1 Mar 30 13:03 mmcblk0p1
brw------- 1 root root 179, 2 Mar 30 13:03 mmcblk0p2
brw------- 1 root root 179, 3 Mar 30 13:03 mmcblk0p3
brw------- 1 root root 179, 4 Mar 30 13:03 mmcblk0p4
brw------- 1 root root 179, 5 Mar 30 13:03 mmcblk0p5
brw------- 1 root root 179, 6 Mar 30 13:03 mmcblk0p6
brw------- 1 root root 179, 7 Mar 30 13:03 mmcblk0p7
brw------- 1 root root 179, 8 Mar 30 13:03 mmcblk0p8
brw------- 1 root root 179, 9 Mar 30 13:03 mmcblk0p9
drwxr-xr-x 3 root root 60 Mar 30 13:03 platform
drwx------ 2 root root 280 Mar 30 13:03 vold
brw------- 1 root root 253, 0 Mar 30 13:03 zram0
~ #
And ls -alR /dev/block/platform ?
Output of ls -alR /dev/block/platform when device is booted in system
shell@Pixi3-7_3G:/ $ ls -alR /dev/block/platform
/dev/block/platform:
drwxr-xr-x root root 2020-03-30 16:07 mtk-msdc.0
/dev/block/platform/mtk-msdc.0:
drwxr-xr-x root root 2020-03-30 16:07 by-num
lrwxrwxrwx root root 2020-03-30 16:07 mmcblk0 -> /dev/block/mmcblk0
lrwxrwxrwx root root 2020-03-30 16:07 mmcblk0boot0 -> /dev/block/mmcblk0boot0
lrwxrwxrwx root root 2020-03-30 16:07 mmcblk0boot1 -> /dev/block/mmcblk0boot1
lrwxrwxrwx root root 2020-03-30 16:07 mmcblk0p1 -> /dev/block/mmcblk0p1
lrwxrwxrwx root root 2020-03-30 16:07 mmcblk0p2 -> /dev/block/mmcblk0p2
lrwxrwxrwx root root 2020-03-30 16:07 mmcblk0p3 -> /dev/block/mmcblk0p3
lrwxrwxrwx root root 2020-03-30 16:07 mmcblk0p4 -> /dev/block/mmcblk0p4
lrwxrwxrwx root root 2020-03-30 16:07 mmcblk0p5 -> /dev/block/mmcblk0p5
lrwxrwxrwx root root 2020-03-30 16:07 mmcblk0p6 -> /dev/block/mmcblk0p6
lrwxrwxrwx root root 2020-03-30 16:07 mmcblk0p7 -> /dev/block/mmcblk0p7
lrwxrwxrwx root root 2020-03-30 16:07 mmcblk0p8 -> /dev/block/mmcblk0p8
lrwxrwxrwx root root 2020-03-30 16:07 mmcblk0p9 -> /dev/block/mmcblk0p9
/dev/block/platform/mtk-msdc.0/by-num:
lrwxrwxrwx root root 2020-03-30 16:07 p1 -> /dev/block/mmcblk0p1
lrwxrwxrwx root root 2020-03-30 16:07 p2 -> /dev/block/mmcblk0p2
lrwxrwxrwx root root 2020-03-30 16:07 p3 -> /dev/block/mmcblk0p3
lrwxrwxrwx root root 2020-03-30 16:07 p4 -> /dev/block/mmcblk0p4
lrwxrwxrwx root root 2020-03-30 16:07 p5 -> /dev/block/mmcblk0p5
lrwxrwxrwx root root 2020-03-30 16:07 p6 -> /dev/block/mmcblk0p6
lrwxrwxrwx root root 2020-03-30 16:07 p7 -> /dev/block/mmcblk0p7
lrwxrwxrwx root root 2020-03-30 16:07 p8 -> /dev/block/mmcblk0p8
lrwxrwxrwx root root 2020-03-30 16:07 p9 -> /dev/block/mmcblk0p9
shell@Pixi3-7_3G:/ $
Output of ls -alR /dev/block/platform when device is booted in recovery
~ # ls -alR /dev/block/platform
/dev/block/platform:
__bionic_open_tzdata: couldn't find any tzdata when looking for localtime!
__bionic_open_tzdata: couldn't find any tzdata when looking for GMT!
__bionic_open_tzdata: couldn't find any tzdata when looking for posixrules!
drwxr-xr-x 3 root root 60 Mar 30 13:11 .
drwxr-xr-x 4 root root 500 Mar 30 13:11 ..
drwxr-xr-x 3 root root 300 Mar 30 13:11 mtk-msdc.0
/dev/block/platform/mtk-msdc.0:
drwxr-xr-x 3 root root 300 Mar 30 13:11 .
drwxr-xr-x 3 root root 60 Mar 30 13:11 ..
drwxr-xr-x 2 root root 220 Mar 30 13:11 by-num
lrwxrwxrwx 1 root root 18 Mar 30 13:11 mmcblk0 -> /dev/block/mmcblk0
lrwxrwxrwx 1 root root 23 Mar 30 13:11 mmcblk0boot0 -> /dev/block/mmcblk0boot0
lrwxrwxrwx 1 root root 23 Mar 30 13:11 mmcblk0boot1 -> /dev/block/mmcblk0boot1
lrwxrwxrwx 1 root root 20 Mar 30 13:11 mmcblk0p1 -> /dev/block/mmcblk0p1
lrwxrwxrwx 1 root root 20 Mar 30 13:11 mmcblk0p2 -> /dev/block/mmcblk0p2
lrwxrwxrwx 1 root root 20 Mar 30 13:11 mmcblk0p3 -> /dev/block/mmcblk0p3
lrwxrwxrwx 1 root root 20 Mar 30 13:11 mmcblk0p4 -> /dev/block/mmcblk0p4
lrwxrwxrwx 1 root root 20 Mar 30 13:11 mmcblk0p5 -> /dev/block/mmcblk0p5
lrwxrwxrwx 1 root root 20 Mar 30 13:11 mmcblk0p6 -> /dev/block/mmcblk0p6
lrwxrwxrwx 1 root root 20 Mar 30 13:11 mmcblk0p7 -> /dev/block/mmcblk0p7
lrwxrwxrwx 1 root root 20 Mar 30 13:11 mmcblk0p8 -> /dev/block/mmcblk0p8
lrwxrwxrwx 1 root root 20 Mar 30 13:11 mmcblk0p9 -> /dev/block/mmcblk0p9
/dev/block/platform/mtk-msdc.0/by-num:
drwxr-xr-x 2 root root 220 Mar 30 13:11 .
drwxr-xr-x 3 root root 300 Mar 30 13:11 ..
lrwxrwxrwx 1 root root 20 Mar 30 13:11 p1 -> /dev/block/mmcblk0p1
lrwxrwxrwx 1 root root 20 Mar 30 13:11 p2 -> /dev/block/mmcblk0p2
lrwxrwxrwx 1 root root 20 Mar 30 13:11 p3 -> /dev/block/mmcblk0p3
lrwxrwxrwx 1 root root 20 Mar 30 13:11 p4 -> /dev/block/mmcblk0p4
lrwxrwxrwx 1 root root 20 Mar 30 13:11 p5 -> /dev/block/mmcblk0p5
lrwxrwxrwx 1 root root 20 Mar 30 13:11 p6 -> /dev/block/mmcblk0p6
lrwxrwxrwx 1 root root 20 Mar 30 13:11 p7 -> /dev/block/mmcblk0p7
lrwxrwxrwx 1 root root 20 Mar 30 13:11 p8 -> /dev/block/mmcblk0p8
lrwxrwxrwx 1 root root 20 Mar 30 13:11 p9 -> /dev/block/mmcblk0p9
~ #
@martobg10, did it work with any older Magisk version?
@osm0sis, please see this log I think it will help. This is the log from recovery.
What are my steps:
Full recovery log:
last_log.txt
Things that I noticed:
************************
* Magisk v20.3 Installer
************************
- Mounting /system
mount: can't find /system in /etc/fstab
! Cannot mount /system
- Unmounting partitions
***********************
Magisk 20.4 Installer
***********************
- Mounting /system
! Unable to detect target image
- Unmounting partitions
md5-537c4c2182d3664fe9def918ec9e3cdf
recovery filesystem table
=========================
0 /bootimg emmc /dev/bootimg 0
1 /recovery emmc /dev/recovery 0
2 /uboot emmc /dev/uboot 0
3 /system ext4 /emmc@android 0
4 /cache ext4 /emmc@cache 0
5 /data ext4 /emmc@usrdata 0
6 /storage/sdcard1 vfat /devices/platform/mtk-msdc.1/mmc_host/mmc1 0
7 /tmp ramdisk ramdisk 0
@osm0sis, I think this can also help. Maybe the problem is in my recovery.
recovery_experiments.txt
You didn't really answer my question.. I don't think this has ever worked on your device before, am I right?
I have an idea why it doesn't work. There is no by-name or named partitions under /dev/block, so find_block fails entirely there, which leaves the fallback in find_boot_image.
Can you try grep -v '#' /etc/*fstab* | grep -E '/boot[^a-zA-Z]' | grep -oE '/dev/[a-zA-Z0-9_./-]*' | head -n 1 in recovery?
You didn't really answer my question.. I don't think this has ever worked on your device before, am I right?
Yes
Can you try
grep -v '#' /etc/*fstab* | grep -E '/boot[^a-zA-Z]' | grep -oE '/dev/[a-zA-Z0-9_./-]*' | head -n 1in recovery?
~ # grep -v '#' /etc/*fstab* | grep -E '/boot[^a-zA-Z]' | grep -oE '/dev/[a-zA-Z
0-9_./-]*' | head -n 1
~ #
Nothing displayed.
Maybe this can help:
~ # cd /etc
/etc # ls
fstab mtab recovery.fstab
/etc # cat fstab
/emmc@android /system ext4 defaults
/emmc@cache /cache ext4 defaults
/emmc@usrdata /data ext4 defaults
/etc # cat recovery.fstab
# 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
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
/dev/bootimg /bootimg emmc defaults defaults
/dev/recovery /recovery emmc defaults defaults
/dev/uboot /uboot emmc defaults defaults
/emmc@android /system ext4 ro,noatime wait
/emmc@cache /cache ext4 noatime,nosuid,nodev,noauto_da_alloc wait
/emmc@usrdata /data ext4 noatime,nosuid,nodev,noauto_da_alloc wait,encryptable=footer
#/devices/platform/mtk-msdc.0/mmc_host/mmc0 auto vfat defaults voldmanaged=sdcard0:8
/devices/platform/mtk-msdc.1/mmc_host/mmc1 auto vfat defaults voldmanaged=sdcard1:auto
Now
grep -v '#' /etc/*fstab* | grep -E '/boot[a-zA-Z]' | grep -oE '/dev/[a-zA-Z0-9_./-]*' | head -n 1
and
find /dev \( -type b -o -type c -o -type l \) -iname bootimg | head -n 1
please. :slightly_smiling_face:
Wait there's _both_ uboot and bootimg here... interesting
grep -v '#' /etc/*fstab* | grep -E '/boot[a-zA-Z]' | grep -oE '/dev/[a-zA-Z0-9_./-]*' | head -n 1
Output:
/dev/bootimg
find /dev \( -type b -o -type c -o -type l \) -iname bootimg | head -n 1
Output:
Again /dev/bootimg
Awesome. I'll add both fixes. :wink:
My guess is it works on other devices like @Msprg's because it also has by-name links under /dev/block or something.
@Msprg, are things still working well on your NAND device?
@Msprg & @martobg10, can you both please give me the output of
ls -al /dev/blockon your devices while in recovery?@martobg10, did it work with any older Magisk version?
Sorry late to the party, is this still needed?
@Msprg, yeah would still be nice to confirm v20.4's zip is still working for you and then verify my hunch as to why. :+1:
Okay I got Magisk 20.401 (ef9d077c), Installation from TWRP seems to be working flawlessly. Instalation through Manager (canary) does not work.
More info later.
Okay I got Magisk 20.401 (ef9d077), Installation from TWRP seems to be working flawlessly. Instalation through Manager (canary) does not work.
More info later.
ls -al /dev/block and ls -alR /dev/block/platform while in recovery please. :+1:
There you go!
ls -al /dev/block
__bionic_open_tzdata: couldn't find any tzdata when looking for localtime!
__bionic_open_tzdata: couldn't find any tzdata when looking for GMT!
__bionic_open_tzdata: couldn't find any tzdata when looking for posixrules!
brw------- root root 7, 0 2020-03-30 16:57 loop0
brw------- root root 7, 1 2020-03-30 16:57 loop1
brw------- root root 7, 2 2020-03-30 16:57 loop2
brw------- root root 7, 3 2020-03-30 16:57 loop3
brw------- root root 7, 4 2020-03-30 16:57 loop4
brw------- root root 7, 5 2020-03-30 16:57 loop5
brw------- root root 7, 6 2020-03-30 16:57 loop6
brw------- root root 7, 7 2020-03-30 16:57 loop7
brw------- root root 179, 0 2020-03-30 16:57 mmcblk0
brw------- root root 179, 32 2020-03-30 16:57 mmcblk0boot0
brw------- root root 179, 64 2020-03-30 16:57 mmcblk0boot1
brw------- root root 179, 1 2020-03-30 16:57 mmcblk0p1
brw------- root root 179, 2 2020-03-30 16:57 mmcblk0p2
brw------- root root 179, 3 2020-03-30 16:57 mmcblk0p3
brw------- root root 179, 4 2020-03-30 16:57 mmcblk0p4
brw------- root root 179, 5 2020-03-30 16:57 mmcblk0p5
brw------- root root 179, 6 2020-03-30 16:57 mmcblk0p6
brw------- root root 179, 7 2020-03-30 16:57 mmcblk0p7
brw------- root root 179, 96 2020-03-30 16:57 mmcblk1
brw------- root root 179, 97 2020-03-30 16:57 mmcblk1p1
drwxr-xr-x root root 2020-03-30 16:57 platform
brw------- root root 253, 0 2020-03-30 16:57 zram0
aaand
ls -alR /dev/block/platform
/dev/block/platform:
__bionic_open_tzdata: couldn't find any tzdata when looking for localtime!
__bionic_open_tzdata: couldn't find any tzdata when looking for GMT!
__bionic_open_tzdata: couldn't find any tzdata when looking for posixrules!
drwxr-xr-x root root 2020-03-30 16:57 mtk-msdc.0
drwxr-xr-x root root 2020-03-30 16:57 mtk-msdc.1
/dev/block/platform/mtk-msdc.0:
drwxr-xr-x root root 2020-03-30 16:57 by-num
lrwxrwxrwx root root 2020-03-30 16:57 mmcblk0 -> /dev/block/mmcblk0
lrwxrwxrwx root root 2020-03-30 16:57 mmcblk0boot0 -> /dev/block/mmcblk0boot0
lrwxrwxrwx root root 2020-03-30 16:57 mmcblk0boot1 -> /dev/block/mmcblk0boot1
lrwxrwxrwx root root 2020-03-30 16:57 mmcblk0p1 -> /dev/block/mmcblk0p1
lrwxrwxrwx root root 2020-03-30 16:57 mmcblk0p2 -> /dev/block/mmcblk0p2
lrwxrwxrwx root root 2020-03-30 16:57 mmcblk0p3 -> /dev/block/mmcblk0p3
lrwxrwxrwx root root 2020-03-30 16:57 mmcblk0p4 -> /dev/block/mmcblk0p4
lrwxrwxrwx root root 2020-03-30 16:57 mmcblk0p5 -> /dev/block/mmcblk0p5
lrwxrwxrwx root root 2020-03-30 16:57 mmcblk0p6 -> /dev/block/mmcblk0p6
lrwxrwxrwx root root 2020-03-30 16:57 mmcblk0p7 -> /dev/block/mmcblk0p7
/dev/block/platform/mtk-msdc.0/by-num:
lrwxrwxrwx root root 2020-03-30 16:57 p1 -> /dev/block/mmcblk0p1
lrwxrwxrwx root root 2020-03-30 16:57 p2 -> /dev/block/mmcblk0p2
lrwxrwxrwx root root 2020-03-30 16:57 p3 -> /dev/block/mmcblk0p3
lrwxrwxrwx root root 2020-03-30 16:57 p4 -> /dev/block/mmcblk0p4
lrwxrwxrwx root root 2020-03-30 16:57 p5 -> /dev/block/mmcblk0p5
lrwxrwxrwx root root 2020-03-30 16:57 p6 -> /dev/block/mmcblk0p6
lrwxrwxrwx root root 2020-03-30 16:57 p7 -> /dev/block/mmcblk0p7
/dev/block/platform/mtk-msdc.1:
drwxr-xr-x root root 2020-03-30 16:57 by-num
lrwxrwxrwx root root 2020-03-30 16:57 mmcblk1 -> /dev/block/mmcblk1
lrwxrwxrwx root root 2020-03-30 16:57 mmcblk1p1 -> /dev/block/mmcblk1p1
/dev/block/platform/mtk-msdc.1/by-num:
lrwxrwxrwx root root 2020-03-30 16:57 p1 -> /dev/block/mmcblk1p1
Hmm that didn't explain how it works for yours and not his.. and I'd like to figure that out before I change anything.
@Msprg, can you try in recovery
ls -al /dev
and
find /dev/block -type l -iname boot | head -n 1
find /dev/block -type l -iname bootimg | head -n 1
aand
grep -v '#' /etc/*fstab* | grep -E '/boot[^a-zA-Z]' | grep -oE '/dev/[a-zA-Z0-9_./-]*' | head -n 1
aaand
toupper() { echo "$@" | tr '[:lower:]' '[:upper:]'; }
grep_prop() {
local REGEX="s/^$1=//p"
shift
local FILES=$@
sed -n "$REGEX" $FILES 2>/dev/null | head -n 1
}
for uevent in /sys/dev/block/*/uevent; do
local DEVNAME=`grep_prop DEVNAME $uevent`
local PARTNAME=`grep_prop PARTNAME $uevent`
if [ "`toupper bootimg`" = "`toupper $PARTNAME`" ]; then
echo /dev/block/$DEVNAME
break
fi
done
:raised_hands:
@martobg10, please show me the output of grep -v '#' /etc/*fstab* | grep -E '/boot(img)?[^a-zA-Z]' | grep -oE '/dev/[a-zA-Z0-9_./-]*' | head -n 1 as my previous change broke it on other devices. :roll_eyes:
Output of grep -v '#' /etc/*fstab* | grep -E '/boot(img)?[^a-zA-Z]' | grep -oE '/dev/[a-zA-Z0-9_./-]*' | head -n 1 in recovery
~ # grep -v '#' /etc/*fstab* | grep -E '/boot(img)?[^a-zA-Z]' | grep -oE '/dev/[
a-zA-Z0-9_./-]*' | head -n 1
/dev/bootimg
~ #
Output of grep -v '#' *fstab* | grep -E '/boot(img)?[^a-zA-Z]' | grep -oE '/dev/[a-zA-Z0-9_./-]*' | head -n 1 in system (fstab files are located in "/", not "/etc/")
Nothing displayed. These are the files that contain fstab in their names.
root@Pixi3-7_3G:/ # cat fstab.fat.nand
# Android fstab file.
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
# 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
/emmc@usrdata /data ext4 noatime,nosuid,nodev,noauto_da_alloc wait,check,encryptable=footer
/emmc@protect_f /protect_f ext4 noatime,nosuid,nodev,noauto_da_alloc wait,check
/emmc@protect_s /protect_s ext4 noatime,nosuid,nodev,noauto_da_alloc wait,check
/devices/platform/mtk-msdc.0/mmc_host auto vfat defaults voldmanaged=sdcard0:emmc@fat,noemulatedsd
/devices/platform/mtk-msdc.1/mmc_host auto vfat defaults voldmanaged=sdcard1:auto
/devices/platform/mt_usb auto vfat defaults voldmanaged=usbotg:auto
root@Pixi3-7_3G:/ # cat fstab.nand
# Android fstab file.
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
# 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
/emmc@usrdata /data ext4 noatime,nosuid,nodev,noauto_da_alloc wait,check,encryptable=footer
/emmc@protect_f /protect_f ext4 noatime,nosuid,nodev,noauto_da_alloc wait,check
/emmc@protect_s /protect_s ext4 noatime,nosuid,nodev,noauto_da_alloc wait,check
/devices/platform/mtk-msdc.0/mmc_host auto vfat defaults voldmanaged=sdcard0:emmc@fat,noemulatedsd
/devices/platform/mtk-msdc.1/mmc_host auto vfat defaults voldmanaged=sdcard1:auto
/devices/platform/mt_usb auto vfat defaults voldmanaged=usbotg:auto
root@Pixi3-7_3G:/ # cat fstab
# Android fstab file.
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
# 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
/emmc@usrdata /data ext4 noatime,nosuid,nodev,noauto_da_alloc wait,check,encryptable=footer
/emmc@protect_f /protect_f ext4 noatime,nosuid,nodev,noauto_da_alloc wait,check
/emmc@protect_s /protect_s ext4 noatime,nosuid,nodev,noauto_da_alloc wait,check
/devices/platform/mtk-msdc.0/mmc_host auto vfat defaults voldmanaged=sdcard0:emmc@fat,noemulatedsd
/devices/platform/mtk-msdc.1/mmc_host auto vfat defaults voldmanaged=sdcard1:auto
/devices/platform/mt_usb auto vfat defaults voldmanaged=usbotg:auto
well,
ls -al /dev
__bionic_open_tzdata: couldn't find any tzdata when looking for localtime!
__bionic_open_tzdata: couldn't find any tzdata when looking for GMT!
__bionic_open_tzdata: couldn't find any tzdata when looking for posixrules!
---------- root root 0 2020-03-31 08:42 .coldboot_done
crw------- root root 253, 0 2020-03-31 08:42 BOOT
crw------- root root 242, 0 2020-03-31 08:42 MTK_SMI
crw------- root root 251, 0 2020-03-31 08:42 MT_pmic_adc_cali
crw------- root root 10, 49 2020-03-31 08:42 RT_Monitor
-r--r--r-- root root 131072 2020-03-31 08:42 __properties__
crw------- root root 239, 0 2020-03-31 08:42 accdet
crw------- root root 10, 51 2020-03-31 08:42 aed0
crw------- root root 10, 50 2020-03-31 08:42 aed1
crw-rw-r-- system radio 10, 54 2020-03-31 08:42 alarm
crw------- root root 238, 15 2020-03-31 08:42 android
crw-rw---- adb adb 10, 28 2020-03-31 08:42 android_adb
crw-rw-rw- root root 10, 59 2020-03-31 08:42 ashmem
crw-rw-rw- root root 10, 60 2020-03-31 08:42 binder
drwxr-xr-x root root 2020-03-31 08:42 block
crw------- root root 238, 18 2020-03-31 08:42 bmtpool
crw------- root root 238, 9 2020-03-31 08:42 bootimg
crw------- root root 250, 0 2020-03-31 08:42 btif
drwxr-xr-x root root 2020-03-31 08:42 bus
crw------- root root 238, 16 2020-03-31 08:42 cache
crw------- root root 236, 0 2020-03-31 08:42 camera-isp
crw------- root root 233, 0 2020-03-31 08:42 camera-pipemgr
crw------- root root 235, 0 2020-03-31 08:42 camera-sysram
crw------- root root 5, 1 2020-03-31 08:42 console
crw------- root root 10, 31 2020-03-31 08:42 cpu_dma_latency
crw------- root root 10, 236 2020-03-31 08:42 device-mapper
crw------- root root 196, 0 2020-03-31 08:42 devmap
crw------- root root 244, 0 2020-03-31 08:42 dummy_cam_cal
crw------- root root 243, 0 2020-03-31 08:42 dummy_eeprom
crw-rw---- root audio 10, 43 2020-03-31 08:42 eac
crw------- root root 10, 46 2020-03-31 08:42 ebc
crw------- root root 238, 2 2020-03-31 08:42 ebr1
crw------- root root 238, 14 2020-03-31 08:42 expdb
crw-rw-rw- root root 1, 7 2020-03-31 08:42 full
crw------- root root 10, 229 2020-03-31 08:42 fuse
crw------- root root 234, 0 2020-03-31 08:42 gps
drwxr-xr-x root root 2020-03-31 08:42 graphics
crw------- root root 10, 33 2020-03-31 08:42 gsensor
crw------- root root 10, 36 2020-03-31 08:42 hid-keyboard
crw------- root root 10, 34 2020-03-31 08:42 hwmsensor
drwxr-xr-x root root 2020-03-31 08:42 input
crw------- root root 10, 48 2020-03-31 08:42 ion
crw------- root root 248, 0 2020-03-31 08:42 kd_camera_flashlight
crw------- root root 237, 0 2020-03-31 08:42 kd_camera_hw
crw------- root root 1, 11 2020-03-31 08:42 kmsg
drwxr-xr-x root root 2020-03-31 08:42 log
crw------- root root 238, 13 2020-03-31 08:42 logo
crw------- root root 10, 237 2020-03-31 08:42 loop-control
crw------- root root 10, 41 2020-03-31 08:42 mali0
crw------- root root 238, 1 2020-03-31 08:42 mbr
crw------- root root 238, 12 2020-03-31 08:42 misc
crw------- root root 10, 44 2020-03-31 08:42 misc-sd
crw------- root root 10, 45 2020-03-31 08:42 mt_otg_test
crw------- root root 10, 38 2020-03-31 08:42 mtfreqhopping
crw------- root root 10, 39 2020-03-31 08:42 mtgpio
crw------- root root 240, 0 2020-03-31 08:42 mtk-adc-cali
crw------- root root 10, 37 2020-03-31 08:42 mtk-kpd
crw------- root root 249, 0 2020-03-31 08:42 mtk_almk
crw------- root root 241, 0 2020-03-31 08:42 mtk_disp
crw------- root root 247, 0 2020-03-31 08:42 mtk_jpeg
crw------- root root 252, 0 2020-03-31 08:42 mtk_sched
crw------- root root 246, 0 2020-03-31 08:42 mtkfb_vsync
crw-rw---- root mtp 10, 27 2020-03-31 08:42 mtp_usb
crw------- root root 10, 30 2020-03-31 08:42 network_latency
crw------- root root 10, 29 2020-03-31 08:42 network_throughput
crw-rw-rw- root root 1, 3 2020-03-31 08:42 null
crw------- root root 238, 4 2020-03-31 08:42 nvram
crw------- root root 245, 0 2020-03-31 08:42 pmt
crw-rw---- radio vpn 108, 0 2020-03-31 08:42 ppp
crw------- root root 238, 0 2020-03-31 08:42 preloader
crw------- root root 238, 3 2020-03-31 08:42 pro_info
crw------- root root 238, 5 2020-03-31 08:42 protect_f
crw------- root root 238, 6 2020-03-31 08:42 protect_s
crw------- root root 10, 1 2020-03-31 08:42 psaux
crw-rw-rw- root root 5, 2 2020-03-31 08:44 ptmx
drwxr-xr-x root root 1970-01-01 00:00 pts
crw------- root root 2, 0 2020-03-31 08:42 ptyp0
crw------- root root 2, 1 2020-03-31 08:42 ptyp1
crw------- root root 2, 2 2020-03-31 08:42 ptyp2
crw------- root root 2, 3 2020-03-31 08:42 ptyp3
crw------- root root 2, 4 2020-03-31 08:42 ptyp4
crw------- root root 2, 5 2020-03-31 08:42 ptyp5
crw------- root root 2, 6 2020-03-31 08:42 ptyp6
crw------- root root 2, 7 2020-03-31 08:42 ptyp7
crw------- root root 2, 8 2020-03-31 08:42 ptyp8
crw------- root root 2, 9 2020-03-31 08:42 ptyp9
crw------- root root 2, 10 2020-03-31 08:42 ptypa
crw------- root root 2, 11 2020-03-31 08:42 ptypb
crw------- root root 2, 12 2020-03-31 08:42 ptypc
crw------- root root 2, 13 2020-03-31 08:42 ptypd
crw------- root root 2, 14 2020-03-31 08:42 ptype
crw------- root root 2, 15 2020-03-31 08:42 ptypf
crw-rw-rw- root root 1, 8 2020-03-31 08:42 random
crw------- root root 238, 10 2020-03-31 08:42 recovery
crw------- root root 254, 0 2020-03-31 08:42 rtc0
crw------- root root 238, 11 2020-03-31 08:42 sec_ro
crw------- root root 238, 7 2020-03-31 08:42 seccfg
crw------- root root 10, 231 2020-03-31 08:42 snapshot
drwxr-xr-x root root 2020-03-31 08:42 snd
drwxr-xr-x root root 2020-03-31 08:42 socket
crw------- root root 10, 63 2020-03-31 08:42 sw_sync
crw------- root root 10, 62 2020-03-31 08:42 tgt
crw------- root root 10, 32 2020-03-31 08:42 touch
crw------- root root 10, 47 2020-03-31 08:42 tpd_em_log
crw-rw-rw- root root 5, 0 2020-03-31 08:42 tty
crw------- root root 232, 0 2020-03-31 08:42 ttyGS0
crw------- root root 232, 1 2020-03-31 08:42 ttyGS1
crw------- root root 232, 2 2020-03-31 08:42 ttyGS2
crw------- root root 232, 3 2020-03-31 08:42 ttyGS3
crw------- root root 204, 209 2020-03-31 08:42 ttyMT0
crw------- root root 204, 210 2020-03-31 08:42 ttyMT1
crw------- root root 204, 211 2020-03-31 08:42 ttyMT2
crw------- root root 204, 212 2020-03-31 08:42 ttyMT3
crw------- root root 3, 0 2020-03-31 08:42 ttyp0
crw------- root root 3, 1 2020-03-31 08:42 ttyp1
crw------- root root 3, 2 2020-03-31 08:42 ttyp2
crw------- root root 3, 3 2020-03-31 08:42 ttyp3
crw------- root root 3, 4 2020-03-31 08:42 ttyp4
crw------- root root 3, 5 2020-03-31 08:42 ttyp5
crw------- root root 3, 6 2020-03-31 08:42 ttyp6
crw------- root root 3, 7 2020-03-31 08:42 ttyp7
crw------- root root 3, 8 2020-03-31 08:42 ttyp8
crw------- root root 3, 9 2020-03-31 08:42 ttyp9
crw------- root root 3, 10 2020-03-31 08:42 ttypa
crw------- root root 3, 11 2020-03-31 08:42 ttypb
crw------- root root 3, 12 2020-03-31 08:42 ttypc
crw------- root root 3, 13 2020-03-31 08:42 ttypd
crw------- root root 3, 14 2020-03-31 08:42 ttype
crw------- root root 3, 15 2020-03-31 08:42 ttypf
crw-rw---- system vpn 10, 200 2020-03-31 08:42 tun
crw------- root root 238, 8 2020-03-31 08:42 uboot
crw-rw---- system net_bt_stack 10, 61 2020-03-31 08:42 uhid
crw------- root root 10, 35 2020-03-31 08:42 uibc
crw-rw---- system net_bt_stack 10, 223 2020-03-31 08:42 uinput
crw-rw-rw- root root 1, 9 2020-03-31 08:42 urandom
drwxrwx--- shell shell 2020-03-31 08:42 usb-ffs
crw-rw---- root usb 10, 26 2020-03-31 08:42 usb_accessory
crw------- root root 238, 17 2020-03-31 08:42 usrdata
crw------- root root 10, 42 2020-03-31 08:42 uvvp_hotplug
crw------- root root 154, 0 2020-03-31 08:42 wmtdetect
crw------- root root 10, 53 2020-03-31 08:42 xLog
crw------- root root 10, 40 2020-03-31 08:42 xt_qtaguid
crw-rw-rw- root root 1, 5 2020-03-31 08:42 zero
both find found nothing.
output of ls -al /dev/block/
~ # ls -al /dev/block/
__bionic_open_tzdata: couldn't find any tzdata when looking for localtime!
__bionic_open_tzdata: couldn't find any tzdata when looking for GMT!
__bionic_open_tzdata: couldn't find any tzdata when looking for posixrules!
brw------- root root 7, 0 2020-03-31 08:42 loop0
brw------- root root 7, 1 2020-03-31 08:42 loop1
brw------- root root 7, 2 2020-03-31 08:42 loop2
brw------- root root 7, 3 2020-03-31 08:42 loop3
brw------- root root 7, 4 2020-03-31 08:42 loop4
brw------- root root 7, 5 2020-03-31 08:42 loop5
brw------- root root 7, 6 2020-03-31 08:42 loop6
brw------- root root 7, 7 2020-03-31 08:42 loop7
brw------- root root 179, 0 2020-03-31 08:42 mmcblk0
brw------- root root 179, 32 2020-03-31 08:42 mmcblk0boot0
brw------- root root 179, 64 2020-03-31 08:42 mmcblk0boot1
brw------- root root 179, 1 2020-03-31 08:42 mmcblk0p1
brw------- root root 179, 2 2020-03-31 08:42 mmcblk0p2
brw------- root root 179, 3 2020-03-31 08:42 mmcblk0p3
brw------- root root 179, 4 2020-03-31 08:42 mmcblk0p4
brw------- root root 179, 5 2020-03-31 08:42 mmcblk0p5
brw------- root root 179, 6 2020-03-31 08:42 mmcblk0p6
brw------- root root 179, 7 2020-03-31 08:42 mmcblk0p7
brw------- root root 179, 96 2020-03-31 08:42 mmcblk1
brw------- root root 179, 97 2020-03-31 08:42 mmcblk1p1
drwxr-xr-x root root 2020-03-31 08:42 platform
brw------- root root 253, 0 2020-03-31 08:42 zram0
now grep on the other hand...
~ # grep -v '#' /etc/*fstab* | grep -E '/boot[^a-zA-Z]' | grep -oE '/dev/[a-zA-Z
0-9_./-]*' | head -n 1
/dev/bootimg
~ #
aaand for your script... nothing happened.
~ # toupper() { echo "$@" | tr '[:lower:]' '[:upper:]'; }
~ # grep_prop() {
> local REGEX="s/^$1=//p"
> shift
> local FILES=$@
> sed -n "$REGEX" $FILES 2>/dev/null | head -n 1
> }
~ # for uevent in /sys/dev/block/*/uevent; do
> local DEVNAME=`grep_prop DEVNAME $uevent`
> local PARTNAME=`grep_prop PARTNAME $uevent`
> if [ "`toupper bootimg`" = "`toupper $PARTNAME`" ]; then
> echo /dev/block/$DEVNAME
> break
> fi
> done
~ #
I have also tried putting script into file and executing it. Script ran and no any result.
Aha! So something is laid out differently in your fstabs and that's why it finds /dev/bootimg on your device and not the OP's. Awesome.
Finally, @Msprg, please do:
grep -v '#' /etc/*fstab* | grep -E '/boot(img)?[^a-zA-Z]' | grep -oE '/dev/[a-zA-Z0-9_./-]*' | head -n 1
and then
find /dev \( -type b -o -type c -o -type l \) -iname bootimg | head -n 1
:slightly_smiling_face:
Okay so...
in /etc I have file fstab (content:)
/dev/block/mmcblk0p6 /cache ext4 rw 0 0
/dev/block/mmcblk0p7 /data ext4 rw 0 0
/dev/block/mmcblk0p5 /system ext4 rw 0 0
/dev/block/mmcblk1p1 /external_sd vfat rw 0 0
and recovery.fstab (content:)
# mount point fstype device [device2]
/boot emmc /dev/bootimg flags=display="Kernel";backup=1
/logo emmc /dev/logo flags=display="Logo";backup=1
/cache ext4 /emmc@cache flags=display="Cache";wipeingui;backup=1
/data ext4 /emmc@usrdata flags=display="data";storage;wipeingui;backup=1
/nvram emmc /dev/nvram flags=display="Nvram";backup=1
/recovery emmc /dev/recovery flags=display="Recovery";backup=1
/system ext4 /emmc@android flags=display="System";wipeingui;backup=1
/external_sd auto /dev/block/mmcblk1p1 /dev/block/mmcblk1 flags=display="MicroSD";storage;wipeingui;removable
Both of your grep and find commands, as you have written them, sucessfully found /dev/bootimg
Oh yes, @osm0sis and what about that magisk manager direct flashing not working? Is it suposed to be that way, RN, or is it someting still broken in canary manager?
Yep, that confirms it.
@Msprg's recovery.fstab has the boot line like this:
/boot emmc /dev/bootimg flags=display="Kernel";backup=1
where @martobg10's has:
/dev/bootimg /bootimg emmc defaults defaults
so it having it as /boot is why it could be found by the original find_boot_image fstab fallback while in recovery.
I believe fixing both those functions (find_block and find_boot_image) with my PR will get it working everywhere for you guys. :+1:
Most helpful comment
Awesome. I'll add both fixes. :wink:
My guess is it works on other devices like @Msprg's because it also has by-name links under /dev/block or something.