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
Show 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) {
...
@@ -18,22 +18,22 @@ static void usage(char *arg0) {
"Usage: %s <action> [args...]
\n
"
"Usage: %s <action> [args...]
\n
"
"
\n
"
"
\n
"
"Supported actions:
\n
"
"Supported actions:
\n
"
"
--
unpack <bootimg>
\n
"
" unpack <bootimg>
\n
"
" Unpack <bootimg> to, if available, kernel, ramdisk.cpio,
\n
"
" Unpack <bootimg> to, if available, kernel, ramdisk.cpio,
\n
"
" second, dtb, extra, and recovery_dtbo into current directory.
\n
"
" second, dtb, extra, and recovery_dtbo into current directory.
\n
"
" Return values:
\n
"
" Return values:
\n
"
" 0:valid 1:error 2:chromeos 3:ELF32 4:ELF64
\n
"
" 0:valid 1:error 2:chromeos 3:ELF32 4:ELF64
\n
"
"
\n
"
"
\n
"
"
--
repack <origbootimg> [outbootimg]
\n
"
" repack <origbootimg> [outbootimg]
\n
"
" Repack boot image components from current directory
\n
"
" Repack boot image components from current directory
\n
"
" to [outbootimg], or new-boot.img if not specified.
\n
"
" to [outbootimg], or new-boot.img if not specified.
\n
"
" It will compress ramdisk.cpio and kernel with the same method in
\n
"
" It will compress ramdisk.cpio and kernel with the same method in
\n
"
" <origbootimg> if the file provided is not already compressed.
\n
"
" <origbootimg> if the file provided is not already compressed.
\n
"
"
\n
"
"
\n
"
"
--
hexpatch <file> <hexpattern1> <hexpattern2>
\n
"
" hexpatch <file> <hexpattern1> <hexpattern2>
\n
"
" Search <hexpattern1> in <file>, and replace with <hexpattern2>
\n
"
" Search <hexpattern1> in <file>, and replace with <hexpattern2>
\n
"
"
\n
"
"
\n
"
"
--
cpio <incpio> [commands...]
\n
"
" cpio <incpio> [commands...]
\n
"
" Do cpio commands to <incpio> (modifications are done directly)
\n
"
" Do cpio commands to <incpio> (modifications are done directly)
\n
"
" Each command is a single argument, use quotes if necessary
\n
"
" Each command is a single argument, use quotes if necessary
\n
"
" Supported commands:
\n
"
" Supported commands:
\n
"
...
@@ -64,7 +64,7 @@ static void usage(char *arg0) {
...
@@ -64,7 +64,7 @@ static void usage(char *arg0) {
" sha1
\n
"
" sha1
\n
"
" Print stock boot SHA1 if previously backed up in ramdisk
\n
"
" Print stock boot SHA1 if previously backed up in ramdisk
\n
"
"
\n
"
"
\n
"
"
--
dtb-<cmd> <dtb>
\n
"
" dtb-<cmd> <dtb>
\n
"
" Do dtb related cmds to <dtb> (modifications are done directly)
\n
"
" Do dtb related cmds to <dtb> (modifications are done directly)
\n
"
" Supported commands:
\n
"
" Supported commands:
\n
"
" dump
\n
"
" dump
\n
"
...
@@ -76,7 +76,7 @@ static void usage(char *arg0) {
...
@@ -76,7 +76,7 @@ static void usage(char *arg0) {
" patch
\n
"
" patch
\n
"
" Search for fstab and remove verity/avb
\n
"
" Search for fstab and remove verity/avb
\n
"
"
\n
"
"
\n
"
"
--
compress[=method] <infile> [outfile]
\n
"
" compress[=method] <infile> [outfile]
\n
"
" Compress <infile> with [method] (default: gzip), optionally to [outfile]
\n
"
" Compress <infile> with [method] (default: gzip), optionally to [outfile]
\n
"
" <infile>/[outfile] can be '-' to be STDIN/STDOUT
\n
"
" <infile>/[outfile] can be '-' to be STDIN/STDOUT
\n
"
" Supported methods: "
" Supported methods: "
...
@@ -85,7 +85,7 @@ static void usage(char *arg0) {
...
@@ -85,7 +85,7 @@ static void usage(char *arg0) {
fprintf
(
stderr
,
"%s "
,
it
.
first
.
data
());
fprintf
(
stderr
,
"%s "
,
it
.
first
.
data
());
fprintf
(
stderr
,
fprintf
(
stderr
,
"
\n\n
"
"
\n\n
"
"
--
decompress <infile> [outfile]
\n
"
" decompress <infile> [outfile]
\n
"
" Detect method and decompress <infile>, optionally to [outfile]
\n
"
" Detect method and decompress <infile>, optionally to [outfile]
\n
"
" <infile>/[outfile] can be '-' to be STDIN/STDOUT
\n
"
" <infile>/[outfile] can be '-' to be STDIN/STDOUT
\n
"
" Supported methods: "
);
" Supported methods: "
);
...
@@ -93,10 +93,10 @@ static void usage(char *arg0) {
...
@@ -93,10 +93,10 @@ static void usage(char *arg0) {
fprintf
(
stderr
,
"%s "
,
it
.
first
.
data
());
fprintf
(
stderr
,
"%s "
,
it
.
first
.
data
());
fprintf
(
stderr
,
fprintf
(
stderr
,
"
\n\n
"
"
\n\n
"
"
--
sha1 <file>
\n
"
" sha1 <file>
\n
"
" Print the SHA1 checksum for <file>
\n
"
" Print the SHA1 checksum for <file>
\n
"
"
\n
"
"
\n
"
"
--
cleanup
\n
"
" cleanup
\n
"
" Cleanup the current working directory
\n
"
" Cleanup the current working directory
\n
"
"
\n
"
);
"
\n
"
);
...
@@ -107,7 +107,14 @@ int main(int argc, char *argv[]) {
...
@@ -107,7 +107,14 @@ int main(int argc, char *argv[]) {
cmdline_logging
();
cmdline_logging
();
umask
(
0
);
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
"
);
fprintf
(
stderr
,
"Cleaning up...
\n
"
);
unlink
(
KERNEL_FILE
);
unlink
(
KERNEL_FILE
);
unlink
(
RAMDISK_FILE
);
unlink
(
RAMDISK_FILE
);
...
@@ -115,7 +122,7 @@ int main(int argc, char *argv[]) {
...
@@ -115,7 +122,7 @@ int main(int argc, char *argv[]) {
unlink
(
DTB_FILE
);
unlink
(
DTB_FILE
);
unlink
(
EXTRA_FILE
);
unlink
(
EXTRA_FILE
);
unlink
(
RECV_DTBO_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
];
uint8_t
sha1
[
SHA_DIGEST_SIZE
];
void
*
buf
;
void
*
buf
;
size_t
size
;
size_t
size
;
...
@@ -125,19 +132,19 @@ int main(int argc, char *argv[]) {
...
@@ -125,19 +132,19 @@ int main(int argc, char *argv[]) {
printf
(
"%02x"
,
i
);
printf
(
"%02x"
,
i
);
printf
(
"
\n
"
);
printf
(
"
\n
"
);
munmap
(
buf
,
size
);
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
]);
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
);
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
]);
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
]);
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
]);
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
]);
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
]
!=
'-'
)
if
(
argv
[
1
][
5
]
!=
'-'
)
usage
(
argv
[
0
]);
usage
(
argv
[
0
]);
if
(
dtb_commands
(
&
argv
[
1
][
6
],
argc
-
2
,
argv
+
2
))
if
(
dtb_commands
(
&
argv
[
1
][
6
],
argc
-
2
,
argv
+
2
))
...
...
scripts/boot_patch.sh
View file @
7f08c069
...
@@ -71,7 +71,7 @@ chmod -R 755 .
...
@@ -71,7 +71,7 @@ chmod -R 755 .
CHROMEOS
=
false
CHROMEOS
=
false
ui_print
"- Unpacking boot image"
ui_print
"- Unpacking boot image"
./magiskboot
--
unpack
"
$BOOTIMAGE
"
./magiskboot unpack
"
$BOOTIMAGE
"
case
$?
in
case
$?
in
1
)
1
)
...
@@ -90,7 +90,7 @@ esac
...
@@ -90,7 +90,7 @@ esac
# Test patch status and do restore
# Test patch status and do restore
ui_print
"- Checking ramdisk status"
ui_print
"- Checking ramdisk status"
if
[
-e
ramdisk.cpio
]
;
then
if
[
-e
ramdisk.cpio
]
;
then
./magiskboot
--
cpio
ramdisk.cpio
test
./magiskboot cpio ramdisk.cpio
test
STATUS
=
$?
STATUS
=
$?
else
else
# Stock A only system-as-root
# Stock A only system-as-root
...
@@ -102,15 +102,15 @@ case $((STATUS & 3)) in
...
@@ -102,15 +102,15 @@ case $((STATUS & 3)) in
ui_print
"- Backing up stock boot image"
ui_print
"- Backing up stock boot image"
SHA1
=
`
./magiskboot
--sha1
"
$BOOTIMAGE
"
2>/dev/null
`
SHA1
=
`
./magiskboot
--sha1
"
$BOOTIMAGE
"
2>/dev/null
`
STOCKDUMP
=
stock_boot_
${
SHA1
}
.img.gz
STOCKDUMP
=
stock_boot_
${
SHA1
}
.img.gz
./magiskboot
--
compress
"
$BOOTIMAGE
"
$STOCKDUMP
./magiskboot compress
"
$BOOTIMAGE
"
$STOCKDUMP
cp
-af
ramdisk.cpio ramdisk.cpio.orig 2>/dev/null
cp
-af
ramdisk.cpio ramdisk.cpio.orig 2>/dev/null
;;
;;
1
)
# Magisk patched
1
)
# Magisk patched
ui_print
"- Magisk patched boot image detected"
ui_print
"- Magisk patched boot image detected"
# Find SHA1 of stock boot image
# Find SHA1 of stock boot image
[
-z
$SHA1
]
&&
SHA1
=
`
./magiskboot
--cpio
ramdisk.cpio sha1 2>/dev/null
`
[
-z
$SHA1
]
&&
SHA1
=
`
./magiskboot
--cpio
ramdisk.cpio sha1 2>/dev/null
`
./magiskboot
--
cpio
ramdisk.cpio restore
./magiskboot cpio ramdisk.cpio restore
if
./magiskboot
--
cpio
ramdisk.cpio
"exists init.rc"
;
then
if
./magiskboot cpio ramdisk.cpio
"exists init.rc"
;
then
# Normal boot image
# Normal boot image
cp
-af
ramdisk.cpio ramdisk.cpio.orig
cp
-af
ramdisk.cpio ramdisk.cpio.orig
else
else
...
@@ -134,7 +134,7 @@ echo "KEEPVERITY=$KEEPVERITY" > config
...
@@ -134,7 +134,7 @@ echo "KEEPVERITY=$KEEPVERITY" > config
echo
"KEEPFORCEENCRYPT=
$KEEPFORCEENCRYPT
"
>>
config
echo
"KEEPFORCEENCRYPT=
$KEEPFORCEENCRYPT
"
>>
config
[
!
-z
$SHA1
]
&&
echo
"SHA1=
$SHA1
"
>>
config
[
!
-z
$SHA1
]
&&
echo
"SHA1=
$SHA1
"
>>
config
./magiskboot
--
cpio
ramdisk.cpio
\
./magiskboot cpio ramdisk.cpio
\
"add 750 init magiskinit"
\
"add 750 init magiskinit"
\
"patch
$KEEPVERITY
$KEEPFORCEENCRYPT
"
\
"patch
$KEEPVERITY
$KEEPFORCEENCRYPT
"
\
"backup ramdisk.cpio.orig"
\
"backup ramdisk.cpio.orig"
\
...
@@ -153,24 +153,24 @@ rm -f ramdisk.cpio.orig config
...
@@ -153,24 +153,24 @@ rm -f ramdisk.cpio.orig config
##########################################################################################
##########################################################################################
if
!
$KEEPVERITY
;
then
if
!
$KEEPVERITY
;
then
[
-f
dtb
]
&&
./magiskboot
--
dtb-patch
dtb
&&
ui_print
"- Removing dm(avb)-verity in 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"
[
-f
extra
]
&&
./magiskboot dtb-patch extra
&&
ui_print
"- Removing dm(avb)-verity in extra-dtb"
fi
fi
if
[
-f
kernel
]
;
then
if
[
-f
kernel
]
;
then
# Remove Samsung RKP
# Remove Samsung RKP
./magiskboot
--
hexpatch
kernel
\
./magiskboot hexpatch kernel
\
49010054011440B93FA00F71E9000054010840B93FA00F7189000054001840B91FA00F7188010054
\
49010054011440B93FA00F71E9000054010840B93FA00F7189000054001840B91FA00F7188010054
\
A1020054011440B93FA00F7140020054010840B93FA00F71E0010054001840B91FA00F7181010054
A1020054011440B93FA00F7140020054010840B93FA00F71E0010054001840B91FA00F7181010054
# Remove Samsung defex
# Remove Samsung defex
# Before: [mov w2, #-221] (-__NR_execve)
# Before: [mov w2, #-221] (-__NR_execve)
# After: [mov w2, #-32768]
# After: [mov w2, #-32768]
./magiskboot
--
hexpatch
kernel 821B8012 E2FF8F12
./magiskboot hexpatch kernel 821B8012 E2FF8F12
# Force kernel to load rootfs
# Force kernel to load rootfs
# skip_initramfs -> want_initramfs
# skip_initramfs -> want_initramfs
./magiskboot
--
hexpatch
kernel
\
./magiskboot hexpatch kernel
\
736B69705F696E697472616D667300
\
736B69705F696E697472616D667300
\
77616E745F696E697472616D667300
77616E745F696E697472616D667300
fi
fi
...
@@ -180,7 +180,7 @@ fi
...
@@ -180,7 +180,7 @@ fi
##########################################################################################
##########################################################################################
ui_print
"- Repacking boot image"
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
# Sign chromeos boot
$CHROMEOS
&&
sign_chromeos
$CHROMEOS
&&
sign_chromeos
...
...
scripts/flash_script.sh
View file @
7f08c069
...
@@ -109,12 +109,12 @@ ui_print "- Flashing new boot image"
...
@@ -109,12 +109,12 @@ ui_print "- Flashing new boot image"
if
!
flash_image new-boot.img
"
$BOOTIMAGE
"
;
then
if
!
flash_image new-boot.img
"
$BOOTIMAGE
"
;
then
ui_print
"- Compressing ramdisk to fit in partition"
ui_print
"- Compressing ramdisk to fit in partition"
./magiskboot
--
cpio
ramdisk.cpio compress
./magiskboot cpio ramdisk.cpio compress
./magiskboot
--
repack
"
$BOOTIMAGE
"
./magiskboot repack
"
$BOOTIMAGE
"
flash_image new-boot.img
"
$BOOTIMAGE
"
||
abort
"! Insufficient partition size"
flash_image new-boot.img
"
$BOOTIMAGE
"
||
abort
"! Insufficient partition size"
fi
fi
./magiskboot
--
cleanup
./magiskboot cleanup
rm
-f
new-boot.img
rm
-f
new-boot.img
if
[
-f
stock_boot
*
]
;
then
if
[
-f
stock_boot
*
]
;
then
...
...
scripts/util_functions.sh
View file @
7f08c069
...
@@ -247,7 +247,7 @@ flash_image() {
...
@@ -247,7 +247,7 @@ flash_image() {
# Make sure all blocks are writable
# Make sure all blocks are writable
$MAGISKBIN
/magisk
--unlock-blocks
2>/dev/null
$MAGISKBIN
/magisk
--unlock-blocks
2>/dev/null
case
"
$1
"
in
case
"
$1
"
in
*
.gz
)
CMD1
=
"
$MAGISKBIN
/magiskboot
--
decompress '
$1
' - 2>/dev/null"
;;
*
.gz
)
CMD1
=
"
$MAGISKBIN
/magiskboot decompress '
$1
' - 2>/dev/null"
;;
*
)
CMD1
=
"cat '
$1
'"
;;
*
)
CMD1
=
"cat '
$1
'"
;;
esac
esac
if
$BOOTSIGNED
;
then
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