Dear Admin
I have git cloned from git clone -b edison-v2015.10 https://github.com/01org/edison-u-boot.git
And I have modified edison.h to include the following
# define CONFIG_EXTRA_ENV_SETTINGS\"boot_edsboot=zboot 0x100000 0 0x800000 0x800000"\"bootargs_edsboot=console=tty1 console=ttyS2,115200n8 vmlinuz modules=loop,squashfs,sd-mod,usb-storage modloop=modloop-edison"\"bootcmd=setenv bootargs ${bootargs_edsboot}; run load_edsboot; run boot_edsboot"\"load_edsboot=load mmc 0:9 0x100000 vmlinuz; load mmc 0:9 0x800000 initramfs-edison"\However when i am trying to flash the compiled u-boot-edison.bin I get the following.
Download[======================== ] 96% 323584 bytesInvalid DFU suffix signaturePlease help as to how to get it working? We are close to releasing another Operating System for Edison
Link Copied
Hi,
Is this the full error log you're receiving, if not, please post the complete log. In the meantime look at this link https://community.particle.io/t/problem-with-flashing-firmware-solved/3514/17 https://community.particle.io/t/problem-with-flashing-firmware-solved/3514/17 it has a suggestion who faced a similar issue to yours.
Additionally, you can also check https://gist.github.com/fboris/a72d5f6eae656beea5c1 https://gist.github.com/fboris/a72d5f6eae656beea5c1 and http://wiki.openmoko.org/wiki/Manuals/dfu-util http://wiki.openmoko.org/wiki/Manuals/dfu-util
Let me know your results.
Sergio
Dear Sergio
Here is the pastebin of log
The interesting part is that it works fine with normal u-boot. I will try your suggestions.
We'll be waiting for your results.
Sergio
Sergio
Finally went the yocto route and testing a u-boot. These are what I am trying....
setenv bootargs vmlinuz modules=loop,squashfs,sd-mod,usb-storage initrd=0x800000,8M initrd=initramfs-edison modloop=modloop-edison initcall_debug=0 console=ttyMFD2 earlyprintk=ttyMFD2,keep loglevel=4 g_multi.ethernet_config=rndis systemd.unit=multi-user.target hardware_id=00 g_multi.iSerialNumber=b33f335811680145fdc309c8f189130c g_multi.dev_addr=02:00:86:89:13:0c platform_mrfld_audio.audio_codec=dummy
fatload mmc 0:6 0x100000 vmlinuz
fatload mmc 0:6 0x800000 initramfs-edison
zboot 0x100000 0 0x800000
And this is my error
Starting kernel ...
[ 0.801071] pca953x 1-0020: failed reading register
[ 0.806134] pca953x 1-0021: failed reading register
[ 0.811207] pca953x 1-0022: failed reading register
[ 0.816221] pca953x 1-0023: failed reading register
[ 1.554771] snd_soc_sst_platform: Enter:sst_soc_probe
[ 2.041869] pmic_ccsm pmic_ccsm: Error reading battery profile from battid frmwrk
[ 2.050396] pmic_ccsm pmic_ccsm: Battery Over heat exception
[ 2.074591] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[ 2.074682] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.10.98-poky-edison # 3
[ 2.074744] Hardware name: Intel Corporation Merrifield/BODEGA BAY, BIOS 542 2015.01.21:18.19.48
[ 2.074813] f6837f18 f6837f18 f6837ecc c18cf3d5 f6837eec c18caade c1acb930 c1d0c400
[ 2.074931] 00000000 f6837f18 00008001 f5865000 f6837f44 c1c5ce63 c1abd60c f6837f18
[ 2.075044] f6837f18 fffffffa 00000000 f58651a4 00000000 f76beca0 fffffffa 6e6b6e75
[ 2.075158] Call Trace:
[ 2.075214] [] dump_stack+0x16/0x18
[ 2.075269] [] panic+0x87/0x181
[ 2.075323] [] mount_block_root+0x1c6/0x230
[ 2.075385] [] ? SyS_mknod+0x2d/0x30
[ 2.075438] [] mount_root+0x5b/0x61
[ 2.075491] [] prepare_namespace+0x149/0x18d
[ 2.075550] [] ? SyS_access+0x25/0x30
[ 2.075604] [] kernel_init_freeable+0x1b0/0x1bd
[ 2.075663] [] ? do_early_param+0x78/0x78
[ 2.075720] [] kernel_init+0x10/0x140
[ 2.075776] [] ret_from_kernel_thread+0x1b/0x28
[ 2.075834] [] ? rest_init+0x80/0x80
I am closing to almost getting a working linux distro for Intel Edison. Any advise?
Here is my env
audio_codec_name=audio_codec="dummy"
boot_target_cmd=run do_flash_os;run do_probe_dfu;run do_compute_target;run mmc-bootargs;run load_kernel;run load_initramfs;zboot ${loadaddr} ${loadaddr_ramfs}
bootargs_console=console=ttyMFD2 earlyprintk=ttyMFD2,keep
bootargs_debug=loglevel=4
bootargs_ethconfig=rndis
bootargs_target=multi-user
bootcmd=echo "Target:${target_name}"; run do_partition; run do_handle_bootargs_mode;
bootdelay=1
dfu_alt_info_ram=kernel ram ${loadaddr} 0x800000
dfu_alt_info_reset=reset ram 0x0 0x0
dfu_to_sec=3
do_audio_support=setenv audio_support platform_mrfld_audio.${audio_codec_name}
do_boot=run boot_target_cmd;
do_bootargs_rootfs=setenv bootargs_rootfs vmlinuz modules=loop,squashfs,sd-mod,usb-storage quiet nomodeset modloop=modloop-edison rootwait rootfstype=vfat ramdisk_size=50000
do_compute_target=if itest.b ${first_install_retry} -gt ${first_install_max_retries} || itest.b ${ota_update_retry} -gt ${ota_update_max_retries}; then echo "Switch to Rescue target"; setenv bootargs_target rescue; saveenv; fi
do_dfu_alt_info_ifwi=setenv dfu_alt_info "ifwi${hardware_id} mmc 0 8192 mmcpart 1;ifwib${hardware_id} mmc 0 8192 mmcpart 2"
do_dfu_alt_info_mmc=setenv dfu_alt_info "ifwi${hardware_id} mmc 0 8192 mmcpart 1;ifwib${hardware_id} mmc 0 8192 mmcpart 2;u-boot0 part 0 1;u-boot-env0 part 0 2;u-boot1 part 0 3;u-boot-env1 part 0 4;rootfs part 0 6;vmlinuz fat 0 6;initrd fat 0 6"
do_dnx=setenv dfu_alt_info ${dfu_alt_info_ram};dfu 0 ram 0 ram;run bootcmd
do_fallback=echo "Unknown boot mode: $bootargs_mode"; env delete -f bootargs_mode; saveenv; echo "Resetting to default boot mode and reboot..."; reset;
do_flash=run do_force_flash_os;
do_flash_ifwi=run do_dfu_alt_info_ifwi ; dfu 0 mmc 0
do_flash_os=if itest.b ${do_flash_os_done} -eq 1 ; then echo "Flashing already done..." ; else run do_force_flash_os; fi
do_flash_os_done=1
do_flashall=run do_partition;run do_flash_ifwi;run do_flash_os
do_force_flash_os=run do_dfu_alt_info_mmc ; sleep 1 ; setenv do_flash_os_done 1 ; saveenv ; dfu 0 mmc 0
do_force_partition=echo "Partitioning using GPT"; gpt write mmc 0 ${partitions} ; mmc rescan; setenv do_partition_done 1 ; saveenv
do_handle_bootargs_mode=run do_preprocess_bootargs_mode; if itest.s $bootargs_mode == "ota" ; then run do_ota; fi; if itest.s $bootargs_mode == "boot" ; then run do_boot; fi; if itest.s $bootargs_mode == "flash"; then run do_flash; fi; run do_fallback; exit;
do_load_ota_scr=if fatload mmc 0:6 $ota_script_addr ota_update.scr ; then setenv ota_status 0 ; else setenv ota_status 1 ; fi
do_ota=run do_ota_init ; run do_load_ota_scr ; run do_source_ota_scr ; run do_ota_clean
do_ota_clean=saveenv ; reset
do_ota_init=setenv ota_status 1 ; env delete -f bootargs_mode
do_partition=if itest.b ${do_partition_done} -eq 1; then echo "Partitioning already done..."; else run do_force_partition ; fi
do_partition_done=1
do_preprocess_bootargs_mode=if env exists bootargs_mode ; then ; else setenv bootargs_mode "boot" ;fi;
do_probe_dfu=run do_dfu_alt_info_mmc ; dfu 0 mmc 0 $dfu_to_sec
do_source_ota_scr=if test $ota_status -eq 0 ; then if source $ota_script_addr ; then setenv ota_status 0 ; else setenv ota_status 2 ; fi ; fi
first_install_max_retries=3
first_install_retry=0
hardware_id=00
init_dfu=run do_dfu_alt_info_mmc ; saveenv
load_initramfs=fatload mmc 0:6 ${loadaddr_ramfs} initramfs-edison
load_kernel=fatload mmc 0:6 ${loadaddr} vmlinuz
loadaddr=0x100000
loadaddr_ramfs=0x8100000
mmc-bootargs=run do_bootargs_rootfs; run do_audio_support; setenv bootargs ${bootargs_rootfs} ${bootargs_console} ${bootargs_debug} g_multi.ethernet_config=${bootargs_ethconfig} systemd.unit=${bootargs_target}.target hardware_id=${hardware_id} g_multi.iSerialNumber=${serial# } g_multi.dev_addr=${usb0addr} ${audio_support}
ota_done=0
ota_script_addr=0x100000
ota_update_max_retries=3
ota_update_retry=0
partitions=uuid_disk=${uuid_disk};name=u-boot0,start=1MiB,size=2MiB,uuid=${uuid_uboot0};name=u-boot-env0,size=1MiB,uuid=${uuid_uboot_env0};name=u-boot1,size=2MiB,uuid=${uuid_uboot1};name=u-boot-env1,size=1MiB,uuid=${uuid_uboot_env1};name=factory,size=1MiB,uuid=${uuid_factory};name=rootfs,size=-,uuid=${uuid_rootfs};
serial# =b33f335811680145fdc309c8f189130c
stderr=serial
stdin=serial
stdout=serial
target_name=blank
usb0addr=02:00:86:89:13:0c
uuid_disk=21200400-0804-0146-9dcc-a8c51255994f
uuid_factory=333a128e-d3e3-b94d-92f4-d3ebd9b3224f
uuid_rootfs=f20aa902-1c5d-294a-9177-97a513e3cae4
uuid_uboot0=d117f98e-6f2c-d04b-a5b2-331a19f91cb2
uuid_uboot1=8a4bb8b4-e304-ae48-8536-aff5c9c495b1
uuid_uboot_env0=25718777-d0ad-7443-9e60-02cb591c9737
uuid_uboot_env1=08992135-13c6-084b-9322-3391ff571e19
I am intercepting u-boot and trying to load the yocto kernel....with an initramfs file...but it seems to crash...
And my mmc 0:6
boot > fatls mmc 0:6
9633513 initramfs-edison
5478784 vmlinuz
7946240 modloop-edison
apks/
3 file(s), 1 dir(s)
boot >
Are you following any guides to modify the u-boot, what other steps have you followed? Are you going to continue working on Yocto or are you going to use another OS? Why do you need to modify u-boot?
Sergio
Hi Sergio, I have crossed the above hurdle.
I am trying to get Yocto Kernel + Initrd [Initramfs] working for Edison based on www.alpinelinux.org. It has gone forward a bit more however its still struck waiting for the console command prompt. Here is the pastebin
1. U-boot customization is complete and it works [Will create a seperate tutorial thread on how-to]
2. Kernel seems to boot fine but I think it still cannot find the following required files/dir present in mmc 0:6 fat partition hence no command prompt..
boot > ls mmc 0:6
9633513 initramfs-edison
5478784 vmlinuz
7946240 modloop-edison
apks/
3 file(s), 1 dir(s)
The following are the goals I set upon (unlike ubilinux or yocto):
I plan to release it once its ready free of cost to community and continue supporting
Thank you for providing the steps you've made so far. This is very interesting work however, we don't have experience with http://www.alpinelinux.org www.alpinelinux.org. I'd suggest you to contact the AlpineLinux community as the final issue is not getting the console prompt to boot from the AlpineLinux http://www.alpinelinux.org/community/ http://www.alpinelinux.org/community/ .
-Sergio
I understand but are there any plans to support newer kernels? Too bad Edison is such a good hardware.....
We're currently working on releasing a new kernel for the Edison. It is being updated publically in github here: https://github.com/01org/edison-linux/commits/wip-edison-3.19.5 https://github.com/01org/edison-linux/commits/wip-edison-3.19.5 . There's still not an estimated date of release for this new kernel.
-Sergio
Thanks,
The invalid signature issue has been fixed by using a custom generated OSIP binary.
For more complete information about compiler optimizations, see our Optimization Notice.