Overview If you just want to build Linux without Yocto.

Instructions Set Up the Environment 1. 2. 3. 4. 5.

Add the tool chain to your PATH. Set CROSS_COMPILE to the prefix of the tools added above. Set SYSROOT to the sysroot directory in the tool chain. Set ARCH to arm64 for X9 or XLF or arm for 5500. Set BRANCH to either standard/axxia-dev/base, standard/preemptrt/axxia-dev/base, standard/axxia-dev/base-2.x or standard/preemptrt/axxia-dev/base-2.x.

The *2.x branches implement a temporary work-around for an issue in simulation, this does not affect emulation. The work-around is required when using multiple cores.

Check Out the Branch $ git clone https://github.com/axxia/axxia_yocto_linux_4.1.git $ cd axxia_yocto_linux_4.1 $ git checkout --track -b $BRANCH origin/$BRANCH

Create a Build Branch Based on a Tag To list the available tags, $ git tag | grep axxia Tags are available for both branches described above. To create a build branch based on the tag, do the following. $ git checkout $BRANCH origin/$BRANCH $ git branch build_branch $TAG $ git checkout build_branch

Configure and Build • For 5500, use arch/arm/configs/axxia_5500_defconfig.

1

• For 5600, use arch/arm64/configs/axxia_x9_defconfig. • For Lionfish, use arch/arm64/configs/axxia_xlf_defconfig. For builds on the /preempt-rt/ branches, add rt before defconfig. To configure Linux use just the config name, for example axxia_x9_defconfig, as a make target. Don’t include the path (arch/arm64/configs). $ make $ make -j Note that in some cases, you may have to limit the number of cores used by adding an integre argument to -j, for example, “make -j8”. To add a version string, include LOCALVERSION= when building. Use the output of “git describe --dirty | sed -e 's/axxia_linux_preempt\-rt_//' | sed -e 's/axxia_linux_//'” to match the Intel builds.

Create a Bootable Image Two things are required to boot Linux. • A Linux Kernel • A Device Tree With U-Boot as the boot loader, the above need to be put into a format that U-Boot understands. The following describes using the FIT format (see doc/uImage.FIT/howto.txt in the U-Boot source tree). The device tree compiler (avaiable at https://git.kernel.org/pub/scm/utils/dtc/dtc.git) must be installed; it is called by mkimage. This format allows the image to be verified before it is used. It is possible to put more than one object in a FIT image. The following describes creating three images, • Just the Linux kernel. • Linux and the device tree. • Linux, the device tree, and a root file system. The simulator only supports using separate images for Linux and the device tree. In this case, simply used the device tree binary (.dtb) created during the Linux build process. Create a Compressed Binary Version of Linux from vmlinux $ ${CROSS_COMPILE}objcopy -O binary -R .note -R .comment -S vmlinux vmlinux.bin $ gzip -f -9 vmlinux.bin

2

A Flattened Device Tree To get a list of available device trees for X9 or XLF, do the following. ls arch/arm64/boot/dts/intel/ax*dtb For 5500, ls arch/arm/boot/dts/ax*dtb Linux Only • • • •

Copy the following device tree to linux.its. Replace DESCRIPTION with a string, “Axxia Linux” for example. Replace ARCH with arm64 for X9 or XLF or arm for 5500. Replace LOAD and ENTRY with 0x80000 for X9 or XLF or 0x408000 for 5500. • Replace KERNEL with the full path to the compressed binary Linux kernel created above. • mkimage -f linux.its linux.fit /dts-v1/; / {

description = DESCRIPTION; #address-cells = <1>; images { kernel { description = "Linux Kernel"; data = /incbin/("KERNEL"); type = "kernel"; arch = "ARCH"; os = "linux"; compression = "gzip"; load = ; entry = ; hash1 { algo = "crc32"; }; hash2 { algo = "sha1"; }; }; }; configurations { 3

};

};

default = "conf"; conf { description = DESCRIPTION; kernel = "kernel"; };

Linux and the Device Tree • • • •

Copy the following device tree to multi.its. Replace DESCRIPTION with a string, “Axxia Linux” for example. Replace ARCH with arm64 for X9 or XLF and arm for 5500. Replace KERNEL with the full path to the compressed binary Linux kernel created above. • Replace DEVICETREE with the full path to the device tree binary from the Linux build. • mkimage -f multi.its multi.fit /dts-v1/; / {

description = DESCRIPTION; #address-cells = <1>; images { kernel { description = "Linux Kernel"; data = /incbin/("KERNEL"); type = "kernel"; arch = "ARCH"; os = "linux"; compression = "gzip"; load = ; entry = ; hash1 { algo = "crc32"; }; hash2 { algo = "sha1"; }; }; fdt { description = "Flattened Device Tree blob";

4

};

};

data = /incbin/("DEVICETREE"); type = "flat_dt"; arch = "ARCH"; compression = "none"; hash1 { algo = "crc32"; }; hash2 { algo = "sha1"; };

configurations { default = "conf"; conf { description = DESCRIPTION; kernel = "kernel"; fdt = "fdt"; }; };

};

Linux, the Device Tree, and a root file system. As the root file system will reside in memory, it should be small. To create the file system image, start with an ext2 image and compress it gzip -f -9. • • • •

Copy the following device tree to complete.its. Replace DESCRIPTION with a string, “Axxia Linux” for example. Replace ARCH with arm64 for X9 or XLF and arm for 5500. Replace KERNEL with the full path to the compressed binary Linux kernel created above. • Replace DEVICETREE with the full path to the device tree binary from the Linux build. • Replace RAMDISK with the full path to the compressed disk image created above. • mkimage -f multi.its multi.fit /dts-v1/; / {

description = DESCRIPTION; #address-cells = <1>; images { 5

kernel { description = "Linux Kernel"; data = /incbin/("KERNEL"); type = "kernel"; arch = "ARCH"; os = "linux"; compression = "gzip"; load = ; entry = ; hash1 { algo = "crc32"; }; hash2 { algo = "sha1"; }; }; fdt { description = "Flattened Device Tree blob"; data = /incbin/("DEVICETREE"); type = "flat_dt"; arch = "ARCH"; compression = "none"; hash1 { algo = "crc32"; }; hash2 { algo = "sha1"; }; };

};

ramdisk { description = "Ramdisk Image"; data = /incbin/("RAMDISK"); type = "ramdisk"; arch = "ARCH"; os = "linux"; compression = "gzip"; hash1 { algo = "crc32"; }; hash2 { algo = "sha1"; }; };

6

};

configurations { default = "conf"; conf { description = DESCRIPTION; kernel = "kernel"; fdt = "fdt"; ramdisk = "ramdisk"; }; };

7

Overview Instructions - GitHub

Just the Linux kernel. • Linux and the device tree. • Linux, the device tree, and a root file system. The simulator only supports using separate images for Linux ...

134KB Sizes 4 Downloads 334 Views

Recommend Documents

Overview Instructions - GitHub
With U-Boot as the boot loader, the above need to be put into a format that U-Boot understands. The following describes using the FIT format (see doc/uImage.

Overview Instructions - GitHub
The build produces a kernel image, a root file system, and kernel header ... git1+973494766d7ca2401e3138f28b6257a5b899cf1d-r0/linux-lsisim-standard-build.

Mendel90 Kit Instructions - GitHub
Jul 27, 2012 - 01/10/13 Updated remaining assembly views for black screws and red ...... Start by printing a paper template from the pdf drawing y_heatshield.pdf. ...... thick then you might want to re-slice the Android STL with the PLA 0.2mm.

Monolase - Instructions - GitHub
STUFF. For any questions, comments, bugs, or feature requests contact me at [email protected] Patch can be downloaded at my webpage:.

Overview Instruction - GitHub
IMAGE_FSTYPES += "ext2". PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-custom". Other optional settings for saving disk space and build time:.

BreedR Overview - GitHub
6 0 56. 72. 0. 55 1. 14 13. 4.775. 9 0 55. 73. 0. 22 1. 8. 13. 19.099 12 0 22. 74. 0 .... Predicted genetic values vs. ...... Plus some more specific metagene functions:.

Instructions for using FALCON - GitHub
Jul 11, 2014 - College of Life and Environmental Sciences, University of Exeter, ... used in FALCON is also available (see FALCON_Manuscript.pdf. ). ... couraged to read the accompanying technical document to learn ... GitHub is an online repository

Overview Local Builds and Modifications - GitHub
restore "u-boot-spl.bin" binary S:0x20000000 set var $pc ... restore "parameters" binary S:0x2003f000 ... It is possible to use the data path instead of the FEMAC.

Makerspace RFID Lock Management Overview - GitHub
python manage.py loaddata rfid_lock_management/fixtures/initial.json. Run the Django development server. $ python manage.py runserver ... microcontroller (Arduino) that connects to the RFID scanner and operates the locking mechanism. Simulating authe