modjo756 / meta-seco

Yocto layer for sceoA62 card
MIT License
0 stars 0 forks source link

[help wanted] wic tool #2

Closed modjo756 closed 6 years ago

modjo756 commented 6 years ago

Hi @graugans , @drewmoseley i need your help for another point on secoA62. I have created a rocko image for the secoA62 but i have some problems to create a bootable sdcard with wic ... I have created a file, seco-sdcards.wks :

_part u-boot --source rawcopy --sourceparams="file=u-boot-secosbca62.imx" --ondisk mmcblk --no-table --align 1 part /boot --source bootimg-partition --ondisk mmcblk --fstype=vfat --label boot --active --align 4096 --size 8 part / --source rootfs --ondisk mmcblk --fstype=ext4 --label root --align 4096

bootloader --ptable msdos_

After the build of an image i can create an sdcard that have 2 partitions (boot and FS). The first problem is that u-boot don't start (can't boot. If i don't use my wks file the card boot and work fine, just need to copy bootscript manually) The second is that i need to copy a bootscript to the boot partition and i don't know how to do this in wks file ! this is the content of tmp/deploy/images :

├── bootscript ├── dts │   └── imx6q-seco_SBC_A62.dtb ├── imx6q-seco_SBC_A62.dtb -> zImage--4.1.15-r0-imx6q-seco_SBC_A62-20180321122840.dtb ├── modules--4.1.15-r0-secosbca62-20180321122840.tgz ├── modules-secosbca62.tgz -> modules--4.1.15-r0-secosbca62-20180321122840.tgz ├── sa62_rocko_qt5.9-secosbca62.manifest -> secosbca62-sa62_rocko_qt5.9-v1.0.rootfs.manifest ├── sa62_rocko_qt5.9-secosbca62.testdata.json -> secosbca62-sa62_rocko_qt5.9-v1.0.testdata.json ├── sa62_rocko_qt5.9-secosbca62.wic.bz2 -> secosbca62-sa62_rocko_qt5.9-v1.0.rootfs.wic.bz2 ├── secosbca62-sa62_rocko_qt5.9-v1.0.rootfs.manifest ├── secosbca62-sa62_rocko_qt5.9-v1.0.rootfs.wic.bz2 ├── secosbca62-sa62_rocko_qt5.9-v1.0.testdata.json ├── u-boot.imx -> u-boot-sd-2015.04-r0.imx ├── u-boot.imx-sd -> u-boot-sd-2015.04-r0.imx ├── u-boot-sd-2015.04-r0.imx ├── u-boot-secosbca62.imx -> u-boot-sd-2015.04-r0.imx ├── u-boot-secosbca62.imx-sd -> u-boot-sd-2015.04-r0.imx ├── uEnv_b08.txt ├── zImage -> zImage--4.1.15-r0-secosbca62-20180321122840.bin ├── zImage--4.1.15-r0-imx6q-seco_SBC_A62-20180321122840.dtb ├── zImage--4.1.15-r0-secosbca62-20180321122840.bin ├── zImage-imx6q-seco_SBC_A62.dtb -> zImage--4.1.15-r0-imx6q-seco_SBC_A62-20180321122840.dtb └── zImage-secosbca62.bin -> zImage--4.1.15-r0-secosbca62-20180321122840.bin

Can you help on this please ?

drewmoseley commented 6 years ago

Not sure how much I can help here. Looking at the udoo wks file I do see some differences. The udoo file specifies "bootloader" on a separate line as well as including the SPL binary. I don't know if the secoA62 will need something similar or not.

modjo756 commented 6 years ago

Thanks @drewmoseley , if i use u-boot from seco i don't need SPL binary (i think). I'm not an expert on u-boot and process around that ! Perhaps @graugans can help on this !

graugans commented 6 years ago

They have made some major fault in A62 in my opinion. They do provide different RAM configurations but there is no EEPROM or other way to detect the memory configuration. This means SPL is not needed. It depends on the u-boot you are using if it does provide SPL or not.

modjo756 commented 6 years ago

Hi, this is the version of u-boot that i use. I don't know if they use SPL (i suppose this is for use uEnv file ?). For the moment, at boot they have a bootscript that send data to kernel for config. Otherwise, if i use sdcard image in IMAGE_FSTYPES i can boot on the card but i have this warning :

The 'secosbca62' is using the i.MX 'sdcard' image format which is deprecated. This image type is going to be removed in next release so please convert this machine to use the wic tool

For the moment i didn't have a good wic config.

part of boot log :

_switch to partitions #0, OK mmc1 is current device reading bootscript 566 bytes read in 13 ms (42 KiB/s)

Executing script at 20000000

switch to partitions #0, OK mmc1 is current device reading /zImage 6184416 bytes read in 297 ms (19.9 MiB/s) reading /imx6q-seco_SBC_A62.dtb 40173 bytes read in 20 ms (1.9 MiB/s) Kernel image @ 0x12000000 [ 0x000000 - 0x5e5de0 ]

Flattened Device Tree blob at 18000000

Booting using the fdt blob at 0x18000000 Using Device Tree in place at 18000000, end 1800ccec_

graugans commented 6 years ago

Nope, SPL is completely unrelated to Boot scripts and uEnv. For different RAM configurations you need different set-ups. SPL is a small bootloader running before u-boot. This can detect h/w and set-up the RAM controller. When its done it can start either the big u-boot or directly linux (falcon mode)

modjo756 commented 6 years ago

Ok thanks for your clear explanation !

modjo756 commented 6 years ago

Hi, with this script the card boot fine, just bootscript file is missing !

_part u-boot --source rawcopy --sourceparams="file=u-boot.imx" --ondisk mmcblk --no-table --align 1 part /boot --source bootimg-partition --ondisk mmcblk --fstype=vfat --label boot --active --align 4096 --size 8 part / --source rootfs --ondisk mmcblk --fstype=ext4 --label root --align 4096

bootloader --ptable msdos_

Need t find how to implement the copy of this file to boot partition

graugans commented 6 years ago

You'll have to decide weather you want to have this script installed to a VFAT partion or in the rootfs. I solved this in the meta-udoo by creating a recipe which installs the script into the rootfs. I personally dislike vfat and do prefere a filesystem which can handle power losses. When I remember correctly it was not simple to have the vfat partion fit in the wic approach.

modjo756 commented 6 years ago

Ok, i will try to remove the boot partition. To do this how i can proceed ? perhaps like this in meta-udoo

graugans commented 6 years ago

Yes, maybe checking the git logs arround this commit will help you to understand

modjo756 commented 6 years ago

With this commit i have add bootscript to boot partition. For the moment i kept dual partition (for single partition need to change u-boot seco config)