Versions Compared

Key

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

...

  • Insert the SD card into your linux system.
  • Start a terminal.
  • Identify the SD card via shell command lsblk

  • 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.
  • 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 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 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 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 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

Writing SD card modifications:

The previos settings are not written to the SD card at this point. To write the changes to the card the next steps are necessary. Therefore, if the wrong identifier is selected, the following commands can destroy the host system! Be aware to use the correct identifier! Furthermore, deleting the existing partitions on the card destroys the saved information! If the information are needed save them before continuing!

  • Write new settings to the SD card via w → Enter
  • Close the program via q → Enter

Filesystem generation

The filesystems are created with the linux tool mkfs.

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

Copy files to partitions

After preparing the SD card for booting, this section describes the copy process for the relevant files with a Linux and a Windows operating system (OS):

  • Insert the SD card to a Linux or Windows OS.

vFAT Partition 1:

  • Copy the linux kernel zImage.bin file to the vFAT partition 1 as zImage file. That means, the ".bin" extension has 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.

ext3 Partition 2:

  • Copy the linux root filesystem to the ext3 partition 2.

0xA2 Partition 3:

  • Insert the SD card to a Windows OS.
  • Start the SoC EDS Shell as administrator. To do that navigate to C:\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>

After doing these steps, the SD card can be inserted into the board and the boot process can be started. If booting runs into linux, the procedure is done.

////////////////////////

Informationsfragmente

Requirements

All steps to format / setup a bootable SD card can only be performed within a Linux installation.
(Windows Subsystem for Linux is not capable to format a SD card)

Soweit ist das folgende wohl überflüssig, da schon erwähnt auf den Seiten zuvor:--------------
An installation of INTEL SoC FPGA EMBEDDED DEVELOPMENT SUITE, so the tools
bsp-editor, alt-boot-disc-util and SoC EDS Command Shell are present.

Was soll das folgende heißen?

Unknown - partition for u-boot config script and how to setup (uboot.scr)

                   The main u-boot environment can be saved with saveenv

vfat-partition:          optional - Linux-Config-Script / main u-boot instead a2-partition

Format the SD card

To partition the SD card, Linux offers the command line tool fdisk [sfdisk].
        BEWARE!    fdisk  [sfdisk] can operate on every disk within the system and does not ask for approval.

Console commands are in cursive letters and bold, comments to a command follow the command
inside brackets.
Example:
   commands_in_cursive_letters_and_bolt   (comment in brackets)

Identify your SD card

Insert the Sd card into the system, start a console [Ctrl + Alt + t] and type:
     lsblk   (list the disks conected to the system / Get SD-card-path)

!!!!!! kommando für die Identifizierung

!!!! Warnung deutlicher

!!!!! Name ist variable sdc

Example output:
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

...

Format the card

fANG MIT AUTO AN; SOLLTE Es wegen dem Texteditrot zu fehlern kommen, → manuell machen

Manual approach:

To format the card, start the tool fdisk by typing:
     sudo fdisk /dev/sdc   (sudo=grant root, enter password    fdisk=tool   /dev/...=SD card)
The command promt changes to Command (m for help).

...


  • Code Block
    languagebash
    titlelsblk
    linenumberstrue
    collapsetrue
    Example output:
    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.
  • 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 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 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 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 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

Writing SD card modifications:

The previos settings are not written to the SD card at this point. To write the changes to the card the next steps are necessary. Therefore, if the wrong identifier is selected, the following commands can destroy the host system! Be aware to use the correct identifier! Furthermore, deleting the existing partitions on the card destroys the saved information! If the information are needed save them before continuing!

  • Write new settings to the SD card via w → Enter
  • Close the program via q → Enter

Filesystem generation

The filesystems are created with the linux tool mkfs.

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

Copy files to partitions

After preparing the SD card for booting, this section describes the copy process for the relevant files with a Linux and a Windows operating system (OS):

  • Insert the SD card to a Linux or Windows OS.

vFAT Partition 1:

  • Copy the linux kernel zImage.bin file to the vFAT partition 1 as zImage file. That means, the ".bin" extension has 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.

ext3 Partition 2:

  • Copy the linux root filesystem to the ext3 partition 2.

0xA2 Partition 3:

  • Insert the SD card to a Windows OS.
  • Start the SoC EDS Shell as administrator. To do that navigate to C:\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>

After doing these steps, the SD card can be inserted into the board and the boot process can be started. If booting runs into linux, the procedure is done.



////////////////////////

Informationsfragmente

mount/umount muss noch beachtet werden!!!!!

Requirements


Was soll das folgende heißen?

Unknown - partition for u-boot config script and how to setup (uboot.scr)

                   The main u-boot environment can be saved with saveenv

vfat-partition:          optional - Linux-Config-Script / main u-boot instead a2-partition

Disk /dev/sdc: 7740 MB, 7740588032 bytes
239 heads, 62 sectors/track, 1020 cylinders, total 15118336 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x982b3f12

Device         Boot       Start          End             Blocks         Id            System
/dev/sdc1                  2048          616448       307200+     c             (W95 FAT32 (LBA))
/dev/sdc2                  616449      3074049     1228800+   83           Linux
/dev/sdc3                  3074050    3094530     10240+       a2           Unknown

...

Step 2: Create a partition → Type n.
            One can type in all required values by hand, but the tool offers usefull values by default.
            To accept them, yout press enter.

            Partition type → Select p   ;    Partition number → Enter   ;   First sector → Enter
            Last sector → +size{K,M,G} / example: 20 MB partition →  +20M

Step 3: Set partition type → Type t
            c=W95 FAT32 (LBA)    a2=Altera boot partition   83=Linux, default value

Step 4: Repeat step 2 and 3 until all partitions are created

Step 5: Write the new table to th SD card → Type w

Step 6: Close programm → Type q

Automated approach:

MISSING:
 - Partitionensgröße editieren
 - HINWEIS → Besser nicht 8GB bei einer 8GB-Karte verwenden, wegen defekter Sektoren

Copy to a textfile and save the following in between ----- .

------------------------------
unit: sectors

/dev/sdb1 : start= 2048, size= 204800, Id= c
/dev/sdb2 : start= 206848, size= 4096000, Id=83
/dev/sdb3 : start= 4302848, size= 4096, Id=a2
/dev/sdb4 : start= 0, size= 0, Id= 0
------------------------------

To create the partition table run:
   sudo umount /dev/sdX*     (umounts=unmount  *=all partitions)
   sudo sfdisk /dev/sdX < PathToTextFile

(To read the partition table from a storage device - sudo sfdisk -d /dev/sdX > PathToTextFile)




Data of each partition

Before writing data to the partitions, unmount the device
      sudo umount /dev/sdX*
and plage the SD card  in and out of the card reader.

...

After the operation finishes, use a data browser to copy the
Linux root file system / rootfs   to it.

An other approach is needed for a compressed root file system.
Befor decompressing a ... .tar.gz file to the SD card, it needs to be mounted to
a mounting point. This requires an existing folder to write to. Usually these folder is placed inside the mnt folder, for example:
   sudo mkdir /mnt/card   (create mounting point folder)

...