Open main menu

DAVE Developer's Wiki β

Changes

Template:How to create a bootable SD card

84 bytes removed, 17 January
no edit summary
!colspan="4" style="width:100%; text-align:left"; border-bottom:solid 2px #ededed"|History
|-
!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white"|Version
!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white"|Issue Date
!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white"|Notes
|-
|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000"|X.Y.Z{{oldid|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000"xxxx|Year/Month Year/Day}}
|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000"|TBD
|-
|-
|!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000"|[TBD_link X.Y.Z]|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fbededed; padding:5px; color:#000000"|Year/Month Year/Day|!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fbededed; padding:5px; color:#000000"|TBD
|-
|}
<section end=History/>
__FORCETOC__
<section begin=Body/>
==How to create a bootable SD card==
{{ImportantMessage|text=The procedure described here was tested with a physical machine. In case of a virtual machine such as the [[Managed_Virtual_Machine_This article shows how to (MVMre)|MVM]]create the bootable SD card, it might not work properly. Also, it is worth remembering that USB controller of from the MVM is disabled binary images produced by default. See also the DESK-MX-L Yocto build, using a standard SD image flasher like [[MVM_FAQs#Qhttps:_How_to_use_the_USB_devices_connected_to_the_host_machine//etcher.balena.3F|this section]io/ balenaEtcher].}}
The process is relatively straightforward: it consists of writing the WIC file of interest generated by Yocto onto the SD card.
The following instruction explains how to use ''balenaEtcher'' on a Windows host. The procedure is similar when working with a Linux host.
* download the desired binary image to flash (<code>*.wic</code> or <code>*.wic.bz2</code>) from the [https://mirror.dave.eu/desk-mx-l/ mirror binary server] selecting the proper [[DESK-{{{kit-code}}}-L | DESK-{{{kit-code}}}-L]] release
**among the binaries made available in the [[mirror:{{{kit-repo}}}/| mirror]] there are several <code>*.wic.bz2</code> files for the available releases. In particular, there is the <code>dave-image-devel-desk-{{{kit}}}.wic.bz2</code> (for {{{nome-som}}}) file. This image is the one used to program the microSD card delivered along with the evaluation kit.
* connect the microSD card to the PC Host
* open balenaEtcher tool
* once the tool is open:
** select the binary to flash by clicking on <code>Flash from file</code>
** select the microSD to flash by clicking on <code>Select target</code>
** flash the uSD by clicking o <code>Flash</code>
This article shows how to create a bootable microSD for the {| class="wikitable" style="text-align: center"|[[File:DESK-{{{kit-code}}}MP1-L/General/Release_Notes_(DESK-{{{kit-code}}}-L)1.0.0 balenaEtcher unpack.png|center|thumb|200x200px|Unpacking]]|[[File:DESK-{{{kitMP1-code}}}L-L Release Notes] kit by using a simple bash script1. <br>'''Note:''' Starting from this release the support for the SPL has been introduced in Uboot0. Previous versions of this script will no longer produce a fully functional and bootable microSD card0 balenaEtcher flash. <br> The procedure has been tested on a Linux PC running Ubuntu LTS (>=''TBD'') distribution with *a 16 GB microSD card [1png|center|thumb|200x200px|Flashing]]*the binary files delivered along with the |[[Axel_Embedded_Linux_Kit_(XELK)#Downloadable_binary_images|File:DESK{{{kit-code}}}MP1-L ''-1.x0.x'']]0 balenaEtcher valid.The resulting card is partitioned as depicted [[Axel_Embedded_Linux_Kit_(XELK)#XELK_microSD_Layoutpng|center|thumb|200x200px|hereValidating]]. The script - named <code>mksd.sh</code> - looks like this:<pre>TBD : cat of mksd.sh script</pre>|}
=== SD card structure ===
The created SD card has the following structure:
* raw sectors for the bootloader storage: typically this is an 8MB raw part that stores the bootloader binaries (like <code>i{{{kit}}}_flash.bin</code>) for the bootrom startup
* <code>FAT32</code> first partition: this will be mapped to the <code>/dev/mmcblkXp1</code> device in Linux
** usually this partition contains the Linux kernel binary and the device tree blob
** splash screen image is stored in this partition too for a splash image showing during U-Boot startup
* <code>ext4</code> second partition: this will be mapped to the <code>/dev/mmcblkXp2</code> device in Linux
** this partition contains the Linux ''root file system''
Here is an example that shows how to use this script. Let's assume that === Creating the SD card from binary files were downloaded in the <code>desk</code> subdirectory of the working directory. Before invoking the script, the following files has to be renamed in order to make them compatible with the default U-Boot environment variables:* bootscript: <code>boot.scr</code>* Linux kernel: <code>uImage</code>* Device tree blob: <code>''carrier''.dtb</code>.artifacts ===
This is the list of Even if the overall binary files that will be used artifacts have been created by the script:<pre>dvdk@vagrant:~/desk-{{{kit}}}$ ls -la...TBD directory listing...</pre>You can now run the scriptYocto build, by passing it is highly discouraged to manually create the following parameters:*Device file of the microSD SD card (<code>/dev/sdc</code> in the example)*U-Boot image*SPL*Path of the directory containing the bootscript file, the Linux kernel image, and the device tree blob files*Archive of the target's root file system (compressed as <code>.tar.bz2</code> file).<pre>dvdk@vagrant:~/desk-{{{kit}}}$ ./mksd.sh /dev/sd<x> <u-boot.img> <SPL> <binaries_dir>/ <rfs_filename>......TBD .....starting from them.</pre>
The Yocto build takes care of the overall binary consistency (like kernel modules and so on) avoiding mismatching different versions.
[1] In case you have a different sizeMoreover, you'll need the SD card is intended to change be used during the <code>sfdisk</code> parameters accordinglydevelopment process and not for the production phase (where other deployment specifications and details have to be taken into account).
----<section end=Body/>
[[Category:{{{nome-som}}}]]
8,286
edits