Hello!
I clone linux-fsl-3.18 from Freescale/linux-fslc · GitHub ,build it with mxs_defconfig, convert zImage to sb-file with imx-bootlets from LTIB (/imx-bootlets-src-2.6.35.3-1.1.0) and write on SD-card:
Installing boot stream ../bin/imx28_ivt_linux.sb on /dev/sdd2...
0+1 records in
1+0 records out
512 bytes (512 B) copied, 0.00388977 s, 132 kB/s
5653+1 records in
5654+0 records out
2894848 bytes (2.9 MB) copied, 1.27853 s, 2.3 MB/s
...finished installing boot stream on /dev/sdd2.
Unforunately linux not start after plugged power, follow console output:
LLLLLLLFLCLLJHTLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLC
PowerPrep start initialize power...
Battery Voltage = 0.31V
No battery or bad battery detected!!!.Dis5
FRAC 0x92925552
memory type is DDR2
Wait for ddr ready 1power 0x00820710
Frac 0x92925552
start change cpu freq
hbus 0x00000003
cpu 0x00010001
LLLLLLLFLCLLJ
How can I solve this problem?
Thank you and excuse my bad english.
Kirill,
You need to combine your zImage + dtb. Take a look at:
https://community.freescale.com/thread/341250
Regards,
Fabio Estevam
Sorry, I not understand, but this not work.
My software:
- linux-fscl (revisionc e1cd8975587aa8e809cdb01ab1ee1b9de1b9259 )
- imx-bootlets-src-2.6.35.3-1.1.0
- gcc-4.4.4
My steps:
1. enable device tree, please see full config in attache
#
# Boot options
#
CONFIG_USE_OF=y
CONFIG_ATAGS=y
# CONFIG_DEPRECATED_PARAM_STRUCT is not set
CONFIG_ZBOOT_ROM_TEXT=0
CONFIG_ZBOOT_ROM_BSS=0
CONFIG_ARM_APPENDED_DTB=y
CONFIG_ARM_ATAG_DTB_COMPAT=y
CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER=y
# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND is not set
CONFIG_CMDLINE="console=ttyAMA0,115200 root=/dev/mmcblk0p3 rw rootwait ip=off"
CONFIG_CMDLINE_FROM_BOOTLOADER=y
# CONFIG_CMDLINE_EXTEND is not set
# CONFIG_CMDLINE_FORCE is not set
# CONFIG_KEXEC is not set
# CONFIG_CRASH_DUMP is not set
CONFIG_AUTO_ZRELADDR=y
2. build linux and add device tree
cat arch/arm/boot/zImage arch/arm/boot/dts/imx28-evk.dtb > /opt/IMX287/ltib/rootfs/boot/zImage
3. convert linux to sb-file
./ltib -m scbuild -p boot_stream.spec
4. write sb-file on SD-card
5. plug SD-card and enable power
HTLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLC
PowerPrep start initialize power...
Configured for 5v only power source. Battery powered operation disab.
LLLCFeb 26 201509:21:55
FRAC 0x92925552
memory type is DDR2
Wait for ddr ready 1power 0x00820710
Frac 0x92925552
start change cpu freq
hbus 0x00000003
cpu 0x00010001
LLLLLLLFLCLLJ
Ok, after enable CONFIG_CMDLINE_FORCE I see linux boot.
Hi Kirill,
do you use the MX28EVK or your own hardware?
Have you configured the kernel to support DTB append on kernel image?
Hello, Stefan!
I use board based on iMX287, not MX28EVK.
Board schema https://docs.google.com/file/d/0B_FS6J7Oi9HaaG9kRWo1VGdyNFk/edit?usp=sharing
In that case you will need a DTS (devicetree source) file for this board. This file describes the hardware on this board.
For example this is the DTS file for the MX28EVK:
linux-fslc/imx28-evk.dts at patches-3.18 · Freescale/linux-fslc · GitHub
Maybe your hardware vendor can provide such a file. If not you will need to create it by your own. In that case you can use the file above as an template.
Ok, but why linux not uncompresse?
I have incorrect memory description, now I not see any mistake, or I should have correct description for all devices?
What is a minimal set of devices should I describe?
There several reason for this:
1. The debug uart has changed in Linux Mainline make sure of the following in the kernel commandline
console=ttyAM0 -> console=ttyAMA0
2. Do not introduce a new compatible in DTS file and use the old one:
compatible = "fsl,imx28-evk", "fsl,imx28";
3. Try to enable EARLY_PRINTK in kernel config to see what's going wrong.
You don't need describe to all devices. Try to concentrate on boot at first.
Hello, Stefan!
I change command line on:
$ cat rpm/BUILD/imx-bootlets-src-2.6.35.3-1.1.0/linux_prep/cmdlines/iMX28_EVK.txt
earlyprintk console=ttyAMA0,115200 root=/dev/mmcblk0p3 rw rootwait
And minimize dt-file:
$ cat arch/arm/boot/dts/imx28-evk.dts
/dts-v1/;
#include "imx28.dtsi"
/ {
model = "Freescale i.MX28 Evaluation Kit";
compatible = "fsl,imx28-evk", "fsl,imx28";
memory {
reg = <0x40000000 0x08000000>;
};
};
Unfortunately this not solve problem, as minimum I wait see "Uncompessed linux" message, but output contained only this:
PowerPrep start initialize power... | ||
Configured for 5v only power source. | Battery powered operation disab. | |
LLLCFeb 28 201512:34:28 | ||
FRAC 0x92925552 | ||
memory type is DDR2 | ||
Wait for ddr ready 1power 0x00820710 | ||
Frac 0x92925552 | ||
start change cpu freq | ||
hbus 0x00000003 | ||
cpu 0x00010001 |
LLLLLLLFLCLLJ
For prepare sd-file I use imx-bootlets-src-2.6.35.3-1.1.0 from LTIB (L2.6.35_1.1.0_130130_source.tar.gz) and this work fine with linux-2.6.35 from LTIB.
May be I should use another way for prepare sb-file with linux-3.18?
Thank you and excuse my bad english.
Hi Kirill,
i think you have a problem in your workflow to build the bootstream. Please write down your steps to build kernel and bootstream.
I'm using imx-bootlets without any problems. To avoid any problems with the config i've attached my. But i think you still need EARLY_PRINTK in config and not in cmdline.
Btw you wont see a "Uncompressing Linux ..." with Linux 3.18.
Stefan
From the log :
No battery or bad battery |
So, VDD5V-only configuration of Linux BSP should be applied.
When the battery is not present, the recommended schematic is shown
on Figure 9 (Hardware connections for VDD5V-only applications) of the app note
AN4199. According to section “Limitations” of the app note for VDD5V-only configuration,
“During the early stage of device startup, before on-chip ROM execution, the input current
on VDD5V is limited to 100 mA”. Such restriction may provide boot issues, when
additional parts are fed via i.MX28 embedded PMU.
You may try to connect a diode between VDD5V and the DCDC_BATT/BATTERY signals,
assuming BATTERY voltage must not exceed 4.2 V.
Have a great day,
Yuri.
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Thank you, Yuri, but I think that the problem lies elsewhere.
Test with linux-2.6.35 from LTIB:
1. write sb-file
Installing boot stream ../bin/imx28_ivt_linux.sb on /dev/sdd2...
0+1 records in
1+0 records out
512 bytes (512 B) copied, 0.00398635 s, 128 kB/s
3320+1 records in
3321+0 records out
1700352 bytes (1.7 MB) copied, 0.770359 s, 2.2 MB/s
...finished installing boot stream on /dev/sdd2.
2. booting
PowerPrep start initialize power... | ||
Battery Voltage = 0.27V | ||
No battery or bad battery | detected!!!.Dis5 | |
FRAC 0x92925552 | ||
memory type is DDR2 | ||
Wait for ddr ready 1power 0x00820710 | ||
Frac 0x92925552 | ||
start change cpu freq | ||
hbus 0x00000003 | ||
cpu 0x00010001 | ||
LLLLLLLFLCLLJUncompressing Linux... done, booting the kernel. |
Linux version 2.6.35.3+ (kirill@kirill) (gcc version 4.4.4 (4.4.4_09.06.2010) )5
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177 | |
CPU: VIVT data cache, VIVT instruction cache | |
Machine: Freescale MX28EVK board | |
Memory policy: ECC disabled, Data cache writeback | |
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512 | |
Kernel command line: console=ttyAM0,115200 root=/dev/mmcblk0p3 rw rootwait | |
PID hash table entries: 512 (order: -1, 2048 bytes) |
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Perhaps we have correct (VDD5V-only) LTIB-based release. ?
Regards,
Yuri.
Sorry, I not understand, I use file L2.6.35_1.1.0_130130_source.tar.gz from FreeScale site.
Четверг, 26 февраля 2015, 0:46 -07:00 от Yuri Muhin <admin@community.freescale.com>:
>
>IMX28: linux-fslc-3.18.7 not start
>reply from Yuri Muhin in i.MX Community - View the full discussion
According to AN4199 Freescale BSP supports the following (selectable) configurations :
- DCDC_BATT source only ;
- VDD5V source only ;
- Battery-powered applications.
http://www.freescale.com/files/32bit/doc/app_note/AN4199.pdf
Regards,
Yuri.
Thank you, Yuri!
Unfortunately this is not solve problem, but boot log is clear:
HTLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLC
PowerPrep start initialize power...
Configured for 5v only power source. Battery powered operation disab.
LLLCFeb 26 201509:21:55
FRAC 0x92925552
memory type is DDR2
Wait for ddr ready 1power 0x00820710
Frac 0x92925552
start change cpu freq
hbus 0x00000003
cpu 0x00010001
LLLLLLLFLCLLJ