Sodia Debian Base Desktop Image

24 Apr 2017 - 01:16 | Version 28 | |

Introduction

This demo is a reference of ARM Linux Internet Platform ( ALIP ) Desktop Image on Sodia Board.

This page describes how to assemble and install Linaro ALIP (ARM Linux Internet Platform) distro based on Debian Jessie for Sodia Board.

You can see Desktop with DVI output.

2_ALIP_image.jpg

​​ 

Board Setup

sodia_photo_top.png
  • MSEL (J7)
    You need to set MSEL is FPP mode for FPGA configuring from HPS. Please set MSEL as follows:

msel_table.PNG   MSEL.png
  • BSEL & CSEL
    For SD Card Boot. You need to set BSEL & CSEL as follows:

bsel_table.PNG

csel_table.PNG
  BSEL.png

  • USB-UART Connector (CN11)
    Use as console. Please connect to host PC using usb cable.

  • SD Card Slot (CN13)
    Please insert prepared SD card before power on.

  • DVI Out (CN9)
    Use as display output. Please connect to display using DVI cable (720p).
 

Prebuild SD Card Image

Item Download Note
All In One SD Card Image sd_card_image_sodia_alip.tar.gz

From Linux PC:
$ sudo dd if=xxx.img of=/dev/sdx bs=1M or
$ sudo dd if=xxx.img of=/dev/mmcblkx bs=1M

From Windows PC:
You can use Win32DiskImager tool

Please refer to following page:
https://rocketboards.org/foswiki/view/Documentation/GSRDSdCard
https://rocketboards.org/foswiki/view/Documentation/GSRDBootLinuxSd 

Individual Component

Item Download Note
HW Reference Design sodia dvi ghrd v16.1.0 This Reference Desing is using VIP core, this will need a license to compile a HW Design.
Linaro ALIP Root File System https://releases.linaro.org/debian/images/alip-armhf/16.10/linaro-jessie-alip-20160913-31.tar.gz Linaro ARM linux Internet Platform.
This RootFS includes xwindow applications.
The default user is linaro, and the password for this user is set to linaro.
Linux Kernel Soruce

Download Snapshot from GitHub:

https://github.com/altera-opensource/linux-socfpga/archive/socfpga-4.1.22-ltsi.zip

You can also use git clone. Please refer to following link:
https://rocketboards.org/foswiki/view/Documentation/GSRDCompilingLinux
- Building Kernel & U-Boot Separately From Git Trees

4.1.22-ltsi
zImage zImage Prebuild Linux Kernel Image (4.1.22-ltsi)
Preloader preloader-mkpimage.bin Genereted by v16.1.0
U-Boot u-boot.img Genereted by v16.1.0
DeviceTree Blob soc_system.dtb Genereted by v16.1.0
U-Boot Script u-boot.scr Configure FPGA from U-Boot & Release a bridge reset before Linux boot
FPGA Configuration Image data soc_system.rbf Compressed RBF
 

Steps

Setup Build Tool Chain

In case the Linux kernel git trees are directly used, the build toolchain has to be manually downloaded. You need to setup cross compiler as follows:
$ cd ~
$ wget https://releases.linaro.org/components/toolchain/binaries/4.9-2017.01/arm-linux-gnueabihf/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz
$ tar Jxfv gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz
$ export CROSS_COMPILE=~/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-

If build tool chain is missed, you can use cross compiler tool chain that is built in SoC EDS.
If SoC EDS that is v16.1 is intalled in your PC ,like follows:
$ export CROSS_COMPILE=/home/XXXXX/intelFPGA/16.1/embedded/ds-5/sw/gcc/bin/arm-linux-gnueabihf- 

 

Build Linux Kernel for DVI output system

This section presents instructions on how to compile the Linux kernel.
$ git clone https://github.com/altera-opensource/linux-socfpga
$ cd linux-socfpga
$ git checkout -b test_branch origin/socfpga-4.1.22-ltsi
$ export CROSS_COMPILE=~gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-
$ export ARCH=arm
$ make socfpga_defconfig
$ make menuconfig

Added Framebuffer Driver:
Device Drivers -> Grapics support -> Frame buffer Devices.
And check on Support for frame buffer devices, VIP Frame Reader framebuffer support.

1_enable_frame_buffer.png

$ make zImage 

Some of the files that are created:
File Description
vmlinux Linux Kernel ELF file
arch/arm/boot/zImage Linux Kernel image
 

Extract Linaro jessie ALIP RootFS

$ sudo tar zxf linaro-jessie-alip-20160913-31.tar.gz

"binary" directory are created. You need do this step as superuser.

 

Added User Specific Settings to RootFS

For example, if you want you use DHCP. You need to modify /etc/network/interfaces as follows:

Open /etc/network/interfaces file as superuser. You can use any editor for this step.
$ sudo gedit binary/etc/network/interfaces

Added following statement for DHCP.
# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

You may customize even further if required.

 

Creating SD Card Imate

For SD Card Image creation, you can use "make_sdimage.py" python script that is provided from RocketBoards to simplify SD image creation. This script can be downloaded from here. Sample usage is as follows. You can specify files and size for each partitions for your system requirement.
$ sudo ./make_sdimage.py -f \
-P preloader-mkpimage.bin,u-boot.img,num=3,format=raw,size=10M,type=A2 \
-P binary/*,num=2,format=ext3,size=2000M \
-P zImage,u-boot.scr,soc_system.rbf,soc_system.dtb,num=1,format=vfat,size=500M  \
-s 3G -n sd_card_image_sodia_alip.bin

Note: You can download individual compornents from Individual Components section or you can create those binaries by yourself.

 

Add Debian mirror site for Stable Package Download

For using download Debian download package, you need to modify /etc/apt/sources.list as follows:
Open /etc/apt/sources.list file as superuser. You can use any editor for this step.( This example is for Japan.)

deb http://ftp.jp.debian.org/debian/ jessie main contrib non-free

 

Related Links

Give us your feedback

© 1999-2017 RocketBoards.org by the contributing authors. All material on this collaboration platform is the property of the contributing authors. Privacy.