Odin: FAIL! (Auth) - Samsung Galaxy S10 5G Questions & Answers

I have a `system.img.ext4.lz4` file that is compatible with my Samsung S10 5G(Qualcomm) device. I have extracted `system.img.ext4` file from the `system.img.ext4.lz4` using `unlz4 system.img.ext4.lz4` command.
I want to play with its content. So I have decided it in two steps:
1. Flash `system.img.ext4` without modification:
- Using `tar -cvf AP.tar system.img.ext4` command, I have created a AP.tar file.
- Flashed `AP.tar` file using Odin3 v3.13.
- It flashed successfully.
2. Flash `system.img.ext4` with modification:
a) Modifying
- With `simg2img system.img.ext4 system.img`, you will get a raw image file named `system.img`
- With `mkdir system`, create directory to mount system.img
- With `sudo mount -t ext4 -o loop system.img system/` you will get all files of `system.img` in `system` folder
- With `ls -l system/init.rc` note permissions: 750
- With `sudo chmod 777 system/init.rc` give write permissions
- With `sudo echo "#MODIFICATION " >> system/init.rc` done some modification in `init.rc`
- With `sudo chmod 750 init.rc` reset `init.rc` to the noted permissions
b) Calculate system sector size
- With `tune2fs -l system.img | grep "Block size\|Block count"` you will get block size and count
- With `echo $((1553064 * 4096))` multiply both results. I got 6361350144
c) Packing
- With `sudo make_ext4fs -s -l 6361350144 -a system system_new.img sys/` you will get `system_new.img` “Android Sparse Image” that has all changes
- With `sudo umount system` unmount the system directory
- With `rm -fr system` delete the system directory
d) Tar Compression
- With `rm system.img.ext4` remove original system.img.ext4, Don’t worry you should have a backup of it in lz4 file
- With `mv system_new.img system.img.ext4` rename system_new.img to system.img.ext4 for flashing with Odin3 v3.13
- With `tar -cvf AP.tar system.img.ext4` you will get AP.tar that you can flash with Odin3 v3.13.
- It failed to flash with FAIL! (Auth) error.
Please suggest how can I resolve this issue?
I will be very thankful to you for any little to big suggestion.:angel:

Vats12 said:
I have a `system.img.ext4.lz4` file that is compatible with my Samsung S10 5G(Qualcomm) device. I have extracted `system.img.ext4` file from the `system.img.ext4.lz4` using `unlz4 system.img.ext4.lz4` command.
I want to play with its content. So I have decided it in two steps:
1. Flash `system.img.ext4` without modification:
- Using `tar -cvf AP.tar system.img.ext4` command, I have created a AP.tar file.
- Flashed `AP.tar` file using Odin3 v3.13.
- It flashed successfully.
2. Flash `system.img.ext4` with modification:
a) Modifying
- With `simg2img system.img.ext4 system.img`, you will get a raw image file named `system.img`
- With `mkdir system`, create directory to mount system.img
- With `sudo mount -t ext4 -o loop system.img system/` you will get all files of `system.img` in `system` folder
- With `ls -l system/init.rc` note permissions: 750
- With `sudo chmod 777 system/init.rc` give write permissions
- With `sudo echo "#MODIFICATION " >> system/init.rc` done some modification in `init.rc`
- With `sudo chmod 750 init.rc` reset `init.rc` to the noted permissions
b) Calculate system sector size
- With `tune2fs -l system.img | grep "Block size\|Block count"` you will get block size and count
- With `echo $((1553064 * 4096))` multiply both results. I got 6361350144
c) Packing
- With `sudo make_ext4fs -s -l 6361350144 -a system system_new.img sys/` you will get `system_new.img` “Android Sparse Image” that has all changes
- With `sudo umount system` unmount the system directory
- With `rm -fr system` delete the system directory
d) Tar Compression
- With `rm system.img.ext4` remove original system.img.ext4, Don’t worry you should have a backup of it in lz4 file
- With `mv system_new.img system.img.ext4` rename system_new.img to system.img.ext4 for flashing with Odin3 v3.13
- With `tar -cvf AP.tar system.img.ext4` you will get AP.tar that you can flash with Odin3 v3.13.
- It failed to flash with FAIL! (Auth) error.
Please suggest how can I resolve this issue?
I will be very thankful to you for any little to big suggestion.:angel:
Click to expand...
Click to collapse
you need to unlock your bl and/or flash in twrp.
if you are trying this on a locked bl it will not work since when u modify the system partition you break the sig and hashes etc etc

elliwigy said:
you need to unlock your bl and/or flash in twrp.
if you are trying this on a locked bl it will not work since when u modify the system partition you break the sig and hashes etc etc
Click to expand...
Click to collapse
The bootloader is already unlocked and after that I am getting this issue. Twrp is not available for this model of Samsung S10.

hi, what next about this problem?
i have same issue
Vats12 said:
The bootloader is already unlocked and after that I am getting this issue. Twrp is not available for this model of Samsung S10.
Click to expand...
Click to collapse

Related

[TUTORIAL] Self-assembly of Android Firmwares

I just saw a tutorial in 4PDA by R0iz and wanted to share it here!
The link to the original post translated:
http://tinyurl.com/self-assembly-androidOS
Extract the files *. img
To extract system.img, used unyaffs (http://code.google.com/p/unyaffs/)
I have compiled under Ubuntu 64. With Unyaffs can only be extracted system.img.
To extract boot.img use extract-kernel.pl and extract-ramdisk.pl
# extract-kernel.pl boot.img
# extract-ramdisk.pl boot.img
Click to expand...
Click to collapse
Rebuilding boot.img
After extracting boot.img with the enclosed extract-*. pl
In order to collect boot.img with Custom kernel in the same folder run:
# mkbootfs boot.img-ramdisk | gzip > ramdisk-boot
# mkbootimg --kernel boot.img-kernel --ramdisk ramdisk-boot --cmdline "no_console_suspend=1 console=null" -o newBoot.img --base 0x19200000
Click to expand...
Click to collapse
Rebuilding system.img
At first glance it seems that you can simply mount the image and format it with YAFFS, but it's not because, as SPL Hero does not allow flash system.img directly.
You must use the format update.zip packages for this. (читайте ниже) (See below)
Write update.zip quite simple really. For example, to add the package test.apk in your rum:
- Create an empty folder <workdir>
- Create a folder structure for test.apk (<workdir> / system / app) and copy test.apk
- Create a folder structure for the update-script (<workdir> / META-INF/com/google/android)
- Edit <workdir> / META-INF/com/google/android/update-script
- Insert the following:
show_progress 0.1 0 show_progress 0.1 0
copy_dir PACKAGE:system SYSTEM: copy_dir PACKAGE: system SYSTEM:
set_perm_recursive 0 0 0755 0644 SYSTEM:app set_perm_recursive 0 0 0755 0644 SYSTEM: app
show_progress 0.1 10 show_progress 0.1 10
- Pack the contents <workdir> in zip (not the folder itself <workdir>, only its contents)
Now you have to sign a zip file. Testsign.zip download and copy it to your <SDK> / tools.
Unzip it there, thus creating a sub-folder sign with a file testsign. in it.
Then in the folder <workdir>, run this command:
java-classpath "<SDK> / tools / sign / testsign.jar" testsign file.zip file-signed.zip
Everything is now ready for your update.zip pouring into the apparatus by a modified recovery.
Click to expand...
Click to collapse
Change. Apk package
apk can just unpack an archive, change what you need and pack it back. But in the end you have to sign it as well as update.zip packages.
ODEX files
- What is it? Answer
- How to get rid of them?
For deodex ODEX files, use this howto
Then you can create classes.dex file by running smali from your "out". Then rename it to classes.dex and add it to apk.
- How to create them?
Use dexopt-wrapper on the device.
Click to expand...
Click to collapse
Porting ROM with other devices.
Well, this part is simple smile_good.gif
- Extract system.img
- Extract boot.img
- Replace boot.img-kernel of the original Roma HTC Hero.
- Rebuild boot.img
- Collect update.zip (see how it's done in any Custom rum for Hero)
- Sign and flash.
Device should start, and even be able to call, but probably will not work WiFi, BT, trackball.
Androsign script (Linux)
Androsign allows you to quickly sign the zip and apk. Just put it in <SDK> / tools, then CHMOD + X. If the path to the folder \ tools registered in the PATH, then you can run this script by typing:
androsign /dev/folder1/folder2/update.zip
He will Update-signed.zip (or App-signed.apk, etc.) in the same folder where the original file.
THANKS ARE WELCOMED!
Can we actually use this to port Sense or MIUI ?
this explains part of the process, the steps to do fo that purpose extracting and rebuilding but of course not about the code. i've heard MIUI is complex than sense
Most of us know this allready but nice to see it being said instead of learning the hard way
Sent from my GT540 using XDA Premium App

[I9001] [SCRIPT] [ODIN] How to create an Odin package from a cwm-zip (or backup)

The script (see below) works as follows:
1. It takes the correct files from the BaseRom folder and copies them to the BuildOdin folder
2. If boot or recovery images exist in NewRom folder (extracted from the cwm zip) it will copy them to the BuildOdin folder too
3. It will create the system.img.ext4 file in the BuildOdin folder
4. It will copy the system folder in the NewRom folder to the system.img.ext4 file
5. It will tar and md5 the files in BuildOdin folder
So make sure you have:
1. The adsp.mbn, amss.mbn, cache.img.ext4 and preload.img.ext4 in the BaseRom folder
2. The boot.img and recovery.img in the NewRom folder (or BaseRom)
3. The system folder in the NewRom folder
And run the script
Code:
#!/bin/sh
echo 'Requesting password to allow running as root...'
sudo echo 'Thanks :)!'
# Make folder
if [ ! -d "BuildOdin" ]
then
mkdir BuildOdin
fi
# Copy BaseRom files
cp BaseRom/adsp.mbn BuildOdin/adsp.mbn
cp BaseRom/amss.mbn BuildOdin/amss.mbn
cp BaseRom/cache.img.ext4 BuildOdin/cache.img.ext4
cp BaseRom/preload.img.ext4 BuildOdin/preload.img.ext4
# Copy boot image
if [ -s NewRom/boot.img ]
then
cp NewRom/boot.img BuildOdin/boot.img
else
cp BaseRom/boot.img BuildOdin/boot.img
fi
# Copy recovery image
if [ -s NewRom/recovery.img ]
then
cp NewRom/recovery.img BuildOdin/recovery.img
else
cp BaseRom/recovery.img BuildOdin/recovery.img
fi
# Create system image
mysyssize=`du -s -h NewRom/system | awk 'BEGIN{FS="[M]"} {print $1}'`
mysyssizeincreased=$((mysyssize+50))
echo 'Filesize will be' $mysyssizeincreased 'MB'
echo 'dd empty image...'
dd if=/dev/zero of=BuildOdin/system.img.ext4 bs=1M count=$mysyssizeincreased >&- 2>&-
echo 'make it ext4...'
mke2fs -F -T ext4 BuildOdin/system.img.ext4 >&- 2>&-
echo 'mounting...'
sudo mount -t ext4 -o loop BuildOdin/system.img.ext4 /mnt >&- 2>&-
echo 'copying system...'
cp NewRom/system/* /mnt -rp
sync
echo 'unmounting...'
sudo umount /mnt
# Create Odin and Odin MD5 files
cd BuildOdin
echo 'tarring...'
tar -cf MyOdinpack.tar adsp.mbn amss.mbn boot.img cache.img.ext4 preload.img.ext4 recovery.img system.img.ext4
echo 'copying...'
cp MyOdinpack.tar MyOdinpack.tar.md5
echo 'md5sum...'
md5sum -t MyOdinpack.tar>>MyOdinpack.tar.md5
echo 'done!'
It looks like it works. I do have some stuff I am wondering about:
1. I have added 50 MB to the filesize, with 30 MB additional I still got a not enough diskspace error. Wondering why...
2. Will it work this way? When looking at a cwm-zip it does contain a system folder but they also contain some other stuff... who knows... anyone care to test?
Well, looks like it's not all that easy. The script works, it creates a file with the exact same files as the one created with dd on the device, but for some reason when using it in Odin, it doesn't work...
Creating the Odin package is superfast now, but will still require some more testing. I guess I should do it with a ROM that I have done before... but too lazy atm...
Btw, this way I could create an Odin package from a CWM backup too If ever needed, just let me know
Regards,
Nika.
you could try making system.img file, then rename it to system.img.ext4. Sound foolish probably, but sometimes these double extensions are just added as an indicator. in this case for the system to look up what partition type to take. (I could be horribly wrong tho. But there are like 0 tools on internet for an ext4 maker so not many options available)
Maybe create an empty ext4 image on PC, mount loopback in cwm and copy files to it.
Sent from my GT-I9001 using XDA App
Create image on your phone using busybox
Edit: I updated the script.
I played a bit with the busybox:
my working dir is /sdcard/external_sd/imgtest!
DD a file of ~300MB
busybox dd if=/dev/zero of=myimg.img bs=1M count=300
Create a ext4 filesystem on this img
busybox mke2fs -F -T ext4 -L Image myimg.img
Create a new /dev node, named "loop99", type "block device" (b), and some major and minor number
busybox mknod /dev/block/loop99 b 7 99
Prepare your new loop device with an img file (delete is with losetup -d /dev/block/loop99)
busybox losetup /dev/block/loop99 /sdcard/external_sd/imgtest/myimg.img
Mount it finally
busybox mount /dev/block/loop99 /sdcard/external_sd/imgtest/mymnt
Now you may copy what you want, say /system, to this img.
And unmount it (make sure it's not in use anymore)
busybox umount /dev/block/loop99
Maybe invoke some commands to check the size of /system? A quick one liner would be
busybox df /system -h | grep /system | awk 'BEGIN{FS="[M]"} {print $2}' | awk 'BEGIN{FS="[.]"} {print $1}'
Could be part of the shell script, saved to a variable and increased by some MB just to make sure^^
A very quick and dirty script:
#!/bin/sh
mysyssize=`busybox df /system -h | grep /system | awk 'BEGIN{FS="[M]"} {print $2}' | awk 'BEGIN{FS="[.]"} {print $1}'`
mysyssizeincreased=$((mysyssize+20))
mkdir /sdcard/external_sd/myimages
mkdir /sdcard/mnt/
mkdir /sdcard/mnt/mymnt
cd /sdcard/external_sd/myimages
echo Filesize is $mysyssizeincreased
echo Now dd a new image for your folder
echo dd in progress...
busybox dd if=/dev/zero of=myimgfile.img bs=1M count=$mysyssizeincreased
echo mke2fs with type ext4 on your file...
busybox mke2fs -F -T ext4 -L Imagename myimgfile.img
echo create new dev-node...
busybox mknod /dev/block/loop99 b 7 99
echo apply loopback setup on this node...
busybox losetup /dev/block/loop99 /sdcard/external_sd/myimages/myimgfile.img
echo mounting new image...
busybox mount /dev/block/loop99 /sdcard/mnt/mymnt
echo done!
echo
echo now copy your system files over preserving permissions...
cp /system/* /sdcard/mnt/mymnt -rp
sync
busybox umount /sdcard/mnt/mymnt
losetup -d /dev/block/loop99
rm /dev/block/loop99
echo done!
echo done!
echo done!
echo
Click to expand...
Click to collapse
Save as a .sh script and execute it. I tried with some ssh server on phone and shell on my PC.
Worked fine, but to be sure a test with a restore would be needed, so treat it as highly experimental.
Very nice, much appreciated!!! Will try (convert) them on ubuntu one of these days as I'd prefer to do the job on a dual-cpu machine
Well then you should skip the steps with mknod and so on. Mount is much more powerful there, so you should be able to do it with these commands:
dd if=/dev/zero of=/tmp/image bs=1M count=300
mkfs.ext4 /tmp/image
mount -o loop /tmp/image /mnt
Hmmm... getting a "is not a block special device" message when ext4-ing in linux. Either the command file is incorrect, or I need to suppress that message somehow... more news soon
Okay!! Here's the first version of the script:
Code:
#!/bin/sh
echo 'Requesting password to allow running as root...'
sudo echo 'Thanks :)!'
# Make folder
if [ ! -d "BuildOdin" ]
then
mkdir BuildOdin
fi
# Copy BaseRom files
cp BaseRom/adsp.mbn BuildOdin/adsp.mbn
cp BaseRom/amss.mbn BuildOdin/amss.mbn
cp BaseRom/cache.img.ext4 BuildOdin/cache.img.ext4
cp BaseRom/preload.img.ext4 BuildOdin/preload.img.ext4
# Copy boot image
if [ -s NewRom/boot.img ]
then
cp NewRom/boot.img BuildOdin/boot.img
else
cp BaseRom/boot.img BuildOdin/boot.img
fi
# Copy recovery image
if [ -s NewRom/recovery.img ]
then
cp NewRom/recovery.img BuildOdin/recovery.img
else
cp BaseRom/recovery.img BuildOdin/recovery.img
fi
# Create system image
mysyssize=`du -s -h NewRom/system | awk 'BEGIN{FS="[M]"} {print $1}'`
mysyssizeincreased=$((mysyssize+50))
echo 'Filesize will be' $mysyssizeincreased 'MB'
echo 'dd empty image...'
dd if=/dev/zero of=BuildOdin/system.img.ext4 bs=1M count=$mysyssizeincreased >&- 2>&-
echo 'make it ext4...'
mke2fs -F -T ext4 BuildOdin/system.img.ext4 >&- 2>&-
echo 'mounting...'
sudo mount -t ext4 -o loop BuildOdin/system.img.ext4 /mnt >&- 2>&-
echo 'copying system...'
cp NewRom/system/* /mnt -rp
sync
echo 'unmounting...'
sudo umount /mnt
# Create Odin and Odin MD5 files
cd BuildOdin
echo 'tarring...'
tar -cf MyOdinpack.tar adsp.mbn amss.mbn boot.img cache.img.ext4 preload.img.ext4 recovery.img system.img.ext4
echo 'copying...'
cp MyOdinpack.tar MyOdinpack.tar.md5
echo 'md5sum...'
md5sum -t MyOdinpack.tar>>MyOdinpack.tar.md5
echo 'done!'
It looks like it works. I do have some stuff I am wondering about:
1. I have added 50 MB to the filesize, with 30 MB additional I still got a not enough diskspace error. Wondering why...
2. Will it work this way? When looking at a cwm-zip it does contain a system folder but they also contain some other stuff... who knows... anyone care to test?
The script works as follows:
1. It takes the correct files from the BaseRom folder and copies them to the BuildOdin folder
2. If boot or recovery images exist in NewRom folder (extracted from the cwm zip) it will copy them to the BuildOdin folder too
3. It will create the system.img.ext4 file in the BuildOdin folder
4. It will copy the system folder in the NewRom folder to the system.img.ext4 file
5. It will tar and md5 the files in BuildOdin folder
So make sure you have:
1. The adsp.mbn, amss.mbn, cache.img.ext4 and preload.img.ext4 in the BaseRom folder
2. The boot.img and recovery.img in the NewRom folder (or BaseRom)
3. The system folder in the NewRom folder
And run the script
Regards,
Nika.
Well, looks like it's not all that easy. The script works, it creates a file with the exact same files as the one created with dd on the device, but for some reason when using it in Odin, it doesn't work...
Creating the Odin package is superfast now, but will still require some more testing. I guess I should do it with a ROM that I have done before... but too lazy atm...
Btw, this way I could create an Odin package from a CWM backup too If ever needed, just let me know
nikagl said:
Well, looks like it's not all that easy. The script works, it creates a file with the exact same files as the one created with dd on the device, but for some reason when using it in Odin, it doesn't work...
Creating the Odin package is superfast now, but will still require some more testing. I guess I should do it with a ROM that I have done before... but too lazy atm...
Btw, this way I could create an Odin package from a CWM backup too If ever needed, just let me know
Click to expand...
Click to collapse
I've been searching the forums for a general way to make Odin-flashable ROMs from CWM backups. I'm particularly interested in doing this for Samsung Galaxy 10.1/8.9/7.7 tabs (Honeycomb). Many tutorials use ADB and datadumps, which is fine but is very device-specific, and I haven't found one for the Honeycomb Galaxy Tabs. Using CWM backups seem cleanest and least-device specific way.
So I *AM* interested in how you would start with a full CWM backup, and (not using any base ROMs) get an Odin-flashable .tar.md5 file.
hmmmm bht ho gya hia yaar
kblam said:
I've been searching the forums for a general way to make Odin-flashable ROMs from CWM backups. I'm particularly interested in doing this for Samsung Galaxy 10.1/8.9/7.7 tabs (Honeycomb). Many tutorials use ADB and datadumps, which is fine but is very device-specific, and I haven't found one for the Honeycomb Galaxy Tabs. Using CWM backups seem cleanest and least-device specific way.
So I *AM* interested in how you would start with a full CWM backup, and (not using any base ROMs) get an Odin-flashable .tar.md5 file.
Click to expand...
Click to collapse
Hi kblam,
Well... it's still a work in progress. Not sure why it doesn't work at the moment, but here's my current script:
Code:
#!/bin/sh
echo 'Requesting password to allow running as root...'
sudo echo 'Thanks :)!'
# Make folder
if [ ! -d "BuildOdin" ]
then
mkdir BuildOdin
fi
# Copy BaseRom files
cp BaseRom/adsp.mbn BuildOdin/adsp.mbn
cp BaseRom/amss.mbn BuildOdin/amss.mbn
cp BaseRom/cache.img.ext4 BuildOdin/cache.img.ext4
cp BaseRom/preload.img.ext4 BuildOdin/preload.img.ext4
# Copy boot image
if [ -s NewRom/boot.img ]
then
cp NewRom/boot.img BuildOdin/boot.img
else
cp BaseRom/boot.img BuildOdin/boot.img
fi
# Copy recovery image
if [ -s NewRom/recovery.img ]
then
cp NewRom/recovery.img BuildOdin/recovery.img
else
cp BaseRom/recovery.img BuildOdin/recovery.img
fi
# Create system image
mysyssize=`du -s -h NewRom/system | awk 'BEGIN{FS="[M]"} {print $1}'`
mysyssizeincreased=$((mysyssize+50))
echo 'Filesize will be' $mysyssizeincreased 'MB'
echo 'dd empty image...'
dd if=/dev/zero of=BuildOdin/system.img.ext4 bs=1M count=$mysyssizeincreased >&- 2>&-
echo 'make it ext4...'
mke2fs -F -T ext4 BuildOdin/system.img.ext4 >&- 2>&-
echo 'mounting...'
sudo mount -t ext4 -o loop BuildOdin/system.img.ext4 /mnt >&- 2>&-
echo 'copying system...'
cp NewRom/system/* /mnt -rp
sync
echo 'unmounting...'
sudo umount /mnt
# Create Odin and Odin MD5 files
cd BuildOdin
echo 'tarring...'
tar -cf MyOdinpack.tar adsp.mbn amss.mbn boot.img cache.img.ext4 preload.img.ext4 recovery.img system.img.ext4
echo 'copying...'
cp MyOdinpack.tar MyOdinpack.tar.md5
echo 'md5sum...'
md5sum -t MyOdinpack.tar>>MyOdinpack.tar.md5
echo 'done!'
Taking out all unnessesary comments and commands, what it's supposed to do is the following:
1. First copy the files from the BaseRom (the ones you usually do not extract either):
Code:
cp BaseRom/adsp.mbn BuildOdin/adsp.mbn
cp BaseRom/amss.mbn BuildOdin/amss.mbn
cp BaseRom/cache.img.ext4 BuildOdin/cache.img.ext4
cp BaseRom/preload.img.ext4 BuildOdin/preload.img.ext4
2. Then take the boot and recovery from another folder as they usually need to be based on another kernel (f/e Skyhigh kernel ) and/or recovery (f/e CWM/Faemod):
Code:
cp NewRom/boot.img BuildOdin/boot.img
cp NewRom/recovery.img BuildOdin/recovery.img
3. Take the size of the new image (based on the system folder size + 50):
Code:
mysyssize=`du -s -h NewRom/system | awk 'BEGIN{FS="[M]"} {print $1}'`
mysyssizeincreased=$((mysyssize+50))
4. Create an empty system image
Code:
dd if=/dev/zero of=BuildOdin/system.img.ext4 bs=1M count=$mysyssizeincreased >&- 2>&-
5. Convert it to ext4
Code:
mke2fs -F -T ext4 BuildOdin/system.img.ext4 >&- 2>&-
6. Mount it and copy the new system files (can be unzipped from the cwm-zip) and unmount
Code:
sudo mount -t ext4 -o loop BuildOdin/system.img.ext4 /mnt >&- 2>&-
cp NewRom/system/* /mnt -rp
sync
sudo umount /mnt
7. The rest is same to building other md5 odin files. Combine them with tar and calculate and add the md5 sum
Code:
tar -cf MyOdinpack.tar adsp.mbn amss.mbn boot.img cache.img.ext4 preload.img.ext4 recovery.img system.img.ext4
cp MyOdinpack.tar MyOdinpack.tar.md5
md5sum -t MyOdinpack.tar>>MyOdinpack.tar.md5
As mentioned - I am not sure why the system image created this way does not work yet (I only tested it once) - maybe someone else is willing to test?
Regards,
Nika.

[Q] creating fastboot flashable system.img

I wish to modify the system image on my Xperia Z3+. I seem to be having trouble creating a fastboot flashable .img file that allows the phone to boot.
To test, I extracted the .ext4 file from the stock firmware system.sin that is currently installed on my Z3+ using FlashTool's SIN extractor. I mounted the resulting ext4 image using the loopback filesystem, following which I executed the command
Code:
make_ext4fs -s -l 5513412608 -a /system system.img system
The partition size is taken directly from the AOSP BoardConfig.mk for this device. I made no modifications to the filesystem - it's stock. It flashes successfully with fastboot using the same command that successfully flashes a AOSP built system.img
Code:
fastboot flash -s 256M system system.img
The system won't boot when fastboot flashing the converted SIN to IMG. There's something wrong with the way I'm creating the system.img file. It makes no difference if I add the SELinux file_contexts with the -T option and the file_contexts located in the system image.
Anyone have any pointers?
give some extra blocks
I modified the system image of 28.0.A.27 to include the newer stagefright libs from .251 and a su executable (unsucsessful: RIC and maybe SELinux).
I checked the image and added some - rounded up - extra blocks for my modifications (ls -l).
The device (Tablet Z4) booted but the media server did not come up and the booting did not finish. I could adb shell but had no touch GUI.
Maybe yours is another problem. If you can adb shell I would check the log.
And I did it this way (no /):
Code:
make_ext4fs -s -l 5big_number8 -a system system.img system
DHGE said:
I modified the system image of 28.0.A.27 to include the newer stagefright libs from .251 and a su executable (unsucsessful: RIC and maybe SELinux).
I checked the image and added some - rounded up - extra blocks for my modifications (ls -l).
The device (Tablet Z4) booted but the media server did not come up and the booting did not finish. I could adb shell but had no touch GUI.
Maybe yours is another problem. If you can adb shell I would check the log.
And I did it this way (no /):
Code:
make_ext4fs -s -l 5big_number8 -a system system.img system
Click to expand...
Click to collapse
I tried with and without the / but same problem. I can't get an adb shell as the device doesn't even start booting - it sticks on the Sony logo.

How to backup a partition

How to backup - let's say boot - partition to a fastboot flashable file (*.img) format?
For example:
Code:
dd if=/dev/block/platform/hi_mci.0/by-name/boot of=/sdcard/boot.img
and so on.
Kostyan_nsk said:
For example:
Code:
dd if=/dev/block/platform/hi_mci.0/by-name/boot of=/sdcard/boot.img
and so on.
Click to expand...
Click to collapse
Thanks. So fastboot is using dd images. Please do confirm.
Regards.
You can use only boot and recovery images extracted by dd for flashing via fastboot.
Kostyan_nsk said:
You can use only boot and recovery images extracted by dd for flashing via fastboot.
Click to expand...
Click to collapse
Thanks
Kostyan_nsk said:
For example:
Code:
dd if=/dev/block/platform/hi_mci.0/by-name/boot of=/sdcard/boot.img
and so on.
Click to expand...
Click to collapse
I have done the backup to the image file as you have suggested.
I have copied image file to the linux computer, but when I try to mount the image file I get:
mount -o loop boot_orig_B830.img /mnt/boot/
mount: /dev/loop0 is write-protected, mounting read-only
mount: wrong fs type, bad option, bad superblock on /dev/loop0,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so.
What is the file system for this image?
Length of the image file is:
ls -l boot_orig_B830.img
-rw-rw-r-- 1 test test 16777216 Lis 13 22:04 boot_orig_B830.img
For Linux: google "unpackbootimg", "gunzip" and "cpio".
For Windows: google "AndImgTool".

Where does the original boot.img for magisk restore needs to be put

I put the boot.img to the MagiskManager folder but this does not work. What do I need to do? I read something about gzipping but I'd be grateful for instructions
AFAIK you don't have to put stock boot.img anywhere as Magisk should have a backup of the stock boot at \root\data
You just need to select uninstall - restore images in Magisk Manager to restore stock boot.img
ckpv5 said:
AFAIK you don't have to put stock boot.img anywhere as Magisk should have a backup of the stock boot at \root\data
You just need to select uninstall - restore images in Magisk Manager to restore stock boot.img
Click to expand...
Click to collapse
Oh I forgot to say I used your images and fastboot but fastboot doesn't work currently for me so i tried to use the normal method.
Edit: Now i tried complete removal and now I am stuck on recovery screen with "no command". Fastboot is always reporting requested size more than allowed...
Don't you have the magisk backup stock boot at that location ?
Just check my current 9.6.13.0 (as example), both stock boot.img & magisk backup are same.
No idea how to fix your fastboot issue.
Benjamin_L said:
Edit: Now i tried complete removal and now I am stuck on recovery screen with "no command". Fastboot is always reporting requested size more than allowed...
Click to expand...
Click to collapse
Shouldn't try that before restore images is done.
Sorry.. no idea how to fix it without fastboot.
ckpv5 said:
Don't you have the magisk backup stock boot at that location ?
Just check my current 9.6.13.0 (as example), both stock boot.img & magisk backup are same.
No idea how to fix your fastboot issue.
Shouldn't try that before restore images is done.
Sorry.. no idea how to fix it without fastboot.
Click to expand...
Click to collapse
Fixed it with another laptop. Thank you for the time
How did you fix it ?
usernome said:
How did you fix it ?
Click to expand...
Click to collapse
FIX IT:
1 - Create a gzip archive named: stock_image_0.img.gz
2 - Put the file in your "/data" folder.
3 - GoTo "/root/sbin/.magisk" folder (is an hidden folder so you need to enable hidden files)
3 - Open file "config" and edit SHA1 string to "0". Usually that string is a SHA1 of the img file but i used "_0" so my SHA1 must be equal to "0".
4 - Now you are able to restore your stock boot image and you can do all other stuff to install your OTA Updates.
JDKerados said:
FIX IT:
1 - Create a gzip archive named: stock_image_0.img.gz
Click to expand...
Click to collapse
I needed to change that to /data/stock_boot_${SHA1}.img.gz ("boot" instead of "image") as found in Magisk sources.
Other than that it worked like a charm, thanks!
Is this info updated? im on android 12 magisk 24.7 and couldnt find those file and folders root and hidden acivated
JDKerados said:
FIX IT:
1 - Create a gzip archive named: stock_image_0.img.gz
2 - Put the file in your "/data" folder.
3 - GoTo "/root/sbin/.magisk" folder (is an hidden folder so you need to enable hidden files)
3 - Open file "config" and edit SHA1 string to "0". Usually that string is a SHA1 of the img file but i used "_0" so my SHA1 must be equal to "0".
4 - Now you are able to restore your stock boot image and you can do all other stuff to install your OTA Updates.
Click to expand...
Click to collapse
lap0 said:
I needed to change that to /data/stock_boot_${SHA1}.img.gz ("boot" instead of "image") as found in Magisk sources.
Other than that it worked like a charm, thanks!
Click to expand...
Click to collapse
rophiroth said:
Is this info updated? im on android 12 magisk 24.7 and couldnt find those file and folders root and hidden acivated
Click to expand...
Click to collapse
I'm in the same boat - I read that Magisk was supposed to autocreate a backup, if it did; it doesn't know where it went and I've tried a number of places (boot.img and gz zipped) and still nothing.
Android 12, Magisk 25.1
Thanks for any help!
I found this website:
fix-magisk-stock-backup-does-not-exist.md
GitHub Gist: instantly share code, notes, and snippets.
gist.github.com
I will post the edits I had to make below, but for the original, see the website.
** Load up Command Prompt on Windows**
# put stock boot.img into /sdcard/boot.img
# get sha1
adb shell
su
SHA1=$(cat $(magisk --path)/.magisk/config | grep SHA1 | cut -d '=' -f 2)
# repack boot.img.gz
gzip -9f /sdcard/boot.img
# restore backup
mkdir /data/magisk_backup_${SHA1}
mv /sdcard/boot.img.gz /data/magisk_backup_${SHA1}/boot.img.gz
chmod -R 755 /data/magisk_backup_${SHA1}
chown -R root.root /data/magisk_backup_${SHA1}
I was able to follow the guide to update from there, though to be fair, it's still "optimizing". Crossing my fingers.
b_fizzle said:
I found this website:
fix-magisk-stock-backup-does-not-exist.md
GitHub Gist: instantly share code, notes, and snippets.
gist.github.com
I will post the edits I had to make below, but for the original, see the website.
** Load up Command Prompt on Windows**
# put stock boot.img into /sdcard/boot.img
# get sha1
adb shell
su
SHA1=$(cat $(magisk --path)/.magisk/config | grep SHA1 | cut -d '=' -f 2)
# repack boot.img.gz
gzip -9f /sdcard/boot.img
# restore backup
mkdir /data/magisk_backup_${SHA1}
mv /sdcard/boot.img.gz /data/magisk_backup_${SHA1}/boot.img.gz
chmod -R 755 /data/magisk_backup_${SHA1}
chown -R root.root /data/magisk_backup_${SHA1}
I was able to follow the guide to update from there, though to be fair, it's still "optimizing". Crossing my fingers.
Click to expand...
Click to collapse
This wanted me today on the Nothing Phone 1. Thanks so much!
1.Create a gzip archive named: stock_image_0.img.gz
Guys how are you making this gzip.what application are you using or is just renaming the boot.img file to that.
b_fizzle said:
I found this website:
fix-magisk-stock-backup-does-not-exist.md
GitHub Gist: instantly share code, notes, and snippets.
gist.github.com
I will post the edits I had to make below, but for the original, see the website.
** Load up Command Prompt on Windows**
# put stock boot.img into /sdcard/boot.img
# get sha1
adb shell
su
SHA1=$(cat $(magisk --path)/.magisk/config | grep SHA1 | cut -d '=' -f 2)
# repack boot.img.gz
gzip -9f /sdcard/boot.img
# restore backup
mkdir /data/magisk_backup_${SHA1}
mv /sdcard/boot.img.gz /data/magisk_backup_${SHA1}/boot.img.gz
chmod -R 755 /data/magisk_backup_${SHA1}
chown -R root.root /data/magisk_backup_${SHA1}
I was able to follow the guide to update from there, though to be fair, it's still "optimizing". Crossing my fingers.
Click to expand...
Click to collapse
Magisk is refusing to allow superuser rights when I type su. I believe I have allowed apps and adb in magisk, but it's denying the su request.
how to get past this?
v.konvict said:
1.Create a gzip archive named: stock_image_0.img.gz
Guys how are you making this gzip.what application are you using or is just renaming the boot.img file to that.
Click to expand...
Click to collapse
That set of instructions didn't work for me - the one below that did (I'll quote it here):
b_fizzle said:
I found this website:
fix-magisk-stock-backup-does-not-exist.md
GitHub Gist: instantly share code, notes, and snippets.
gist.github.com
I will post the edits I had to make below, but for the original, see the website.
** Load up Command Prompt on Windows**
# put stock boot.img into /sdcard/boot.img
# get sha1
adb shell
su
SHA1=$(cat $(magisk --path)/.magisk/config | grep SHA1 | cut -d '=' -f 2)
# repack boot.img.gz
gzip -9f /sdcard/boot.img
# restore backup
mkdir /data/magisk_backup_${SHA1}
mv /sdcard/boot.img.gz /data/magisk_backup_${SHA1}/boot.img.gz
chmod -R 755 /data/magisk_backup_${SHA1}
chown -R root.root /data/magisk_backup_${SHA1}
I was able to follow the guide to update from there, though to be fair, it's still "optimizing". Crossing my fingers.
Click to expand...
Click to collapse
JustinChase said:
Magisk is refusing to allow superuser rights when I type su. I believe I have allowed apps and adb in magisk, but it's denying the su request.
how to get past this?
Click to expand...
Click to collapse
Honestly, I'm not sure. It sounds like ADB Debugging may not be enabled on the phone's Developer Settings(?)
b_fizzle said:
That set of instructions didn't work for me - the one below that did (I'll quote it here):
Click to expand...
Click to collapse
I fixed the problem with just making sure i root my phone by letting magisk patch the boot image as it backs up the stock one while making the patched one.
I dug a bit deeper and discovered that shell was disallowed from within Magisk for some reason. I have no recolleciton of it asking me, but once i enabled it in magisk, I was able to su in a prompt and get my problem solved.

Categories

Resources