From d96794e6a43a8d8464895d2a7f8a3ce12a31a72e Mon Sep 17 00:00:00 2001 From: Adrian Mangeac Date: Wed, 9 Oct 2019 17:29:57 +0200 Subject: Add build & boot instructions Change-Id: If72fc026208857f51679ea4f242cca20b147a84b Signed-off-by: Adrian Mangeac --- intel-corei7-64/.README | 1 + intel-corei7-64/README | 105 ++++++++++++++++++++++++++++++++++++++++++++++++ qemuarm64/README | 15 +++++-- qemuppc/README | 12 +++++- qemux86-64/README | 17 +++++--- raspberrypi3-64/README | 74 +++++++++++++++++++++++++++++++++- 6 files changed, 212 insertions(+), 12 deletions(-) diff --git a/intel-corei7-64/.README b/intel-corei7-64/.README index b167602..8bd68da 100644 --- a/intel-corei7-64/.README +++ b/intel-corei7-64/.README @@ -7,3 +7,4 @@ standard profile. ________INSERT_BUILD_SEQUENCES_HERE________ ________INSERT_BOOT_SEQUENCES_HERE________ + diff --git a/intel-corei7-64/README b/intel-corei7-64/README index c45f2b1..1897d99 100644 --- a/intel-corei7-64/README +++ b/intel-corei7-64/README @@ -1,7 +1,112 @@ This file contains build and boot instructions for Enea Linux on intel-corei7-64, standard profile. +Build instructions +------------------ +$ mkdir enea-linux +$ cd enea-linux +$ repo init -u git@git.enea.com:linux/manifests/el_manifests-standard.git \ + -b refs/tags/Enea_Linux_8.1 -m intel-corei7-64/default.xml +$ repo sync +$ cd poky +$ TEMPLATECONF=meta-el-standard/conf/template.intel-corei7-64 . \ + ./oe-init-build-env +$ bitbake enea-image-standard / enea-image-standard-sdk +Booting via PXE +--------------- +Below you find an example of how to boot Enea Linux in a target supporting +PXE. The PXE boot is handled by the target BIOS. +This requires the setup of DHCP, TFTP and NFS servers on the host. The DHCP +server contains a configuration for the target, found via the target MAC +address, and refers to the TFTP server for the boot image and to the NFS +server for the root file system. + +For the DHCP server, in addition to the general configuration, the DHCPD +configuration should contain an entry for the target with the following +information: + + - Host name + + - MAC hardware ethernet address (also available in the TFTP configuration) + + - IP address, (assuming a fixed IP address is used) + + - The TFTP server shall be defined as next-server + + - The relative path in the TFTP server to the PXE file pxelinux.0 + + - The NFS server IP address and the path to the rootfs on the NFS server, + defined as option root-path + +Example of a DHCP server configuration: + + host intel-corei7-64_host { + hardware ethernet 01:00:25:90:c8:c5:98; + fixed-address 192.168.1.38; + next-server 192.168.2.10; + filename "intel-corei7-64_tftp/pxelinux.0"; + option root-path "192.168.2.20:/export/intel-corei7-64_rootfs"; + } + +=== TFTP server === + The TFTP path to the target's pxelinux.0 file is given in the DHCP +configuration. Examples of files included in the TFTP subdirectory +indicated by the DHCP configuration are: + + pxelinux.0 + vesamenu.c32 + boot/device01/bzImage (bootable image file) + pxelinux.cfg/01-00-25-90-c8-c5-98 (Configuration file) + +One configuration file has the same name as the target's MAC address (but with +hyphens instead of a colon). This configuration file contains a pointer to the +bootable image and also a list of command line arguments to append when the +image is started. The same NFS path to the root file system is both in the +DHCP and the TFTP configuration. + +Example of a configuration file: + + default vesamenu.c32 + prompt 0 + timeout 100 + + label device01 + menu label ^EneaLinuxNFS + menu default + kernel boot/device01/bzImage + append root=/dev/nfs nfsmount=192.168.2.20:/export/intel-corei7-64_rootfs + ip=dhcp console=ttyS0,115200 + +=== NFS server === + The NFS server shall contain an unpacked root file system in the +path indicated both in the DHCP and in the TFTP configuration. + +After configuring the servers, copy files from the build directory into the +correctly configured paths: + + 1. Ensure the target is not already running an OS, otherwise the target might + attempt to change files on the root file system while it is populated with new + files. + + 2. Copy pxelinux.0 and vesamenu.c32 from the build directory, e.g. from + tmp/work/corei7-64-enea-linux/syslinux/6.04-pre2-r0/image/usr/share/syslinux/. + + 3. Copy bzImage from /tmp/deploy/images//. + + 4. Populate the root file system in the NFS directory by unpacking + enea-image-jjv-intel-corei7-64.tar.gz found at + /tmp/deploy/images//. + +Boot the target by: + + 1. Use the BIOS or boot setup to select PXE boot, if not already selected. + + 2. Reboot the target. + +The boot setup menu is usually launched by pressing F12 or ESC during BIOS +power up tests. Look up the manufacturer's documentation for your board model +to find the appropriate key. diff --git a/qemuarm64/README b/qemuarm64/README index cdbfd1f..8fefd53 100644 --- a/qemuarm64/README +++ b/qemuarm64/README @@ -1,8 +1,15 @@ This file contains build and boot instructions for Enea Linux on QEMUARM, - standard profile. - - - +Build instructions +------------------ +$ mkdir enea-linux +$ cd enea-linux +$ repo init -u git@git.enea.com:linux/manifests/el_manifests-standard.git \ + -b refs/tags/Enea_Linux_8.1 -m qemuarm64/default.xml +$ repo sync +$ cd poky +$ TEMPLATECONF=meta-el-standard/conf/template.qemuarm64 . \ + ./oe-init-build-env +$ bitbake enea-image-standard / enea-image-standard-sdk diff --git a/qemuppc/README b/qemuppc/README index dd47dcd..77c6d25 100644 --- a/qemuppc/README +++ b/qemuppc/README @@ -1,7 +1,17 @@ This file contains build and boot instructions for Enea Linux on QEMUPPC, - standard profile. +Build instructions +------------------ +$ mkdir enea-linux +$ cd enea-linux +$ repo init -u git@git.enea.com:linux/manifests/el_manifests-standard.git \ + -b refs/tags/Enea_Linux_8.1 -m qemuppc/default.xml +$ repo sync +$ cd poky +$ TEMPLATECONF=meta-el-standard/conf/template.qemuppc . \ + ./oe-init-build-env +$ bitbake enea-image-standard / enea-image-standard-sdk diff --git a/qemux86-64/README b/qemux86-64/README index d706682..5d9972f 100644 --- a/qemux86-64/README +++ b/qemux86-64/README @@ -1,8 +1,15 @@ -This file contains build and boot instructions for Enea Linux on QEMUX86, - +This file contains build and boot instructions for Enea Linux on QEMUX86-64, standard profile. - - - +Build instructions +------------------ +$ mkdir enea-linux +$ cd enea-linux +$ repo init -u git@git.enea.com:linux/manifests/el_manifests-standard.git \ + -b refs/tags/Enea_Linux_8.1 -m qemux86-64/default.xml +$ repo sync +$ cd poky +$ TEMPLATECONF=meta-el-standard/conf/template.qemux86-64 . \ + ./oe-init-build-env +$ bitbake enea-image-standard / enea-image-standard-sdk diff --git a/raspberrypi3-64/README b/raspberrypi3-64/README index 47e7502..efe0126 100644 --- a/raspberrypi3-64/README +++ b/raspberrypi3-64/README @@ -1,8 +1,78 @@ -This file contains build and boot instructions for Enea Linux on RaspberryPi3, +This file contains build and boot instructions for Enea Linux on +raspberrypi3-64, standard profile. -standard profile. +Build instructions +------------------ +$ mkdir enea-linux +$ cd enea-linux +$ repo init -u git@git.enea.com:linux/manifests/el_manifests-standard.git \ + -b refs/tags/Enea_Linux_8.1 -m raspberrypi3-64/default.xml +$ repo sync +$ cd poky +$ TEMPLATECONF=meta-el-standard/conf/template.raspberrypi3-64 . \ + ./oe-init-build-env +$ bitbake enea-image-standard / enea-image-standard-sdk +Boot from RAM +------------- +Below you find an example that requires a TFTP server set up at IP address +, and that the server stores the Enea Linux image files, +kernel image, device tree blob and root filesystem, in +/tftpboot/. +Once you have that in place, run the following commands on the target: +## set tftp server IP +U-Boot> setenv serverip +## tftp the image files on the target machine +U-Boot> tftpboot 0x01000000 Image +U-Boot> tftpboot 0x02000000 Image-bcm2837-rpi-3-b.dtb +U-Boot> tftpboot 0x03000000 enea-image-standard-raspberrypi3-64.ext2.gz.u-boot + +## add any other bootargs values if necessary +U-Boot> setenv bootargs "8250.nr_uarts=1 root=/dev/ram rw ramdisk_size=500000 +ip=dhcp \ +console=ttyS0,115200" + +## Start boot sequence +U-Boot> booti 0x01000000 0x03000000 0x02000000 + + + +Boot from SD card +----------------- +Copy the enea-image-standard-raspberrypi3-64.rpi-sdimg image to the SD card +using the Linux dd tool or Win32DiskImager in Windows, and insert it into the +RPi. The Raspberry Pi will not start without a properly formatted SD Card, +containing the bootloader, kernel image and rootfs. + +Below you can find two methods of how to format an SD Card: + +1. Format and copy images to the SD card using the Linux dd command line + + The dd command copies a file, converting the format of the data in the +process, according to the operands specified: + + $ sudo dd bs=4M if=enea-image-standard-sdk-raspberrypi3-64.rpi-sdimg of=/dev/sdg + +Note: + Use dd cautiously - improper usage or entering the wrong values could +inadvertently wipe, destroy, or overwrite the data on your hard drive. + +2. Format the SD card using the Win32DiskImager program + + 1) Download and unzip Win32DiskImager + 2) Run Win32DiskImager.exe + 3) Select the drive of your SD card + 4) Select the image enea-image-standard-raspberrypi3-64.rpi-sdimg + 5) Click "Write" and wait for the write to complete + 6) Exit the imager and eject the SD Card + 7) Plug the card into your Raspberry Pi + +Note: + Be careful to select the correct drive. If you choose the wrong one you may +destroy your HDD data. If you are using an SD Card slot and can't see the +drive in the Win32DiskImager window, try using an affordable external adapter +in a USB slot. -- cgit v1.2.3-54-g00ecf