Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
M
Magisk
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
Magisk
Commits
7f08c069
Commit
7f08c069
authored
Mar 07, 2019
by
topjohnwu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove unnecessary '--' from magiskboot actions
parent
8f4a6415
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
41 additions
and
34 deletions
+41
-34
main.cpp
native/jni/magiskboot/main.cpp
+25
-18
boot_patch.sh
scripts/boot_patch.sh
+12
-12
flash_script.sh
scripts/flash_script.sh
+3
-3
util_functions.sh
scripts/util_functions.sh
+1
-1
No files found.
native/jni/magiskboot/main.cpp
View file @
7f08c069
...
...
@@ -18,22 +18,22 @@ static void usage(char *arg0) {
"Usage: %s <action> [args...]
\n
"
"
\n
"
"Supported actions:
\n
"
"
--
unpack <bootimg>
\n
"
" unpack <bootimg>
\n
"
" Unpack <bootimg> to, if available, kernel, ramdisk.cpio,
\n
"
" second, dtb, extra, and recovery_dtbo into current directory.
\n
"
" Return values:
\n
"
" 0:valid 1:error 2:chromeos 3:ELF32 4:ELF64
\n
"
"
\n
"
"
--
repack <origbootimg> [outbootimg]
\n
"
" repack <origbootimg> [outbootimg]
\n
"
" Repack boot image components from current directory
\n
"
" to [outbootimg], or new-boot.img if not specified.
\n
"
" It will compress ramdisk.cpio and kernel with the same method in
\n
"
" <origbootimg> if the file provided is not already compressed.
\n
"
"
\n
"
"
--
hexpatch <file> <hexpattern1> <hexpattern2>
\n
"
" hexpatch <file> <hexpattern1> <hexpattern2>
\n
"
" Search <hexpattern1> in <file>, and replace with <hexpattern2>
\n
"
"
\n
"
"
--
cpio <incpio> [commands...]
\n
"
" cpio <incpio> [commands...]
\n
"
" Do cpio commands to <incpio> (modifications are done directly)
\n
"
" Each command is a single argument, use quotes if necessary
\n
"
" Supported commands:
\n
"
...
...
@@ -64,7 +64,7 @@ static void usage(char *arg0) {
" sha1
\n
"
" Print stock boot SHA1 if previously backed up in ramdisk
\n
"
"
\n
"
"
--
dtb-<cmd> <dtb>
\n
"
" dtb-<cmd> <dtb>
\n
"
" Do dtb related cmds to <dtb> (modifications are done directly)
\n
"
" Supported commands:
\n
"
" dump
\n
"
...
...
@@ -76,7 +76,7 @@ static void usage(char *arg0) {
" patch
\n
"
" Search for fstab and remove verity/avb
\n
"
"
\n
"
"
--
compress[=method] <infile> [outfile]
\n
"
" compress[=method] <infile> [outfile]
\n
"
" Compress <infile> with [method] (default: gzip), optionally to [outfile]
\n
"
" <infile>/[outfile] can be '-' to be STDIN/STDOUT
\n
"
" Supported methods: "
...
...
@@ -85,7 +85,7 @@ static void usage(char *arg0) {
fprintf
(
stderr
,
"%s "
,
it
.
first
.
data
());
fprintf
(
stderr
,
"
\n\n
"
"
--
decompress <infile> [outfile]
\n
"
" decompress <infile> [outfile]
\n
"
" Detect method and decompress <infile>, optionally to [outfile]
\n
"
" <infile>/[outfile] can be '-' to be STDIN/STDOUT
\n
"
" Supported methods: "
);
...
...
@@ -93,10 +93,10 @@ static void usage(char *arg0) {
fprintf
(
stderr
,
"%s "
,
it
.
first
.
data
());
fprintf
(
stderr
,
"
\n\n
"
"
--
sha1 <file>
\n
"
" sha1 <file>
\n
"
" Print the SHA1 checksum for <file>
\n
"
"
\n
"
"
--
cleanup
\n
"
" cleanup
\n
"
" Cleanup the current working directory
\n
"
"
\n
"
);
...
...
@@ -107,7 +107,14 @@ int main(int argc, char *argv[]) {
cmdline_logging
();
umask
(
0
);
if
(
argc
>
1
&&
strcmp
(
argv
[
1
],
"--cleanup"
)
==
0
)
{
if
(
argc
<
2
)
usage
(
argv
[
0
]);
// Skip '--' for backwards compatibility
if
(
strncmp
(
argv
[
1
],
"--"
,
2
)
==
0
)
argv
[
1
]
+=
2
;
if
(
strcmp
(
argv
[
1
],
"cleanup"
)
==
0
)
{
fprintf
(
stderr
,
"Cleaning up...
\n
"
);
unlink
(
KERNEL_FILE
);
unlink
(
RAMDISK_FILE
);
...
...
@@ -115,7 +122,7 @@ int main(int argc, char *argv[]) {
unlink
(
DTB_FILE
);
unlink
(
EXTRA_FILE
);
unlink
(
RECV_DTBO_FILE
);
}
else
if
(
argc
>
2
&&
strcmp
(
argv
[
1
],
"
--
sha1"
)
==
0
)
{
}
else
if
(
argc
>
2
&&
strcmp
(
argv
[
1
],
"sha1"
)
==
0
)
{
uint8_t
sha1
[
SHA_DIGEST_SIZE
];
void
*
buf
;
size_t
size
;
...
...
@@ -125,19 +132,19 @@ int main(int argc, char *argv[]) {
printf
(
"%02x"
,
i
);
printf
(
"
\n
"
);
munmap
(
buf
,
size
);
}
else
if
(
argc
>
2
&&
strcmp
(
argv
[
1
],
"
--
unpack"
)
==
0
)
{
}
else
if
(
argc
>
2
&&
strcmp
(
argv
[
1
],
"unpack"
)
==
0
)
{
return
unpack
(
argv
[
2
]);
}
else
if
(
argc
>
2
&&
strcmp
(
argv
[
1
],
"
--
repack"
)
==
0
)
{
}
else
if
(
argc
>
2
&&
strcmp
(
argv
[
1
],
"repack"
)
==
0
)
{
repack
(
argv
[
2
],
argv
[
3
]
?
argv
[
3
]
:
NEW_BOOT
);
}
else
if
(
argc
>
2
&&
strcmp
(
argv
[
1
],
"
--
decompress"
)
==
0
)
{
}
else
if
(
argc
>
2
&&
strcmp
(
argv
[
1
],
"decompress"
)
==
0
)
{
decompress
(
argv
[
2
],
argv
[
3
]);
}
else
if
(
argc
>
2
&&
strncmp
(
argv
[
1
],
"
--
compress"
,
10
)
==
0
)
{
}
else
if
(
argc
>
2
&&
strncmp
(
argv
[
1
],
"compress"
,
10
)
==
0
)
{
compress
(
argv
[
1
][
10
]
==
'='
?
&
argv
[
1
][
11
]
:
"gzip"
,
argv
[
2
],
argv
[
3
]);
}
else
if
(
argc
>
4
&&
strcmp
(
argv
[
1
],
"
--
hexpatch"
)
==
0
)
{
}
else
if
(
argc
>
4
&&
strcmp
(
argv
[
1
],
"hexpatch"
)
==
0
)
{
hexpatch
(
argv
[
2
],
argv
[
3
],
argv
[
4
]);
}
else
if
(
argc
>
2
&&
strcmp
(
argv
[
1
],
"
--
cpio"
)
==
0
)
{
}
else
if
(
argc
>
2
&&
strcmp
(
argv
[
1
],
"cpio"
)
==
0
)
{
if
(
cpio_commands
(
argc
-
2
,
argv
+
2
))
usage
(
argv
[
0
]);
}
else
if
(
argc
>
2
&&
strncmp
(
argv
[
1
],
"
--
dtb"
,
5
)
==
0
)
{
}
else
if
(
argc
>
2
&&
strncmp
(
argv
[
1
],
"dtb"
,
5
)
==
0
)
{
if
(
argv
[
1
][
5
]
!=
'-'
)
usage
(
argv
[
0
]);
if
(
dtb_commands
(
&
argv
[
1
][
6
],
argc
-
2
,
argv
+
2
))
...
...
scripts/boot_patch.sh
View file @
7f08c069
...
...
@@ -71,7 +71,7 @@ chmod -R 755 .
CHROMEOS
=
false
ui_print
"- Unpacking boot image"
./magiskboot
--
unpack
"
$BOOTIMAGE
"
./magiskboot unpack
"
$BOOTIMAGE
"
case
$?
in
1
)
...
...
@@ -90,7 +90,7 @@ esac
# Test patch status and do restore
ui_print
"- Checking ramdisk status"
if
[
-e
ramdisk.cpio
]
;
then
./magiskboot
--
cpio
ramdisk.cpio
test
./magiskboot cpio ramdisk.cpio
test
STATUS
=
$?
else
# Stock A only system-as-root
...
...
@@ -102,15 +102,15 @@ case $((STATUS & 3)) in
ui_print
"- Backing up stock boot image"
SHA1
=
`
./magiskboot
--sha1
"
$BOOTIMAGE
"
2>/dev/null
`
STOCKDUMP
=
stock_boot_
${
SHA1
}
.img.gz
./magiskboot
--
compress
"
$BOOTIMAGE
"
$STOCKDUMP
./magiskboot compress
"
$BOOTIMAGE
"
$STOCKDUMP
cp
-af
ramdisk.cpio ramdisk.cpio.orig 2>/dev/null
;;
1
)
# Magisk patched
ui_print
"- Magisk patched boot image detected"
# Find SHA1 of stock boot image
[
-z
$SHA1
]
&&
SHA1
=
`
./magiskboot
--cpio
ramdisk.cpio sha1 2>/dev/null
`
./magiskboot
--
cpio
ramdisk.cpio restore
if
./magiskboot
--
cpio
ramdisk.cpio
"exists init.rc"
;
then
./magiskboot cpio ramdisk.cpio restore
if
./magiskboot cpio ramdisk.cpio
"exists init.rc"
;
then
# Normal boot image
cp
-af
ramdisk.cpio ramdisk.cpio.orig
else
...
...
@@ -134,7 +134,7 @@ echo "KEEPVERITY=$KEEPVERITY" > config
echo
"KEEPFORCEENCRYPT=
$KEEPFORCEENCRYPT
"
>>
config
[
!
-z
$SHA1
]
&&
echo
"SHA1=
$SHA1
"
>>
config
./magiskboot
--
cpio
ramdisk.cpio
\
./magiskboot cpio ramdisk.cpio
\
"add 750 init magiskinit"
\
"patch
$KEEPVERITY
$KEEPFORCEENCRYPT
"
\
"backup ramdisk.cpio.orig"
\
...
...
@@ -153,24 +153,24 @@ rm -f ramdisk.cpio.orig config
##########################################################################################
if
!
$KEEPVERITY
;
then
[
-f
dtb
]
&&
./magiskboot
--
dtb-patch
dtb
&&
ui_print
"- Removing dm(avb)-verity in dtb"
[
-f
extra
]
&&
./magiskboot
--
dtb-patch
extra
&&
ui_print
"- Removing dm(avb)-verity in extra-dtb"
[
-f
dtb
]
&&
./magiskboot dtb-patch dtb
&&
ui_print
"- Removing dm(avb)-verity in dtb"
[
-f
extra
]
&&
./magiskboot dtb-patch extra
&&
ui_print
"- Removing dm(avb)-verity in extra-dtb"
fi
if
[
-f
kernel
]
;
then
# Remove Samsung RKP
./magiskboot
--
hexpatch
kernel
\
./magiskboot hexpatch kernel
\
49010054011440B93FA00F71E9000054010840B93FA00F7189000054001840B91FA00F7188010054
\
A1020054011440B93FA00F7140020054010840B93FA00F71E0010054001840B91FA00F7181010054
# Remove Samsung defex
# Before: [mov w2, #-221] (-__NR_execve)
# After: [mov w2, #-32768]
./magiskboot
--
hexpatch
kernel 821B8012 E2FF8F12
./magiskboot hexpatch kernel 821B8012 E2FF8F12
# Force kernel to load rootfs
# skip_initramfs -> want_initramfs
./magiskboot
--
hexpatch
kernel
\
./magiskboot hexpatch kernel
\
736B69705F696E697472616D667300
\
77616E745F696E697472616D667300
fi
...
...
@@ -180,7 +180,7 @@ fi
##########################################################################################
ui_print
"- Repacking boot image"
./magiskboot
--
repack
"
$BOOTIMAGE
"
||
abort
"! Unable to repack boot image!"
./magiskboot repack
"
$BOOTIMAGE
"
||
abort
"! Unable to repack boot image!"
# Sign chromeos boot
$CHROMEOS
&&
sign_chromeos
...
...
scripts/flash_script.sh
View file @
7f08c069
...
...
@@ -109,12 +109,12 @@ ui_print "- Flashing new boot image"
if
!
flash_image new-boot.img
"
$BOOTIMAGE
"
;
then
ui_print
"- Compressing ramdisk to fit in partition"
./magiskboot
--
cpio
ramdisk.cpio compress
./magiskboot
--
repack
"
$BOOTIMAGE
"
./magiskboot cpio ramdisk.cpio compress
./magiskboot repack
"
$BOOTIMAGE
"
flash_image new-boot.img
"
$BOOTIMAGE
"
||
abort
"! Insufficient partition size"
fi
./magiskboot
--
cleanup
./magiskboot cleanup
rm
-f
new-boot.img
if
[
-f
stock_boot
*
]
;
then
...
...
scripts/util_functions.sh
View file @
7f08c069
...
...
@@ -247,7 +247,7 @@ flash_image() {
# Make sure all blocks are writable
$MAGISKBIN
/magisk
--unlock-blocks
2>/dev/null
case
"
$1
"
in
*
.gz
)
CMD1
=
"
$MAGISKBIN
/magiskboot
--
decompress '
$1
' - 2>/dev/null"
;;
*
.gz
)
CMD1
=
"
$MAGISKBIN
/magiskboot decompress '
$1
' - 2>/dev/null"
;;
*
)
CMD1
=
"cat '
$1
'"
;;
esac
if
$BOOTSIGNED
;
then
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment