[U-Boot] Problem with mounting a jffs2 partition on flash.
Bakhvalov, Denis (Nokia - PL/Wroclaw)
denis.bakhvalov at nokia.com
Tue Feb 9 16:36:33 CET 2016
Hi,
Thank you for you responses!
@To Marek:
> It would be very helpful to see the whole boot output, not just U-Boot output.
> For example SPL output is missing. Are you using mainline U-Boot SPL or not ?
Here is the output from SPL:
U-Boot SPL 2013.01.01-svn564 (May 27 2015 - 17:58:12)
Board Type : XXXX // I changed it
Preloader Ver.: 00.01.03.00
QSPI Access Mode: Single Access
BOARD : Altera SOCFPGA Arria V Board
CLOCK: EOSC1 clock 25000 KHz
CLOCK: EOSC2 clock 25000 KHz
CLOCK: F2S_SDR_REF clock 0 KHz
CLOCK: F2S_PER_REF clock 0 KHz
CLOCK: MPU clock 800 MHz
CLOCK: DDR clock 400 MHz
CLOCK: UART clock 100000 KHz
CLOCK: MMC clock 12500 KHz
CLOCK: QSPI clock 400000 KHz
RESET: COLD
INFO : Watchdog enabled
SDRAM: Initializing MMR registers
SDRAM: Calibrating PHY
SEQ.C: Preparing to start memory calibration
SEQ.C: CALIBRATION PASSED
SDRAM: 512 MiB
SF: Read data capture delay calibrated to 3 (0 - 7)
SF: Detected S25FL512S with page size 512, total: 67108864
Here is the output from U-Boot:
U-Boot 2013.01.01-svn578 (Jan 08 2016 - 16:02:29)
VERSION : 00.02.04.00
U-Boot code: 01000040 -> 01049080 BSS: -> 01089908
IRQ Stack: 0badc0de
FIQ Stack: 0badc0de
CPU : Altera SOCFPGA Platform
BOARD : XXXX // I changed it
I2C: ready
monitor len: 000898C8
ramsize: 1F000000
TLB table from 1eff0000 to 1eff4000
Top of RAM usable for U-Boot at: 1eff0000
Reserving 550k for U-Boot at: 1ef66000
Reserving 640k for malloc() at: 1eec6000
Reserving 32 Bytes for Board Info at: 1eec5fe0
Reserving 128 Bytes for Global Data at: 1eec5f60
Reserving 2048 Bytes for IRQ stack at: 1eec5760
New Stack Pointer is: 1eec5750
DRAM: 496 MiB
relocation Offset is: 1df65fc0
dram_bank_mmu_setup: bank: 0
monitor flash len: 00051840
Now running in RAM - U-Boot at: 1ef66000
spi_setup_slave: bus 0 cs 0 max_hz 50MHz mode 3
spi_claim_bus: bus:0 cs:0
cadence_qspi_apb_chipselect : chipselect 0 decode 0
cadence_qspi_apb_config_baudrate_div: ref_clk 400000000Hz sclk 50000000Hz Div 0x3
cadence_qspi_apb_config_baudrate_div: ref_clk 400000000Hz sclk 1000000Hz Div 0xf
cadence_qspi_apb_config_baudrate_div: ref_clk 400000000Hz sclk 50000000Hz Div 0x3
SF: Read data capture delay calibrated to 3 (0 - 7)
SF: Configuration Register : READ : CMD : 0x35
spi_claim_bus: bus:0 cs:0
cadence_qspi_apb_chipselect : chipselect 0 decode 0
cadence_qspi_apb_config_baudrate_div: ref_clk 400000000Hz sclk 50000000Hz Div 0x3
SF: Bank Register : WRITE : CMD : 0x17 : BANK : 0x80
SF: Opt Area Data : READ : CMD : { 0x4b : 0x00000010 }
spi_claim_bus: bus:0 cs:0
cadence_qspi_apb_chipselect : chipselect 0 decode 0
cadence_qspi_apb_config_baudrate_div: ref_clk 400000000Hz sclk 50000000Hz Div 0x3
SF: Detected S25FL512S with page size 512, total 67108864 bytes
SF: Detected S25FL512S with page size 512, total: 67108864
READ: 0x100000 => cmd = { 0x0b 0x0010000008 } len = 0x20000
spi_claim_bus: bus:0 cs:0
cadence_qspi_apb_chipselect : chipselect 0 decode 0
cadence_qspi_apb_config_baudrate_div: ref_clk 400000000Hz sclk 50000000Hz Div 0x3
READ: 0x140000 => cmd = { 0x0b 0x0014000008 } len = 0x20000
spi_claim_bus: bus:0 cs:0
cadence_qspi_apb_chipselect : chipselect 0 decode 0
cadence_qspi_apb_config_baudrate_div: ref_clk 400000000Hz sclk 50000000Hz Div 0x3
Destroy Hash Table: 1efae2a0 table = 00000000
Create Hash Table: N=512
...
// then a lot of prints setting env variables.
> How did you install the U-Boot on your board ?
U-boot is simply stored to flash using USB blaster from Altera.
@To Wolfgang:
> What do you mean by "current" here? UBI/UBIFS support in U-Boot was
> actually adapted from the Linux kernel, so Linux support for UBI/UBIFS
> predates the U-Boot code by a long, long time.
Ok, I tried to make it work with UBI/UBIFS:
1. From Linux env I erased partition:
flasheraseall /dev/mtd5
2. I'm able to work with this partition is Linux env:
ubiattach /dev/ubi_ctrl -m 5
ubimkvol /dev/ubi0 -N myUbifs -s 35MiB
mount -t ubifs ubi0_0 /mnt
3. But from U-Boot it is not working:
All commands as before:
U-BOOT # sf probe 0 0 0
U-BOOT # mtdparts
...
---list_partitions---
device nor0 <snor0>, # parts = 4
#: name size offset mask_flags
0: boot 0x00100000 0x00000000 0
1: bootenv 0x00080000 0x00100000 0
2: SomeInfo 0x01980000 0x00180000 0
3: jffs2spart 0x02500000 0x01b00000 0
U-BOOT # ubi part ubifspart
---mtdparts_init---
last_ids : nor0=snor0
env_ids : nor0=snor0
last_parts: mtdparts=snor0:1M(boot),512k(bootenv),26112k(SomeInfo),-(ubifspart)
env_parts : mtdparts=snor0:1M(boot),512k(bootenv),26112k(SomeInfo),-(ubifspart)
last_partition : nor0,0
env_partition : nor0,0
--- find_dev_and_part ---
id = ubifspart
--- find_dev_and_part ---
id = ubifspart
Creating 1 MTD partitions on "nor0":
0x000001b00000-0x000004000000 : "mtd=3"
raise: Signal # 8 caught
raise: Signal # 8 caught
UBI: attaching mtd1 to ubi0
raise: Signal # 8 caught
UBI: physical eraseblock size: 0 bytes (0 KiB)
UBI: logical eraseblock size: -128 bytes
UBI: smallest flash I/O unit: 1
UBI: VID header offset: 64 (aligned 64)
UBI: data offset: 128
UBI: empty MTD device detected
UBI: create volume table (copy #1)
UBI error: ubi_scan_get_free_peb: no eraseblocks found
UBI error: ubi_init: cannot attach mtd1
UBI error: ubi_init: UBI error: cannot initialize UBI, error -28
UBI init error 28
Command failed, result=28U-BOOT #
I'm confused about those prints:
raise: Signal # 8 caught
There are just so much of them... Even when executing sf probe command.
> Do you mean you are using a prehistoric Linux kernel version?
No, Linux version is 3.10.31.
> It appears it is hanging in the DRAM initialization phase. This is a
> very common issue. Please make sure your memory configuration is
> correct.
> You can deal with this later; first you need to have the system
> running at all. You should focus on this first.
This is what I'm going to do next.
Best regards,
Denis Bakhvalov
MBB Radio Platforms, RFSW
More information about the U-Boot
mailing list