Fastboot is a versatile protocol designed for re-flashing partitions, including x-boot, u-boot, uImage, rootfs, and etc., of eMMC device on SP7350 platforms. This guide will walk you through the process of utilizing Minimal ADB and Fastboot, a handy Windows application, to harness the power of fastboot.
Fastboot over USB
To use the fastboot on SP7350 platform over USB interface, after successfully booting from the eMMC device and enter command-line interface of U-Boot, please follow the following steps.
Activate the USB download gadget
To establish a connection between your SP7350 platform and a Windows computer for USB downloads, please use the following command in the U-Boot command-line interface to activate the USB download gadget:
If either the USB 2.0 or USB 3.0 download gadget driver is enabled, use the following command to activate the USB download gadget:
=> fastboot usb 0
In scenarios where both USB 2.0 and USB 3.0 download gadget drivers are enabled simultaneously, distinguish between them using the following commands:
For USB 2.0 download gadget:
=> fastboot usb 0
For USB 3.0 download gadget:
=> fastboot usb 1
By executing these commands, you seamlessly enable the SP7350 platform to function as a USB download gadget, facilitating a smooth and efficient fastboot process.
Update USB download gadget driver in the Windows computer
Following the execution of the command in U-Boot and connecting the SP7350 platform to the Windows computer, you may observe that in the Device Manager, the USB is categorized under "Other devices" as "USB download gadget" in Windows. To update the driver, follow these steps:
Right click it, and choose “Update drivers”.
Choose “Browse my computer for drivers”.
The driver is in the location of E:\Google android USB driver\usb_driver and it contains the files show below.
Choose the location with the driver for “Search for drivers in this location:” and press “Next”.
Choose “Show All Devices” and press “Next”.
Press “Have Disk…”.
Choose the location with the driver for “Copy manufacture’s files form:” and press “OK”.
Choose “Android ADB Interface” and press “Next” to install this driver.
Press “Yes”.
Press “Close”.
After the update, you will see SAMSUNG Android Phone->Android ADB Interface in Device manager.
Install Minimal ADB and Fastboot on Windows computer
To install the “Minimal ADB and Fastboot” application on your Windows computer, please follow these steps:
Download the Application: Obtain the “Minimal ADB and Fastboot” application and install it on your Windows computer.
Installation Path: During installation, the application is typically placed in the directory "c:\Program Files (x86)\Minimal ADB Fastboot."
Organize Image Files: Place the necessary image files (xboot.img, u-boot.img, uImage, and rootfs.img) in the installation folder. This is crucial for efficiently reflashing partitions using subsequent commands.
Flash images
x-boot partition
The image file of x-boot (xboot.img) is stored at boot partition 1 of eMMC device and its default target name is “mmc0boot0” as shown in menuconfig of U-Boot:
To update the x-boot image, execute the following command in the Windows Command Prompt:
C:\Program Files (x86)\Minimal ADB and Fastboot>fastboot flash mmc0boot0 xboot.img target reported max download size of 117440512 bytes sending 'mmc0boot0' (131KB)... OKAY [ 0.023s] writing 'mmc0boot0'... OKAY [ 0.006s] finished. total time: 0.032s C:\Program Files (x86)\Minimal ADB and Fastboot>
Upon execution, the system will report the maximum download size as 117,440,512 bytes. Subsequently, the 'mmc0boot0' target, with a file size of 131KB, will be sent and successfully written, completing the process in approximately 0.032 seconds.
u-boot, kernel or rootfs partitions
The U-Boot command "mmc part" can be applied to retrieve the partition names within the eMMC's User Data Area Partition (GUID):
=> mmc part Partition Map for MMC device 0 -- Partition Type: EFI Part Start LBA End LBA Name Attributes Type GUID Partition GUID 1 0x00000022 0x00000821 "uboot1" attrs: 0x0000000000000000 type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 guid: 292c805a-cb56-41bf-97f2-773a25608b40 2 0x00000822 0x00001021 "uboot2" attrs: 0x0000000000000000 type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 guid: 635a1f52-8abf-4f93-8d70-17fd82e1c570 3 0x00001022 0x00001821 "fip" attrs: 0x0000000000000000 type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 guid: b4608adb-3ac4-4964-9de5-5bcd8db8e38d 4 0x00001822 0x00001c21 "env" attrs: 0x0000000000000000 type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 guid: dbaab200-cfe5-45e8-99d0-e9d920a5a29d 5 0x00001c22 0x00002021 "env_redund" attrs: 0x0000000000000000 type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 guid: 10b84778-f209-4a67-9008-4ffefee0fdf4 6 0x00002022 0x00002221 "dtb" attrs: 0x0000000000000000 type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 guid: 127f33a4-ba05-4ab1-9c9e-ead8003b12ec 7 0x00002222 0x00012221 "kernel" attrs: 0x0000000000000000 type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 guid: ee2d19c3-3c49-4732-b432-04b9351f17d7 8 0x00012222 0x00e8ffde "rootfs" attrs: 0x0000000000000000 type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 guid: 6e8b3aaf-e5bc-4134-93b3-8e66c5e77dad =>
The u-boot image file, labeled as u-boot.img, is situated in the uboot2 partition, while the kernel (uImage) resides in the kernel partition, and the rootfs (rootfs.img) is stored in the rootfs partition.
To update the u-boot image, utilize the following command in the Windows Command Prompt:
C:\Program Files (x86)\Minimal ADB and Fastboot>fastboot flash uboot2 u-boot.img target reported max download size of 117440512 bytes sending 'mmc0boot0' (837KB)... OKAY [ 0.033s] writing 'mmc0boot0'... OKAY [ 0.031s] finished. total time: 0.064s C:\Program Files (x86)\Minimal ADB and Fastboot>
Upon execution, the system will process the update, indicating the maximum download size and confirming the successful transfer and writing of the u-boot image to the 'uboot2' partition. This process is analogous when updating the kernel or rootfs.
Fastboot over Ethernet
Fastboot over Ethernet provides an alternative and efficient means of updating system images. To use the fastboot over Ethernet interface, please follow the following steps.
Enable UDP support
To use fastboot over Ethernet, we need to enable “Enable fastboot protocol over UDP” in U-Boot. If it is not enabled, please enable it.
Navigate to the Device Drivers > Fastboot support.
Select "Enable fastboot protocol over UDP" as shown below:
Update USB download gadget driver in the Windows computer
Reference to the previous section “Update USB download gadget driver in the Windows computer.”
Install Minimal ADB and Fastboot on Windows computer
Reference to the previous section “Install Minimal ADB and Fastboot on Windows computer.”
Configure network settings
To establish a connection between the SP7350 and the Windows computer via the Ethernet, please configure the Network Interface Card (NIC) settings for both devices.
The SP7350 NIC configuration is outlined below:
=> setenv ipaddr 192.168.0.50 => setenv netmask 255.255.255.0 => setenv ethact eth0
Please also configure your Windows computer.
Establish UDP connection for fastboot
To establish a UDP connection of fastboot between your SP7350 platform and a Windows computer, please execute the following command:
=> fastboot udp
Flash images
In the Windows Command Prompt, use the following command to update the x-boot image. Note that the process for updating u-boot, kernel, or rootfs is analogous:
C:\Program Files (x86)\Minimal ADB and Fastboot>fastboot -s udp:192.168.0.50 flash mmc0boot0 xboot.img target reported max download size of 117440512 bytes sending 'mmc0boot0' (131KB)... OKAY [ 0.534s] writing 'mmc0boot0'... OKAY [ 0.008s] finished. total time: 0.547s C:\Program Files (x86)\Minimal ADB and Fastboot>
The system will report the maximum download size and provide progress updates, concluding with a confirmation of the completed update. Upon successful completion, the Command Prompt will return to its original state, indicating a successful update.