2020-06-05 00:11:22 +02:00
|
|
|
Kontron SMARC-sAL28
|
|
|
|
===================
|
|
|
|
|
|
|
|
How to build it
|
|
|
|
===============
|
|
|
|
|
|
|
|
Configure Buildroot:
|
|
|
|
|
|
|
|
$ make kontron_smarc_sal28_defconfig
|
|
|
|
|
|
|
|
Change settings to fit your needs (optional):
|
|
|
|
|
|
|
|
$ make menuconfig
|
|
|
|
|
|
|
|
Compile everything and build the rootfs image:
|
|
|
|
|
|
|
|
$ make
|
|
|
|
|
|
|
|
Copying the image to a storage device
|
|
|
|
=====================================
|
|
|
|
|
|
|
|
Buildroot builds an image which can be written to the internal eMMC
|
|
|
|
storage, a SD card or an USB thumb drive. You can use the following
|
|
|
|
command on your host:
|
|
|
|
|
|
|
|
$ sudo dd if=output/images/sdcard-emmc.img of=/dev/sdx bs=1M
|
|
|
|
|
|
|
|
Where /dev/sdx is the corresponding block device of your SD card or USB
|
|
|
|
thumb drive. To flash it on your internal eMMC use the following command on
|
|
|
|
the board:
|
|
|
|
|
|
|
|
# dd if=sdcard-emmc.img of=/dev/mmcblk1 bs=1M
|
|
|
|
|
|
|
|
Be sure you have not booted from the internal eMMC in this case!
|
|
|
|
|
|
|
|
Booting the board
|
|
|
|
=================
|
|
|
|
|
|
|
|
By default the bootloader will search for the first valid image, starting
|
|
|
|
with the internal eMMC. Consult the vendor documentation on how to use the
|
|
|
|
DIP switches to select specific boot devices. To use the bootloader
|
|
|
|
environment set the boot_targets correspondingly. E.g.:
|
|
|
|
|
|
|
|
# setenv boot_targets usb0
|
|
|
|
|
|
|
|
To boot from an USB thumb drive.
|
|
|
|
|
|
|
|
The device tree is loaded according to the filename in fdtfile. The
|
|
|
|
following command will set the default device tree, which works on almost
|
|
|
|
all variants (with less features of course):
|
|
|
|
|
|
|
|
# setenv fdtfile freescale/fsl-ls1028a-kontron-sl28.dtb
|
|
|
|
|
|
|
|
Set this to a device tree which fits your board variant.
|
|
|
|
|
|
|
|
Connect your serial cable to SER1 and open your favorite terminal emulation
|
|
|
|
program (baudrate 115200, 8n1). E.g.:
|
|
|
|
|
|
|
|
$ picocom -b 115200 /dev/ttyUSB0
|
|
|
|
|
|
|
|
You will get a warning reported by fdisk when you examine the SD card.
|
|
|
|
This is because the genimage.cfg file doesn't specify the SD card size
|
|
|
|
(as people will naturally have different sized cards), so the
|
|
|
|
secondary GPT header is placed after the rootfs rather than at the end
|
|
|
|
of the disk where it is expected to be.
|
|
|
|
|
|
|
|
You will see something like this at boot time:
|
|
|
|
|
|
|
|
[ 4.552797] GPT:Primary header thinks Alt. header is not at the end of the disk.
|
|
|
|
[ 4.560237] GPT:266272 != 7864319
|
|
|
|
[ 4.563565] GPT:Alternate GPT header not at the end of the disk.
|
|
|
|
[ 4.569596] GPT:266272 != 7864319
|
|
|
|
[ 4.572925] GPT: Use GNU Parted to correct GPT errors.
|
2021-01-13 20:09:48 +01:00
|
|
|
|
|
|
|
Updating the bootloader
|
|
|
|
=======================
|
|
|
|
|
|
|
|
Buildroot will automatically build the u-boot bootloader. The resulting
|
|
|
|
image is called u-boot.rom and you can find it in the images/ directory.
|
|
|
|
|
|
|
|
To update the bootloader on the board you could either copy it to an
|
|
|
|
USB thumb drive or you could put it on a TFTP server. The following
|
|
|
|
example assumes you have the bootloader image copied to the root of
|
|
|
|
a thumb drive:
|
|
|
|
|
|
|
|
# usb start
|
|
|
|
# load usb 0:1 $loadaddr u-boot.rom
|
|
|
|
# sf probe 0 && sf update $fileaddr 0x210000 $filesize
|