I have my raspberry pi zero, and during development I spend a lot of time to eject-inject SD card and re-flash it. SD card image is prepared in Buildroot, so it includes boot partition with kernel, device tree overlays and partition with rootfs.
Is there simpler way to re-flash SD card? For example via network? I know that U-boot can load kernel via tftp, but if I need not only kernel, but whole image(device tree overlays are extremely important)?
Use TFTP to load the kernel image, and NFS to mount the root filesystem over the network.
Related
I have built an image for the TQ Systems STKa8x Evaluation board with an i.MX8 QuadMax using the yocto project. The resulting image does not boot on the device. Can anyone help me interpret the warnings and errors occuring in the serial console output when trying to boot?
I think the the machine configuration might be wrong? The device hardware is ok, becaus the device boots using the included sd card.
Did you flash your Yocto image in your emmc or SDcard ? Here it seams that there is no partition table in your emmc which is normally embedded inside Linux image. It is more likely that the flash did not succeed.
Plus you can see warning from u-boot that he cannot load the device tree. Check your repository build/tmp/deploy/image/machine/*.dtb
You should also check if your linux image and device tree is flashed in the correct address.
Solved: The problem was caused by the SD card. I have used this SD card https://de.transcend-info.com/embedded/product/embedded-memory-cards/usd230i. Using another one solved my problem.
I am using sama5d27-som1-ek1 board. I built for it Linux distribution using Yocto project. This linux distribution is for SD card. It has two partition : Boot and Root.
I followed the steps described here :
Yocto_Linux_OS
In the boot partition there are at91bootstrap, u-boot and other files necessary to boot the board.
Now I want that my board boot from QSPI memory that exists in the SOM of the board. Besides, I want to let the root partion in the SD card.
What I see in link above, building a linux os image for QSPI memory is not the same as building it for SD memory and when I build another linux distribution for QSPI I think that root and boot are made only to be stored in that QSPI memory.
Is it possible to make the card boots from QSPI while the root is stored in SD memory ? If yes, please tell me how ? Thank you!
) I use Beagle Bone Green for my project. I am building my custom image with buildroot. I want a solution to be able to load the kernel image and rootfs with my apps from u-boot via tftp, but on the other hand I want to be able to use eMMC for some permanent files... What options do I have? Thanks)
initrd/initramfs for your rootfs and mount the emmc into that, e.g. /var or /mnt
nfsroot your rootfs is on a network drive, you can still mount the eMMC into any directory you want for device specific storage
partition eMMC download your rootfs image and write it to one partition on boot (usually from within initramfs). Keep your permanent data in a second eMMC partition. This approach can be useful if either of the previous don't work out e.g. due to not enough RAM or network limitations.
There are probably some other variations that I didn't mention, but those should be the most common.
I've built an SD card firmware, for Raspberry Pi.
This firmware is made of two partitions : 1x FAT32 and 1x EXT4. What I'm trying to do, is to let Windows users install it as fast as possible on their own SD cards.
The classic way is to deliver a full SD card image, and let people flash it (using SD Formatter, Wind32DiskImager, etc). In most cases, it takes a lot of time.
On Unices however, it is also possible to build the partitions (parted) on the SD card, then copy the files there, and this is only a matter of minutes, if not less.
And so, my question : are there tools to proceed this way on Windows ?
I accidently modified uEnv.txt file located in eMMC of my Beaglebone black. Now the board is not booting. I can not even see BBB for serial connection from terra term. How can I get access to the board? If I can just access to uboot I could reflash or run it using nfs. Any ideas?
You can boot via normal microSD card as described here:
burn a bootable image on your microSD card
insert this card
power up your BBB while holding USER/BOOT button
once in Linux - repair your uEnv.txt on eMMC