Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This step chapter shows how to create the SD card. As mentioned in page "Board bring-up overview for TEI0022" this step part is for SD card setup which should be done in the following steps:

...

The section "Generate SD card partitions and filesystems" describes the process to create the needed partitions and filesystems on the SD card via the Linux tool fdisk. Section "Copy files to partitions" shows the moving from files on the partitions with Windows.

Generate SD card partitions and filesystems

...

#PartitionPurposeSize
1W95 FAT32 (LBA)(U-Boot,)* Linux Kernel, Device Tree Blob> 20 MB
2Linux ext(2/3 or 4)Linux Root Filesystem> 150 MB to 2 GB
30xA2 Preloader(, U-Boot)*>= 2 MB

* In this guide, the U-Boot shall be located in vFAT partition 1.

Partition generation 

To generate the several partitions, the next steps are necessary:

  • Insert the SD card into your linux system.
  • Start a terminal.
  • Identify the SD card via shell command lsblk
  • An exemplary output is visible in the next listing. The last line is an additional information, not part of the output.

    Code Block
    languagebash
    titleExemplary lsblk output
    linenumberstrue
    collapsetrue
    NAME  MAJ:MIN  RM      SIZE  RO   TYPE    MOUNTPOINT
    sda     8:0    0       120G  0    disk
    ├─sda1  8:1    0       112G  0    part    /
    ├─sda2  8:2    0         1K  0    part
    └─sda5  8:5    0         8G  0    part    [SWAP]
    sdc     8:32   1       7,2G  0    disk
    └─sdc1  8:33   1         1M  0    part
    sr0    11:0    1      1024M  0    rom
    
    RM = Removable → sdc is the SD card with one partition sdc1


  • Attention: If the wrong identifier is selected, the following commands can destroy the host system! Therefore, be aware to use the correct identifier.
  • The identifier is similar to sdXXX, where XXX symbols the identified SD card. To detect the SD card, it could help to look for the expected SD card size. After that, remove the SD card, use lsblk and look whether the expected device is removed. Then, insert the SD card again and check with lsblk which identifiert is selected for the SD card.
  • Unmount all partitions of the SD card via sudo umount /dev/<above identified partitions>
  • Start the tool fdisk as root via sudo fdisk /dev/sdXXX
  • Look at the partition structure via inserting p → Enter
  • Attention: Deleting the partitions in the next step destroys the saved information. If the information are needed save them before continuing!
  • Then delete all partitions via d → Enter
  • After all partitions are deleted the SD card structure can be created.

Creating the partition #1:

  • Create a new partitions partition via inserting n → Enter
  • Select the primar partition via inserting p → Enter
  • Set the partittion number to via inserting 1 → Enter
  • Select the first sector via inserting 2048 → Enter
  • Select the last sector via inserting +20M → Enter
  • Set partition type via t → Enter
  • Select the first partition via 1 → Enter, if it is not automatically selected.
  • Select the partition type "W95 FAT32 (LBA)" via c → Enter

Creating the partition #2:

  • Create a new partitions partition via inserting n → Enter
  • Select the primar partition via inserting p → Enter
  • Set the partittion number to via inserting 2 → Enter
  • Select the first sector via inserting Enter
  • Select the last sector (according adapted to your SD card size) via inserting +2G → Enter
  • Set partition type via t → Enter
  • Select the first partition via 2 → Enter
  • Select the partition type "Linux, default value" via 83 → Enter

Creating the partition #3:

  • Create a new partitions partition via inserting n → Enter
  • Select the primar partition via inserting p → Enter
  • Set the partittion number to via inserting 3 → Enter
  • Select the first sector via inserting Enter
  • Select the last sector via inserting +20M → Enter
  • Set partition type via t → Enter
  • Select the first partition via 3 → Enter
  • Select the partition type "Altera boot partition" via a2 → Enter

...

  • Plug the SD card out and in of the system.
  • Create a vFAT filesystem on partition 1 via sudo mkfs -t vfat /dev/sdXXX1, whereby XXX symbols the above detected SD card identifier.
  • Create an ext3 filesystem on partition 2 via sudo mkfs.ext3 /dev/sdXXX1sdXXX2, whereby XXX symbols the above detected SD card identifier.
  • No extra filesystem for partition 3 is needed.

...

  • Copy the linux kernel zImage.bin file to the vFAT partition 1 as zImage file. That means, the ".bin" extension has to be deleted.
  • Copy the device tree blob socfpga.dtb file to the vFAT partition 1 as socfpga.dtb file. The file needs this name.
  • Copy the bootloader u-boot.img file to the vFAT partition 1 as u-boot.img file. The file needs this name.

...

  • Insert the SD card to a Windows OS.
  • Start the SoC EDS Shell terminal as administrator. To do that navigate to ...\intelFPGA\18.1\embedded\ , right click on the file "Embedded_Command_Shell.bat", and select "Run as administrator". Click Yes in the window "User Account Control".
  • Identify one of the SD card letter(s).
  • Copy the preloader to the 0xA2 partition 3 via alt-boot-disk-util -p <path to the preloader image>preloader-mkpimage.bin -a write -d <SD card letter>

...