Enable UBI support for a platform

Deepak Kodihalli dkodihal at linux.vnet.ibm.com
Wed Sep 9 01:26:36 AEST 2020


On 08/09/20 12:39 am, Kun Zhao wrote:
> 
> On 9/5/20 5:49 AM, Deepak Kodihalli wrote:
>> Hi Kun,
>>
>> On 05/09/20 5:32 am, Kun Zhao wrote:
>>> Hi Team,
>>>
>>> My platform is based on ast2500, and I’ve already been able to built out the ubi image. But when I tried to test it with qemu, it just stopped at u-boot because ‘can’t get kernel image,
>>>
>>> qemu-system-arm: Aspeed iBT has no chardev backend
>>>
>>> U-Boot 2016.07 (Sep 04 2020 - 19:47:48 +0000)
>>>
>>>          Watchdog enabled
>>>
>>> DRAM:  496 MiB
>>>
>>> Flash: 32 MiB
>>>
>>> *** Warning - bad CRC, using default environment
>>>
>>> In:    serial
>>>
>>> Out:   serial
>>>
>>> Err:   serial
>>>
>>> Net:   MAC0 : RGMII
>>>
>>> MAC1 : RGMII
>>>
>>> FTGMAC100#0
>>>
>>> Error: FTGMAC100#0 address not set.
>>>
>>> , FTGMAC100#1
>>>
>>> Error: FTGMAC100#1 address not set.
>>>
>>> Hit any key to stop autoboot:  0
>>>
>>> Wrong Image Format for bootm command
>>>
>>> ERROR: can't get kernel image!
>>>
>>> ast#
>>>
>>> And I found the bootargs is not right,
>>>
>>> ast# print
>>>
>>> baudrate=115200
>>>
>>> bootargs=console=ttyS4,115200n8 root=/dev/ram rw
>>>
>>> bootcmd=bootm 20080000
>>>
>>> bootdelay=2
>>>
>>> Checked in the build folder for tmp/work/myplatform-openbmc-linux-gnueabi/u-boot-aspeed/1_v2016.07+gitAUTOINC+1ded9fa3a2-r0/ and found the none of the following patches are there,
>>>
>>> 0002-config-ast-common-hack-bootopts.patch
>>>
>>> 0003-config-ast-common-Add-bootopts-to-support-ubi-and-mt.patch
>>>
>>> 0004-config-ast-common-Add-conditional-factory-reset-comm.patch
>>>
>>> 0005-config-ast-common-Fall-back-to-secondary-flash-on-fa.patch
>>>
>>> I think that’s why the bootargs is not correct.
>>>
>>> This is the details of how I enabled the ubi support in my platform recipes,
>>>
>>> 1. In meta-myplatform/conf/distro/openbmc-myplatform.conf, I added,
>>>
>>> require conf/distro/include/phosphor-base.inc
>>>
>>> require conf/distro/include/phosphor-ubi.inc
>>
>> You should just need the one line above, plus a device tree change for your system. The default openbmc-flash-layout.dtsi doesn't make a ubifs partition. You can for eg look at witherspoon's dts, which uses ubifs.
> Hi Deepak, thank you for reply. I've tried to use the witherspoon's flash layout per your tips here. But it still stops at u-boot with "can't get kernel image!" error. Do I need to enable any kernel config options?


Hi Kun, I don't think you need additional kernel config updates. I 
suspect something wrong with the way the image is built. Are you able to 
see expected values for the u-boot environment variables and MTD 
partitions? For eg:

ast# mtdparts
device nor0 <bmc>, # parts = 3
  #: name		size		offset		mask_flags
  0: u-boot              0x00060000	0x00000000	0
  1: u-boot-env          0x00020000	0x00060000	0
  2: obmc-ubi            0x01f80000	0x00080000	0
active partition: nor0,0 - (u-boot) 0x00060000 @ 0x00000000


>> Does anyone know why the default is static partitions, and not ubifs?
>>
>> Regards,
>> Deepak
>>
>>> 2. In meta-myplatform/conf/machine/myplatform.conf, I added,
>>>
>>> IMAGE_FSTYPES += " mtd-ubi mtd-ubi-tar"
>>>
>>> OBMC_MACHINE_FEATURES += " obmc-ubi-fs"
>>>
>>> Do I miss anything?
>>>
>>> Thanks.
>>>
>>> Best regards,
>>>
>>> Kun Zhao
>>>
>>> /*
>>>
>>> zkxz at hotmail.com <mailto:zkxz at hotmail.com>
>>>
>>> */
>>>
>>
> Kun
> 



More information about the openbmc mailing list