Old-Ding
62d04ed484
system: fastboot: bound filedump path parsing
...
Parse the filedump path token into the existing PATH_MAX-sized buffer
before reading the optional offset and size arguments. This bounds the
write without constructing a scanf format string at runtime.
Signed-off-by: Old-Ding <35417409+Old-Ding@users.noreply.github.com>
2026-07-16 15:59:21 +08:00
wangjianyu3
460281a90f
system/fastboot: fix socket() parameter order for TCP transport
...
SOCK_CLOEXEC and SOCK_NONBLOCK were incorrectly passed as the
third argument (protocol) instead of being OR'd into the second
argument (type). This caused socket() to fail with EPROTONOSUPPORT
(errno 93) on NuttX.
Move SOCK_CLOEXEC | SOCK_NONBLOCK to the type parameter and set
protocol to 0.
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2026-03-23 08:46:18 -03:00
yangsong8
e19d99022a
apps/fastboot: fix build warning
...
apps/system/fastboot/fastboot.c:351:43: error: '%s' directive output may be truncated writing up to 63 bytes into a region of size 60 [-Werror=format-truncation=] ...... apps/system/fastboot/fastboot.c:351:3: note: 'snprintf' output between 5 and 68 bytes into a destination of size 64 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ apps/system/fastboot/fastboot.c:351:43: error: '%s' directive output may be truncated writing up to 63 bytes into a region of size 60 [-Werror=format-truncation=] ...... apps/system/fastboot/fastboot.c:351:3: note: 'snprintf' output between 5 and 68 bytes into a destination of size 64 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: yangsong8 <yangsong8@xiaomi.com>
2025-12-09 20:16:21 +08:00
yangsong8
9633580d2c
apps/fastboot: add switchboot command
...
The switchboot command can be sent even without enabling sh
Signed-off-by: yangsong8 <yangsong8@xiaomi.com>
2025-12-09 20:16:21 +08:00
yangsong8
63c1767d33
apps/fastboot: organize an api for external apps to call
...
add an interface fastboot_handler. This interface can be called
when nsh is disable.
Signed-off-by: yangsong8 <yangsong8@xiaomi.com>
2025-12-09 20:16:21 +08:00
yangsong8
5eae4c8f15
apps/fastboot: Enable network via ioctl during fastboot initialization
...
Bring up the network when do fastboot tcp init.
Signed-off-by: yangsong8 <yangsong8@xiaomi.com>
2025-12-09 20:16:21 +08:00
wangjianyu3
c4ff19a7e4
system/fastboot: fix typos of response error log
...
Fix typos of sparse header comments and download/upload response error log.
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2025-06-25 10:01:27 +02:00
wangjianyu3
9df322d938
system/fastboot: add disconn for usb transport
...
Disconnect usbdev when deinit USB transport.
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2025-06-25 10:01:27 +02:00
wangjianyu3
4b5af957ac
system/fastboot: remove interest and close epoll
...
Remove fds from the interest list and close epoll if need.
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2025-06-25 10:01:27 +02:00
wangjianyu3
11cf4211ab
system/fastboot: enable usb and tcp the same time
...
Add support for enabling USB and TCP transport at the same time.
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2025-06-23 15:45:51 +08:00
wangjianyu3
abf9fbee30
system/fastboot: switch to epoll
...
Switch from poll() to epoll().
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2025-06-23 15:45:51 +08:00
wangjianyu3
e23ba4891d
system/fastboot: rename argument context to ctx
...
Rename argument "context" to "ctx" for all functions.
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2025-06-23 15:45:51 +08:00
wangjianyu3
7790894bb6
system/fastboot: add support for fastboot tcp
...
Add TCP network transport support for fastboot, users can
add "-s tcp:HOST[:PORT]" option to specify a network device.
Examples
fastboot -s tcp:192.168.100.2 getvar version
fastboot -s tcp:192.168.100.2 flash virtblk0 fastboot.c
fastboot -s tcp:192.168.100.2 oem shell "uname -a"
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2025-06-18 22:06:08 +08:00
wangjianyu3
75033b7d26
system/fastboot: add func for context and usbdev
...
fastboot_context_initialize : initialize fastboot context
fastboot_context_deinit : deinitialize fastboot context
fastboot_usbdev_initialize : initialize usbdev and open USB endpoint
fastboot_usbdev_deinit : close USB endpoint
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2025-06-18 22:06:08 +08:00
wangjianyu3
88fea63ff4
system/fastboot: replace GETUINT32 with be32toh
...
Replace macro `FASTBOOT_GETUINT32` with function `be32toh()`.
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2025-06-18 22:06:08 +08:00
wangjianyu3
38bd6accea
system/fastboot: add const for memdump_print_t
...
Add qualifier "const" to the declaration of `memdump_print_t`,
the value of the 2nd argument will not be changed.
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2025-06-17 20:57:23 +08:00
wangjianyu3
7375f6574e
system/fastboot: move usbdev init after help
...
Move initialization of usbdev to after help().
This patch fix that even users just run `fastbootd -h`,
the usbdev will also be (re)initialized,
and if the daemon is running the status will be broken.
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2025-06-15 11:19:49 +08:00
wangjianyu3
4c605ac43f
system/fastboot: dump all memory regions
...
Add examples for oem memdump dumping all memory regions.
Host side
$ fastboot oem memdump
fastboot oem memdump 0x20000 0x28000
fastboot get_staged 0x20000.bin
fastboot oem memdump 0x40000000 0xf590000
fastboot get_staged 0x40000000.bin
fastboot oem memdump 0x4ff30000 0xd0000
fastboot get_staged 0x4ff30000.bin
FAILED (remote: 'Invalid argument')
fastboot: error: Command failed
Device side
nsh> fastbootd -h
Usage: fastbootd [wait_ms]
memdump:
fastboot oem memdump 0x20000 0x28000
fastboot get_staged 0x20000.bin
fastboot oem memdump 0x40000000 0xf590000
fastboot get_staged 0x40000000.bin
fastboot oem memdump 0x4ff30000 0xd0000
fastboot get_staged 0x4ff30000.bin
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2025-06-15 11:19:21 +08:00
wangjianyu3
536e2ccac6
system/fastboot: Add support for fastboot oem shell
...
To support executing custom commands.
Usage
fastboot oem shell <command>
Tests
# Configuration "esp32s3-devkit:fastboot" with `SYSTEM_FASTBOOTD_SHELL` enabled
$ fastboot --version
fastboot version 35.0.2-12147458
$ fastboot oem shell ls /FILE_NOT_EXISTS
FAILED (remote: 'error detected 0xff00 4')
fastboot: error: Command failed
$ fastboot oem shell ps
PID GROUP PRI POLICY TYPE NPX STATE EVENT SIGMASK STACK COMMAND
0 0 0 FIFO Kthread - Ready 0000000000000000 0003056 Idle_Task
1 0 224 RR Kthread - Waiting Semaphore 0000000000000000 0001976 hpwork 0x3fc8bd50 0x3fc8bd80
2 2 100 RR Task - Waiting Semaphore 0000000000000000 0004048 nsh_main
3 3 100 RR Task - Ready 0000000000000000 0001992 fastbootd
4 4 100 RR Task - Running 0000000000000000 0001992 popen -c ps
OKAY [ 0.010s]
Finished. Total time: 0.010s
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2025-02-25 08:23:37 +01:00
wangjianyu3
89c784188e
system/fastboot: Add format string support for fastboot_fail()
...
Add support for producing output according to a format like printf().
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2025-02-25 08:23:37 +01:00
wangjianyu3
5de75adfb4
system/fastboot: Add prefix "SYSTEM" for USB boardctl configuration
...
- FASTBOOTD_USB_BOARDCTL
+ SYSTEM_FASTBOOTD_USB_BOARDCTL
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2025-02-20 15:34:10 +08:00
Alin Jerpelea
66e8296230
system: migrate to SPDX identifier
...
Most tools used for compliance and SBOM generation use SPDX identifiers
This change brings us a step closer to an easy SBOM generation.
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2024-12-30 18:02:50 +08:00
ouyangxiangzhen
44d2250b6e
apps: Fix compilation error after nuttx/arch.h excluded.
...
This patch fix compilation error after excluding nuttx/arch.h.
Signed-off-by: ouyangxiangzhen <ouyangxiangzhen@xiaomi.com>
2024-10-16 07:12:40 +08:00
wangjianyu3
6b1062a64e
system/fastboot: Fix Out-of-bounds Write
...
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-09-11 23:20:48 +08:00
wangjianyu3
caa47f282e
system/fastboot: Fix that total_chunks of sparse_header maybe error
...
when size of image passed to command "fastboot flash" is not 4KB aligned.
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-09-11 23:20:48 +08:00
wangjianyu3
a413f6bcac
system/fastboot: Fix error that download_size always be zero
...
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-09-11 23:20:48 +08:00
wangjianyu3
e6cedb8da7
system/fastboot: Init total_imgsize to zero
...
otherwise random value, sometimes zero
And, close file if flash failed.
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-09-11 23:20:48 +08:00
wangjianyu3
78c11c31e8
system/fastboot: Fix fd leak of fastboot_filedump_upload()
...
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-09-11 23:20:48 +08:00
wangjianyu3
c3488c5b47
system/fastboot: Support upload & oem(memdump, filedump) command
...
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-09-11 23:20:48 +08:00
wangjianyu3
22f055472c
system/fastboot: Retry if open EP failed
...
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-09-11 23:20:48 +08:00
wanggang26
e55666f90e
fastboot:enable O_CLOEXEC explicit
...
Signed-off-by: wanggang26 <wanggang26@xiaomi.com>
2024-09-11 23:20:48 +08:00
wangjianyu3
f1ce26162b
system/fastboot: Replace printf with syslog
...
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-09-11 23:20:48 +08:00
anjiahao
53563b67e7
fastbootd:add delay ms for bootloader
...
usage in bootloader
if [flag == bootloader]
fastbootd
else
fastbootd 500
fi
host:
$fastboot flash app app.bin
< waiting for any device >
let board enter booloader,use <reboot bootloader> or hard reset
then will flash it.
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2024-09-11 23:20:48 +08:00
dongjiuzhu1
95abb3628c
system/fastboot: fix crash when free invalid pointer
...
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2024-09-11 23:20:48 +08:00
wangjianyu3
e3400b2555
Reduce the number of open() and close() to improve performance
...
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-09-11 23:20:48 +08:00
wangjianyu3
6ac7cbf4d2
system/fastboot: fastboot flash - call fsync()
...
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-09-11 23:20:48 +08:00
wangjianyu3
6b53e1fae9
system/fastboot: erase - add driver independent
...
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-09-11 23:20:48 +08:00
wangjianyu3
4d0b9d61de
system/fastboot: Support USB boardctl
...
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-09-11 23:20:48 +08:00
wangjianyu3
1752726479
system/fastboot: Complete the erase command
...
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-09-11 23:20:48 +08:00
wangjianyu3
25ba30986f
fastboot tool: Status read failed while rebooting into bootloader
...
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-09-11 23:20:48 +08:00
wangjianyu3
bf4d873985
system/fastboot: Fix command comparation
...
e.g. The command is "reboot-bootloader", but will match and break when
compared with "reboot"
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2023-09-12 16:26:09 +08:00
dinglongfei
5cced37a1b
system: support system fastbootd
...
Add the fastbootd program to support the flash, getvar, and reboot commands.
Signed-off-by: zhangyuan21 <zhangyuan21@xiaomi.com>
2023-09-06 17:27:26 +08:00