Open tinito opened 8 years ago
Same problem here...not matter what i try it just doesnt boot Initramfs file. Even though I correct it by loading at the correct addresses.
Sorry - I've given up on Edison and Galileo. I can tell you that this was definitely working at one point, but I don't have any intention of spending any more time on the boards. If you get this working, I'd encourage you to submit your changes to upstream Buildroot. I had wanted to do that, but I needed Intel to distribute their kernel and uboot outside of the big Yocto tarball for it to be accepted. I was told that Intel was planning on doing that, but I gave up waiting for it to happen after 6 months or so.
Can you atleast share your setenv bootargs settings? Along with "load mmc" commands for Initramfs + kernel (more specifically load address and "zboot" command)? It be a kind help. :-)
It's been over a year. If it's not in this repository or https://github.com/fhunleth/bbb-buildroot-fwup/tree/edison/board/edison, then I'm not sure.
Appreciate it, gonna try out latest u-boot and report back (and probably syslinux if it works)
Okie I am going to release with instructions once I get it working (DIY style as well as full images). I have written another instructions albiet for arm that are here https://wiki.alpinelinux.org/wiki/DIY_Fully_working_Alpine_Linux_for_Allwinner_and_Other_ARM_SOCs
As we speak, I have compiled u-boot (2015 version), custom OSIP bin (using fwup), rootfs (livecd)...have to figure out a way to compile u-boot-env.bin file.
Most importantly
./tools/mkenvimage -s 0xaddress -o uboot-env.bin uboot-env.txt -s 0xaddress option allows to specify the size of the image to create. It must match the size of the flash area reserved for the U-Boot environment
-r option must be used when there are two copies of the environment stored in the flash and these options have to set while compiling the u-boot for edison in edison.h CONFIG_ENV_ADDR_REDUND and CONFIG_ENV_SIZE_REDUND.
We must tell mkenvimage whether you’re using a redundant environment or a single environment.
I was looking at redundant environment when browsing the great work frank has done especially while referring to https://github.com/fhunleth/bbb-buildroot-fwup/blob/edison/board/edison/fwup-simple.conf https://github.com/fhunleth/bbb-buildroot-fwup/blob/edison/board/edison/fwup-pingpong.conf
Thank you frank...will follow up here..
@atlury Thanks! Looking forward to it
@atlury Hey, did you make any progress with generating full images? Thanks!
Yes it boots fine, however there is one last issue. We can run any kind of OS now on Edison but the one last problem is this...
After flashing, I sometimes see folders with cryptic names poping up (garbled up).. I was thinking the intel flash tool fully doesn't format the internal emmc
And after that even if we try to reflash it using stock flash image it doesnt help.
I guess the problem stems from the fact that there is no way to directly format the internal emmc. At times we are only altering the partition tables.....i may have to find a way to wipe it clean before flashing any other image....
I honestly dont know if its the internal emmc issue or partition tables...
No help from here as well https://communities.intel.com/thread/103050
@atlury: This sounds familiar. If I remember right, the Intel flashing tool uses the image-size-blocks
field in the OSIP header to figure out how many bytes to write. This is wrong, but the workaround is to modify image-size-blocks
in the fwup file to the total size of your image / 512. It looks like I have it set to 0xc000 which would correspond to a 25 MB image. I don't know how big your image is, but I might try playing around with the OSIP header to affect the tool or fix Intel's flashing tool.
frank,
Is this where it should be changed?
osii 0 { os-major = 0 os-minor = 0 start-block-offset = ${UBOOT_OFFSET} ddr-load-address = 0x01100000 entry-point = 0x01101000 image-size-blocks = 0x0000c000 attribute = 0x0f }
I didnt realize the image-size-blocks field has to be changed. I remember you writing a comment somewhere as "#This need to be huge since xfstk uses it to figure out the size."
I will try to follow your advise and revert back...
Yes, that's the right place.
@fhunleth
quick question, does the image size blocks mean the total size including u-boot, rootfs etc or does it just mean the image size blocks relating to only rootfs image?
I've forgotten. I think that you'd need to go through xfstk to figure it out for sure.
@fhunleth
Dear Frank,
here is the osip config
define(BOOT_PART_OFFSET, 2048) define(BOOT_WRITE_OFFSET, 2056) # Skip 8 blocks (4K) before writing the U-Boot image define(UBOOT_ENV_1_OFFSET, 6144) define(UBOOT_ENV_2_OFFSET, 12288)
define(ROOTFS_PART_OFFSET, 14336) define(ROOTFS_PART_COUNT, 262144)
meta-product = "AL Intel Edison" meta-description = "This image boots to Linux Legacy Kernel." meta-version = "AL 3.4" meta-platform = "edison" meta-architecture = "x86" meta-author = "FH"
mbr mbr-a { include-osip = true osip-major = 1 osip-minor = 0 osip-num-pointers = 1
osii 0 {
os-major = 0
os-minor = 0
start-block-offset = ${BOOT_PART_OFFSET}
ddr-load-address = 0x01100000
entry-point = 0x01101000
image-size-blocks = 0x00090000
attribute = 0x0f
}
partition 0 {
block-offset = ${ROOTFS_PART_OFFSET}
block-count = ${ROOTFS_PART_COUNT}
type = 0x0b # FAT32
}
}
task complete { on-init { mbr_write(mbr-a) } }
Notice the image block size is 0x00090000 My rootfs is as follows dd if=/dev/zero of=rootfs.fat32 bs=1M count=100 mkfs.vfat -n "edison" -F 32 -v rootfs.fat32
Hardly 100MB and Image block size is very large enough however the board doesnt boot. Any ideas ????
@fhunleth @dax0
Sorry to hijack this thread but if it has to be told, it has to be told. I have done a bit of experimentation yesterday. If you enable (basically all being same blocks)
1) Rootfs-count to be 49152 2) Image-block-size to be c000 which is 49152 3) and keep the same count 49152 for BS=512 when creating using DD; the actual ext4 or fat file....
It seems to work. No garbled folders or anything. And it flashes correctly. I will have to do a bit more of testing before I can start releasing OS images.
@atlury Awesome! I'm happy to help test if you have an image
@dax0
I will upload one soon...just testing a few things... any other size it doesnt work...even if they "all" are on the same block size..i cant understand why..be patient
@dax0
Update is that the Intel thingy (xfstk-dldr-solo.exe) can only flash the bootloader (i was told by intel folks) and not large files and also the bootloader wont repartition the emmc....hence they have the ugly hack of enabling dfu-util and then reflashing again the rootfs image using dfu-utils..exploring further to finalize...
@dax0 @fhunleth
Frank any last ideas for this?
http://paste.ubuntu.com/17465299/
XFSTK-LOG--usb_bulk_read() fails XFSTK-LOG--Windriver Error: 0x20000015, Timeout expired
Last nail in the coffin...is there an option to enable xfstk to do large transfer with large timeout option?
@dax0
Test release is here...
More later...
@atlury Thanks! Will try this out tonight
@atlury any chance you could be so kind as to give us some indication as to how you were able to overcome this issue? I'm stuck at more or less where you were several months ago, and can't get the kernel to boot.
@mpapini there are multiple issues here. Please read through to gain some understanding a) https://communities.intel.com/thread/102968 b) https://communities.intel.com/thread/103309 c) https://communities.intel.com/thread/104366?start=15&tstart=0 d) https://communities.intel.com/thread/103050 e) https://communities.intel.com/thread/102412
Its an gigantic moronic epic mess. Edison as such. I can walk you through the entire steps but I can only do so in skype or gtalk.
You can find a Ubuntu Release I did for Edison here https://github.com/atlury/Intel-Edison-OS-Images/releases
I'm trying to boot the image generate with buildroot (thanks so much for adding edison support!) but I still have some problems. U-boot finds the kernel, but then the kernel fails to mount rootfs:
I tried flashing the image both from a running yocto distribution and by using XFSTK, with same results.
Inspecting partitions from u-boot console I see:
Any advice to solve this?