Hello.
I have a problem with my customized imx6solo board.
I built the yocto(zeus) and fusing the u-boot, kernel image with initramfs.
And also built the initramfs in my zeus yocto.
Everything is okay, but FBK command is not working in UUU.
I changed the kernel image and initramfs in L4.19.35_1.1.0_images_MX6QPDLSOLOX.zip
But FBK command is still not working.
Is the FBK command not supported on the mx6solo or mx6 series?
here is my uuu script.
-----------------
uuu_version 1.2.39
# boot from u-boot-dtb.imx
# load the u-boot image into the sdram
SDP: boot -f firmware/u-boot-dtb.imx
# burn u-boot to emmc
# macro value is follow the u-boot source
FB: ucmd setenv fastboot_dev mmc
FB: ucmd setenv mmcdev ${emmc_dev}
FB: ucmd mmc dev ${emmc_dev}
FB: flash bootloader firmware/u-boot-dtb.imx
FB: ucmd mmc partconf ${emmc_dev} 1 1 0
# load kernel & initram filesystem
FB: ucmd setenv fastboot_buffer ${loadaddr}
FB: download -f firmware/zImage
FB: ucmd setenv fastboot_buffer ${fdt_addr}
FB: download -f firmware/u-boot.dtb
FB: ucmd setenv fastboot_buffer ${initrd_addr}
FB: download -f firmware/fsl-image-mfgtool-initramfs-imx_mfgtools.cpio.gz.u-boot
FB: ucmd setenv mfgtool_args ${mfgtool_args} mfg_mmcdev=${emmc_dev}
FB: ucmd run mfgtool_args
FB: acmd ${kboot} ${loadaddr} ${initrd_addr} ${fdt_addr}
# get mmc dev number from kernel command line
FBK: ucmd cmdline=`cat /proc/cmdline`;cmdline=${cmdline#*mfg_mmcdev=};cmds=($cmdline);echo ${cmds[0]}>/tmp/mmcdev
# Wait for mmc
FBK: ucmd mmc=`cat /tmp/mmcdev`; while [ ! -e /dev/mmcblk${mmc} ]; do sleep 1; echo "wait for /dev/mmcblk${mmc} appear"; done;
FBK: Done
-------------------
This is uuu verbose log.
--------------------
frank@frank-desktop:~/DEV/uuu-1.3.191/output$ sudo ./uuu -v fusing.auto
uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.3.191-0-g4fe24b9
Build in config:
Pctl Chip Vid Pid BcdVersion
==================================================
SDPS: MX8QXP 0x1fc9 0x012f [0x0002..0xffff]
SDPS: MX8QM 0x1fc9 0x0129 [0x0002..0xffff]
SDPS: MX8DXL 0x1fc9 0x0147
SDPS: MX28 0x15a2 0x004f
SDPS: MX815 0x1fc9 0x013e
SDPS: MX865 0x1fc9 0x0146
SDP: MX7D 0x15a2 0x0076
SDP: MX6Q 0x15a2 0x0054
SDP: MX6D 0x15a2 0x0061
SDP: MX6SL 0x15a2 0x0063
SDP: MX6SX 0x15a2 0x0071
SDP: MX6UL 0x15a2 0x007d
SDP: MX6ULL 0x15a2 0x0080
SDP: MX6SLL 0x1fc9 0x0128
SDP: MX7ULP 0x1fc9 0x0126
SDP: MXRT106X 0x1fc9 0x0135
SDP: MX8MM 0x1fc9 0x0134
SDP: MX8MQ 0x1fc9 0x012b
SDPU: SPL 0x0525 0xb4a4 [0x0000..0x04ff]
SDPV: SPL1 0x0525 0xb4a4 [0x0500..0x9998]
SDPU: SPL 0x0525 0xb4a4 [0x9999..0x9999]
SDPU: SPL 0x3016 0x1001 [0x0000..0x04ff]
SDPV: SPL1 0x3016 0x1001 [0x0500..0x9998]
FBK: 0x066f 0x9afe
FBK: 0x066f 0x9bff
FB: 0x0525 0xa4a5
FB: 0x18d1 0x0d02
FB: 0x3016 0x0001
Wait for Known USB Device Appear...
New USB Device Attached at 1:1
1:1>Start Cmd:SDP: boot -f firmware/u-boot-dtb.imx
6400%1:1>Okay (0.635s)
New USB Device Attached at 1:1
1:1>Start Cmd:FB: ucmd setenv fastboot_dev mmc
1:1>Okay (0.001s)
1:1>Start Cmd:FB: ucmd setenv mmcdev ${emmc_dev}
1:1>Okay (0.172s)
1:1>Start Cmd:FB: ucmd mmc dev ${emmc_dev}
1:1>Okay (0.092s)
1:1>Start Cmd:FB: flash bootloader firmware/u-boot-dtb.imx
0x100000001:1>Okay (0.165s)
1:1>Start Cmd:FB: ucmd mmc partconf ${emmc_dev} 0 1 0
1:1>Okay (0.003s)
1:1>Start Cmd:FB: ucmd setenv fastboot_buffer ${loadaddr}
1:1>Okay (0s)
1:1>Start Cmd:FB: download -f firmware/zImage
1:1>Okay (0.235s)
1:1>Start Cmd:FB: ucmd setenv fastboot_buffer ${fdt_addr}
1:1>Okay (0.001s)
1:1>Start Cmd:FB: download -f firmware/u-boot.dtb
1:1>Okay (0.008s)
1:1>Start Cmd:FB: ucmd setenv fastboot_buffer ${initrd_addr}
1:1>Okay (0s)
1:1>Start Cmd:FB: download -f firmware/fsl-image-mfgtool-initramfs-imx_mfgtools.cpio.gz.u-boot
1:1>Okay (0.397s)
1:1>Start Cmd:FB: acmd ${kboot} ${loadaddr} ${initrd_addr} ${fdt_addr}
1:1>Okay (0s)
And attached the booting log.
------------------------
U-Boot 2019.04-lf-5.4.y_v2019.04+g228843cdf5 (Jun 22 2020 - 17:24:36 +0900)s
CPU: Freescale i.MX6SOLO rev1.3 996 MHz (running at 792 MHz)
CPU: Extended Commercial temperature grade (-20C to 105C) at 41C
Reset cause: POR
Model: Freescale i.MX6 DualLite SABRE Smart Device Board
Board: MX6-SabreSD
I2C: ready
DRAM: 512 MiB
MMC: FSL_SDHC: 1, FSL_SDHC: 2, FSL_SDHC: 3
Loading Environment from MMC... MMC: no card present
*** Warning - No block device, using default environment
No panel detected: default to HDMI
Display: HDMI (1024x768)
In: serial
Out: serial
Err: serial
MMC: no card present
flash target is MMC:2
MMC: no card present
MMC card init failed!
MMC: no card present
** Block device MMC 2 not supported
Net: Board Net Initialization Failed
No ethernet found.
Fastboot: Normal
Boot from USB for mfgtools
*** Warning - Use default environment for mfgtools
, using default environment
Run bootcmd_mfg: run mfgtool_args;if iminfo ${initrd_addr}; then if test ${tee} = yes; then bootm ${tee_addr} ${initrd_addr} ${fdt_addr}; el
se bootz ${loadaddr} ${initrd_addr} ${fdt_addr}; fi; else echo "Run fastboot ..."; fastboot 0; fi;
## Checking Image at 12c00000 ...
Unknown image format!
Run fastboot ...
flash target is MMC:3
switch to partitions #0, OK
mmc3(part 0) is current device
Starting download of 719872 bytes
.....
downloading of 719872 bytes finished
writing to partition 'bootloader'
Initializing 'bootloader'
switch to partitions #1, OK
mmc3(part 1) is current device
Writing 'bootloader'
MMC write: dev # 3, block # 2, count 1406 ... 1406 blocks written: OK
Writing 'bootloader' DONE!
Starting download of 7300424 bytes
.......................................................
downloading of 7300424 bytes finished
Starting download of 53591 bytes
downloading of 53591 bytes finished
Starting download of 12883324 bytes
..........................................................................
........................
downloading of 12883324 bytes finished
Kernel image @ 0x12000000 [ 0x000000 - 0x6f6548 ]
## Loading init Ramdisk from Legacy Image at 12c00000 ...
Image Name: fsl-image-mfgtool-initramfs-imx6
Image Type: ARM Linux RAMDisk Image (uncompressed)
Data Size: 12883260 Bytes = 12.3 MiB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
## Flattened Device Tree blob at 18000000
Booting using the fdt blob at 0x18000000
Using Device Tree in place at 18000000, end 18010156
No PMIC found!
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 5.4.3+gf8118585ee3c (frank@frank-desktop) (gcc version 9.2.0 (GCC)) #1 SMP PREEMPT Tue Jun 23 12:47:04 KST 2020
[ 0.000000] CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] OF: fdt: Machine model: Freescale i.MX6 DualLite SABRE Smart Device Board
[ 0.000000] Memory policy: Data cache writeback
[ 0.000000] Reserved memory: created CMA memory pool at 0x1c000000, size 320 MiB
[ 0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[ 0.000000] CPU: All CPU(s) started in SVC mode.
[ 0.000000] percpu: Embedded 20 pages/cpu s50600 r8192 d23128 u81920
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 130048
[ 0.000000] Kernel command line: console=ttymxc0,115200 rdinit=/linuxrc clk_ignore_unused
[ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] Memory: 155588K/524288K available (10240K kernel code, 972K rwdata, 3004K rodata, 1024K init, 6564K bss, 41020K reserved, 327
680K cma-reserved, 0K highmem)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[ 0.000000] Running RCU self tests
[ 0.000000] rcu: Preemptible hierarchical RCU implementation.
[ 0.000000] rcu: RCU lockdep checking is enabled.
[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
[ 0.000000] Tasks RCU enabled.
[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
[ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[ 0.000000] L2C-310 erratum 769419 enabled
[ 0.000000] L2C-310 enabling early BRESP for Cortex-A9
[ 0.000000] L2C-310 full line of zeros enabled for Cortex-A9
[ 0.000000] L2C-310 ID prefetch enabled, offset 16 lines
[ 0.000000] L2C-310 dynamic clock gating enabled, standby mode enabled
[ 0.000000] L2C-310 cache controller enabled, 16 ways, 512 kB
[ 0.000000] L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x76450001
[ 0.000000] random: get_random_bytes called from start_kernel+0x328/0x4dc with crng_init=0
[ 0.000000] Switching to timer-based delay loop, resolution 333ns
[ 0.000007] sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 715827882841ns
[ 0.000044] clocksource: mxc_timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 637086815595 ns
[ 0.002048] Console: colour dummy device 80x30
[ 0.002090] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
[ 0.002109] ... MAX_LOCKDEP_SUBCLASSES: 8
[ 0.002127] ... MAX_LOCK_DEPTH: 48
[ 0.002146] ... MAX_LOCKDEP_KEYS: 8192
[ 0.002162] ... CLASSHASH_SIZE: 4096
[ 0.002180] ... MAX_LOCKDEP_ENTRIES: 32768
[ 0.002195] ... MAX_LOCKDEP_CHAINS: 65536
[ 0.002212] ... CHAINHASH_SIZE: 32768
[ 0.002230] memory used by lock dependency info: 3997 kB
[ 0.002245] memory used for stack traces: 2112 kB
[ 0.002262] per task-struct memory footprint: 1536 bytes
[ 0.002360] Calibrating delay loop (skipped), value calculated using timer frequency.. 6.00 BogoMIPS (lpj=30000)
[ 0.002388] pid_max: default: 32768 minimum: 301
[ 0.002753] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.002783] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.006003] CPU: Testing write buffer coherency: ok
[ 0.006116] CPU0: Spectre v2: using BPIALL workaround
[ 0.007643] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[ 0.059652] Setting up static identity map for 0x10100000 - 0x10100060
[ 0.079541] rcu: Hierarchical SRCU implementation.
[ 0.119547] smp: Bringing up secondary CPUs ...
[ 0.200086] smp: Brought up 1 node, 1 CPU
[ 0.200115] SMP: Total of 1 processors activated (6.00 BogoMIPS).
[ 0.200136] CPU: All CPU(s) started in SVC mode.
[ 0.202369] devtmpfs: initialized
[ 0.239398] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
[ 0.250015] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.250086] futex hash table entries: 512 (order: 3, 32768 bytes, linear)
[ 0.262040] pinctrl core: initialized pinctrl subsystem
[ 0.264795] NET: Registered protocol family 16
[ 0.287511] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.291016] cpuidle: using governor menu
[ 0.291384] CPU identified as i.MX6DL, silicon rev 1.3
[ 0.352979] No ATAGs?
[ 0.353274] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
[ 0.353367] hw-breakpoint: maximum watchpoint size is 4 bytes.
[ 0.356830] imx6dl-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver
[ 0.359644] imx mu driver is registered.
[ 0.360487] imx rpmsg driver is registered.
[ 0.487699] vgaarb: loaded
[ 0.489093] SCSI subsystem initialized
[ 0.500663] usbcore: registered new interface driver usbfs
[ 0.500888] usbcore: registered new interface driver hub
[ 0.501239] usbcore: registered new device driver usb
[ 0.502854] mc: Linux media interface: v0.10
[ 0.502967] videodev: Linux video capture interface: v2.00
[ 0.503194] pps_core: LinuxPPS API ver. 1 registered
[ 0.503219] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.503283] PTP clock support registered
[ 0.529666] imx-ipuv3 2400000.ipu: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)
[ 0.533080] mxc_vdoa 21e4000.vdoa: i.MX Video Data Order Adapter(VDOA) driver probed
[ 0.534877] mxc_mipi_csi2 21dc000.mipi_csi: i.MX MIPI CSI2 driver probed
[ 0.534906] mxc_mipi_csi2 21dc000.mipi_csi: i.MX MIPI CSI2 dphy version is 0x3130302a
[ 0.535168] MIPI CSI2 driver module loaded
[ 0.539066] clocksource: Switched to clocksource mxc_timer1
[ 1.207928] VFS: Disk quotas dquot_6.6.0
[ 1.208107] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[ 1.236443] thermal_sys: Registered thermal governor 'step_wise'
[ 1.237152] NET: Registered protocol family 2
[ 1.239238] tcp_listen_portaddr_hash hash table entries: 256 (order: 1, 10240 bytes, linear)
[ 1.239353] TCP established hash table entries: 4096 (order: 2, 16384 bytes, linear)
[ 1.239453] TCP bind hash table entries: 4096 (order: 5, 147456 bytes, linear)
[ 1.239941] TCP: Hash tables configured (established 4096 bind 4096)
[ 1.240326] UDP hash table entries: 256 (order: 2, 20480 bytes, linear)
[ 1.240440] UDP-Lite hash table entries: 256 (order: 2, 20480 bytes, linear)
[ 1.240889] NET: Registered protocol family 1
[ 1.273408] RPC: Registered named UNIX socket transport module.
[ 1.273500] RPC: Registered udp transport module.
[ 1.273524] RPC: Registered tcp transport module.
[ 1.273544] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 1.285057] PCI: CLS 0 bytes, default 64
[ 1.286406] Trying to unpack rootfs image as initramfs...
[ 2.491431] Freeing initrd memory: 12584K
[ 2.492017] hw perfevents: no interrupt-affinity property for /soc/pmu, guessing.
[ 2.492503] hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
[ 2.495332] Bus freq driver module loaded
[ 2.499500] Initialise system trusted keyrings
[ 2.500238] workingset: timestamp_bits=30 max_order=17 bucket_order=0
[ 2.529770] NFS: Registering the id_resolver key type
[ 2.529938] Key type id_resolver registered
[ 2.530027] Key type id_legacy registered
[ 2.530698] fuse: init (API version 7.31)
[ 2.578820] Key type asymmetric registered
[ 2.579115] Asymmetric key parser 'x509' registered
[ 2.579329] io scheduler mq-deadline registered
[ 2.579358] io scheduler kyber registered
[ 2.587392] imx6q-pcie 1ffc000.pcie: host bridge /soc/pcie@1ffc000 ranges:
[ 2.587601] imx6q-pcie 1ffc000.pcie: IO 0x01f80000..0x01f8ffff -> 0x00000000
[ 2.587819] imx6q-pcie 1ffc000.pcie: MEM 0x01000000..0x01efffff -> 0x01000000
[ 2.601732] imx-sdma 20ec000.sdma: Direct firmware load for imx/sdma/sdma-imx6q.bin failed with error -2
[ 2.601838] imx-sdma 20ec000.sdma: Falling back to sysfs fallback for: imx/sdma/sdma-imx6q.bin
[ 2.607679] mxs-dma 110000.dma-apbh: initialized
[ 2.617166] 2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 27, base_baud = 5000000) is a IMX
[ 3.397515] printk: console [ttymxc0] enabled
[ 3.432770] brd: module loaded
[ 3.467434] loop: module loaded
[ 3.471849] imx ahci driver is registered.
[ 3.482038] spi_imx 2008000.ecspi: probed
[ 3.488203] libphy: Fixed MDIO Bus: probed
[ 3.492496] CAN device driver interface
[ 3.504351] pps pps0: new PPS source ptp0
[ 3.509069] fec 2188000.ethernet: Invalid MAC address: 00:00:00:00:00:00
[ 3.515815] fec 2188000.ethernet: Using random MAC address: a2:55:37:77:82:2e
[ 3.530863] libphy: fec_enet_mii_bus: probed
[ 3.537215] fec 2188000.ethernet eth0: registered PHC device 0
[ 3.543860] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 3.550490] ehci-pci: EHCI PCI platform driver
[ 3.555083] ehci-mxc: Freescale On-Chip EHCI Host driver
[ 3.560922] usbcore: registered new interface driver usb-storage
[ 3.698220] imx6q-pcie 1ffc000.pcie: Phy link never came up
[ 3.707095] imx6q-pcie 1ffc000.pcie: failed to initialize host
[ 3.713025] imx6q-pcie 1ffc000.pcie: unable to add pcie port.
[ 3.762175] imx_usb 2184200.usb: No over current polarity defined
[ 3.772600] ci_hdrc ci_hdrc.1: EHCI Host Controller
[ 3.777861] ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 1
[ 3.809094] ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00
[ 3.819884] hub 1-0:1.0: USB hub found
[ 3.824057] hub 1-0:1.0: 1 port detected
[ 3.845172] Mass Storage Function, version: 2009/09/11
[ 3.850647] LUN: removable file: (no medium)
[ 3.855045] no file given for LUN0
[ 3.858759] g_mass_storage ci_hdrc.0: failed to start g_mass_storage: -22
[ 3.874801] imx2-wdt 20c0000.wdog: timeout 60 sec (nowayout=0)
[ 3.883798] sdhci: Secure Digital Host Controller Interface driver
[ 3.890085] sdhci: Copyright(c) Pierre Ossman
[ 3.894468] sdhci-pltfm: SDHCI platform and OF driver helper
[ 3.902060] sdhci-esdhc-imx 2194000.usdhc: Got CD GPIO
[ 3.907299] sdhci-esdhc-imx 2194000.usdhc: Got WP GPIO
[ 3.957122] mmc1: SDHCI controller on 2194000.usdhc [2194000.usdhc] using ADMA
[ 3.966428] sdhci-esdhc-imx 2198000.usdhc: Got CD GPIO
[ 3.971745] sdhci-esdhc-imx 2198000.usdhc: Got WP GPIO
[ 4.020704] mmc2: SDHCI controller on 2198000.usdhc [2198000.usdhc] using ADMA
[ 4.072221] mmc3: SDHCI controller on 219c000.usdhc [219c000.usdhc] using ADMA
[ 4.081356] usbcore: registered new interface driver usbhid
[ 4.087071] usbhid: USB HID core driver
[ 4.100754] galcore: clk_get vg clock failed, disable vg!
[ 4.107611] Galcore version 6.4.0.234062
Okay. I solved this issue in myself. :smileyhappy:
It caued by UDC.
I guess udc is not properly configured in my kernel defconfig and dts file.
The below steps are required for UDC to work properly.
u-boot defconfig
--------------
CONFIG_CI_UDC=y
CONFIG_CMD_FASTBOOT=y
CONFIG_USB_FUNCTION_FASTBOOT=y
CONFIG_FASTBOOT_UUU_SUPPORT=y
CONFIG_FASTBOOT=y
CONFIG_FASTBOOT_BUF_ADDR=0x12000000
CONFIG_FASTBOOT_BUF_SIZE=0x10000000
CONFIG_FASTBOOT_FLASH=y
CONFIG_EFI_PARTITION=y
Kernel defconfig
--------------
CONFIG_USB_CHIPIDEA=y
CONFIG_USB_CHIPIDEA_UDC=y
CONFIG_USB_CHIPIDEA_HOST=y
CONFIG_USB_GADGET=y
CONFIG_USB_MASS_STORAGE=y
CONFIG_USB_FSL_USB2=y
CONFIG_USB_CONFIGFS=y
CONFIG_USB_CONFIGFS_MASS_STORAGE=y
CONFIG_USB_CONFIGFS_F_FS=y
imx6dl-sabresd.dts
--------------
&usbotg {
dr_mode = "peripheral";
status = "okay";
};
And i will upload my kernel defconfig for your reference.
Regards.
Hi Han
seems fbk is working only with android as described in
sect.5.6 FBK: Android fastboot protocol uuu manual
https://github.com/NXPmicro/mfgtools/releases/download/uuu_1.2.135/UUU.pdf
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Thanks for your reply.
I think your comment is wrong.
FB command is the Android fastboot protocol too. But it works fine.
FBK command is the same. It's not support only with android.
I think it depends on initramfs or kernel.
Regards.