diff options
| author | Adrian Mangeac <Adrian.Mangeac@enea.com> | 2019-10-09 17:29:57 +0200 |
|---|---|---|
| committer | Adrian Mangeac <Adrian.Mangeac@enea.com> | 2019-10-22 13:49:00 +0200 |
| commit | d96794e6a43a8d8464895d2a7f8a3ce12a31a72e (patch) | |
| tree | 519e9afd9d4823ef3b016c0fbcb7f6c9b56b3953 | |
| parent | 550cd0d6ca19048309ddec405498fc6dad1fa899 (diff) | |
| download | el_manifests-standard-warrior.tar.gz | |
Add build & boot instructionsEnea_Linux_8.1warrior
Change-Id: If72fc026208857f51679ea4f242cca20b147a84b
Signed-off-by: Adrian Mangeac <Adrian.Mangeac@enea.com>
| -rw-r--r-- | intel-corei7-64/.README | 1 | ||||
| -rw-r--r-- | intel-corei7-64/README | 105 | ||||
| -rw-r--r-- | qemuarm64/README | 15 | ||||
| -rw-r--r-- | qemuppc/README | 12 | ||||
| -rw-r--r-- | qemux86-64/README | 17 | ||||
| -rw-r--r-- | 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. | |||
| 7 | ________INSERT_BUILD_SEQUENCES_HERE________ | 7 | ________INSERT_BUILD_SEQUENCES_HERE________ |
| 8 | 8 | ||
| 9 | ________INSERT_BOOT_SEQUENCES_HERE________ | 9 | ________INSERT_BOOT_SEQUENCES_HERE________ |
| 10 | |||
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 @@ | |||
| 1 | This file contains build and boot instructions for Enea Linux on | 1 | This file contains build and boot instructions for Enea Linux on |
| 2 | intel-corei7-64, standard profile. | 2 | intel-corei7-64, standard profile. |
| 3 | 3 | ||
| 4 | Build instructions | ||
| 5 | ------------------ | ||
| 6 | $ mkdir enea-linux | ||
| 7 | $ cd enea-linux | ||
| 8 | $ repo init -u git@git.enea.com:linux/manifests/el_manifests-standard.git \ | ||
| 9 | -b refs/tags/Enea_Linux_8.1 -m intel-corei7-64/default.xml | ||
| 10 | $ repo sync | ||
| 11 | $ cd poky | ||
| 12 | $ TEMPLATECONF=meta-el-standard/conf/template.intel-corei7-64 . \ | ||
| 13 | ./oe-init-build-env <build_dir> | ||
| 14 | $ bitbake enea-image-standard / enea-image-standard-sdk | ||
| 4 | 15 | ||
| 5 | 16 | ||
| 17 | Booting via PXE | ||
| 18 | --------------- | ||
| 19 | Below you find an example of how to boot Enea Linux in a target supporting | ||
| 20 | PXE. The PXE boot is handled by the target BIOS. | ||
| 6 | 21 | ||
| 22 | This requires the setup of DHCP, TFTP and NFS servers on the host. The DHCP | ||
| 23 | server contains a configuration for the target, found via the target MAC | ||
| 24 | address, and refers to the TFTP server for the boot image and to the NFS | ||
| 25 | server for the root file system. | ||
| 26 | |||
| 27 | For the DHCP server, in addition to the general configuration, the DHCPD | ||
| 28 | configuration should contain an entry for the target with the following | ||
| 29 | information: | ||
| 30 | |||
| 31 | - Host name | ||
| 32 | |||
| 33 | - MAC hardware ethernet address (also available in the TFTP configuration) | ||
| 34 | |||
| 35 | - IP address, (assuming a fixed IP address is used) | ||
| 36 | |||
| 37 | - The TFTP server shall be defined as next-server | ||
| 38 | |||
| 39 | - The relative path in the TFTP server to the PXE file pxelinux.0 | ||
| 40 | |||
| 41 | - The NFS server IP address and the path to the rootfs on the NFS server, | ||
| 42 | defined as option root-path | ||
| 43 | |||
| 44 | Example of a DHCP server configuration: | ||
| 45 | |||
| 46 | host intel-corei7-64_host { | ||
| 47 | hardware ethernet 01:00:25:90:c8:c5:98; | ||
| 48 | fixed-address 192.168.1.38; | ||
| 49 | next-server 192.168.2.10; | ||
| 50 | filename "intel-corei7-64_tftp/pxelinux.0"; | ||
| 51 | option root-path "192.168.2.20:/export/intel-corei7-64_rootfs"; | ||
| 52 | } | ||
| 53 | |||
| 54 | === TFTP server === | ||
| 55 | The TFTP path to the target's pxelinux.0 file is given in the DHCP | ||
| 56 | configuration. Examples of files included in the TFTP subdirectory | ||
| 57 | indicated by the DHCP configuration are: | ||
| 58 | |||
| 59 | pxelinux.0 | ||
| 60 | vesamenu.c32 | ||
| 61 | boot/device01/bzImage (bootable image file) | ||
| 62 | pxelinux.cfg/01-00-25-90-c8-c5-98 (Configuration file) | ||
| 63 | |||
| 64 | One configuration file has the same name as the target's MAC address (but with | ||
| 65 | hyphens instead of a colon). This configuration file contains a pointer to the | ||
| 66 | bootable image and also a list of command line arguments to append when the | ||
| 67 | image is started. The same NFS path to the root file system is both in the | ||
| 68 | DHCP and the TFTP configuration. | ||
| 69 | |||
| 70 | Example of a configuration file: | ||
| 71 | |||
| 72 | default vesamenu.c32 | ||
| 73 | prompt 0 | ||
| 74 | timeout 100 | ||
| 75 | |||
| 76 | label device01 | ||
| 77 | menu label ^EneaLinuxNFS | ||
| 78 | menu default | ||
| 79 | kernel boot/device01/bzImage | ||
| 80 | append root=/dev/nfs nfsmount=192.168.2.20:/export/intel-corei7-64_rootfs | ||
| 81 | ip=dhcp console=ttyS0,115200 | ||
| 82 | |||
| 83 | === NFS server === | ||
| 84 | The NFS server shall contain an unpacked root file system in the | ||
| 85 | path indicated both in the DHCP and in the TFTP configuration. | ||
| 86 | |||
| 87 | After configuring the servers, copy files from the build directory into the | ||
| 88 | correctly configured paths: | ||
| 89 | |||
| 90 | 1. Ensure the target is not already running an OS, otherwise the target might | ||
| 91 | attempt to change files on the root file system while it is populated with new | ||
| 92 | files. | ||
| 93 | |||
| 94 | 2. Copy pxelinux.0 and vesamenu.c32 from the build directory, e.g. from | ||
| 95 | <build_dir>tmp/work/corei7-64-enea-linux/syslinux/6.04-pre2-r0/image/usr/share/syslinux/. | ||
| 96 | |||
| 97 | 3. Copy bzImage from <build_dir>/tmp/deploy/images/<target>/. | ||
| 98 | |||
| 99 | 4. Populate the root file system in the NFS directory by unpacking | ||
| 100 | enea-image-jjv-intel-corei7-64.tar.gz found at | ||
| 101 | <build_dir>/tmp/deploy/images/<target>/. | ||
| 102 | |||
| 103 | Boot the target by: | ||
| 104 | |||
| 105 | 1. Use the BIOS or boot setup to select PXE boot, if not already selected. | ||
| 106 | |||
| 107 | 2. Reboot the target. | ||
| 108 | |||
| 109 | The boot setup menu is usually launched by pressing F12 or ESC during BIOS | ||
| 110 | power up tests. Look up the manufacturer's documentation for your board model | ||
| 111 | to find the appropriate key. | ||
| 7 | 112 | ||
diff --git a/qemuarm64/README b/qemuarm64/README index cdbfd1f..8fefd53 100644 --- a/qemuarm64/README +++ b/qemuarm64/README | |||
| @@ -1,8 +1,15 @@ | |||
| 1 | This file contains build and boot instructions for Enea Linux on QEMUARM, | 1 | This file contains build and boot instructions for Enea Linux on QEMUARM, |
| 2 | |||
| 3 | standard profile. | 2 | standard profile. |
| 4 | 3 | ||
| 5 | 4 | Build instructions | |
| 6 | 5 | ------------------ | |
| 7 | 6 | $ mkdir enea-linux | |
| 7 | $ cd enea-linux | ||
| 8 | $ repo init -u git@git.enea.com:linux/manifests/el_manifests-standard.git \ | ||
| 9 | -b refs/tags/Enea_Linux_8.1 -m qemuarm64/default.xml | ||
| 10 | $ repo sync | ||
| 11 | $ cd poky | ||
| 12 | $ TEMPLATECONF=meta-el-standard/conf/template.qemuarm64 . \ | ||
| 13 | ./oe-init-build-env <build_dir> | ||
| 14 | $ bitbake enea-image-standard / enea-image-standard-sdk | ||
| 8 | 15 | ||
diff --git a/qemuppc/README b/qemuppc/README index dd47dcd..77c6d25 100644 --- a/qemuppc/README +++ b/qemuppc/README | |||
| @@ -1,7 +1,17 @@ | |||
| 1 | This file contains build and boot instructions for Enea Linux on QEMUPPC, | 1 | This file contains build and boot instructions for Enea Linux on QEMUPPC, |
| 2 | |||
| 3 | standard profile. | 2 | standard profile. |
| 4 | 3 | ||
| 4 | Build instructions | ||
| 5 | ------------------ | ||
| 6 | $ mkdir enea-linux | ||
| 7 | $ cd enea-linux | ||
| 8 | $ repo init -u git@git.enea.com:linux/manifests/el_manifests-standard.git \ | ||
| 9 | -b refs/tags/Enea_Linux_8.1 -m qemuppc/default.xml | ||
| 10 | $ repo sync | ||
| 11 | $ cd poky | ||
| 12 | $ TEMPLATECONF=meta-el-standard/conf/template.qemuppc . \ | ||
| 13 | ./oe-init-build-env <build_dir> | ||
| 14 | $ bitbake enea-image-standard / enea-image-standard-sdk | ||
| 5 | 15 | ||
| 6 | 16 | ||
| 7 | 17 | ||
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 @@ | |||
| 1 | This file contains build and boot instructions for Enea Linux on QEMUX86, | 1 | This file contains build and boot instructions for Enea Linux on QEMUX86-64, |
| 2 | |||
| 3 | standard profile. | 2 | standard profile. |
| 4 | 3 | ||
| 5 | 4 | Build instructions | |
| 6 | 5 | ------------------ | |
| 7 | 6 | $ mkdir enea-linux | |
| 7 | $ cd enea-linux | ||
| 8 | $ repo init -u git@git.enea.com:linux/manifests/el_manifests-standard.git \ | ||
| 9 | -b refs/tags/Enea_Linux_8.1 -m qemux86-64/default.xml | ||
| 10 | $ repo sync | ||
| 11 | $ cd poky | ||
| 12 | $ TEMPLATECONF=meta-el-standard/conf/template.qemux86-64 . \ | ||
| 13 | ./oe-init-build-env <build_dir> | ||
| 14 | $ bitbake enea-image-standard / enea-image-standard-sdk | ||
| 8 | 15 | ||
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 @@ | |||
| 1 | This file contains build and boot instructions for Enea Linux on RaspberryPi3, | 1 | This file contains build and boot instructions for Enea Linux on |
| 2 | raspberrypi3-64, standard profile. | ||
| 2 | 3 | ||
| 3 | standard profile. | 4 | Build instructions |
| 5 | ------------------ | ||
| 6 | $ mkdir enea-linux | ||
| 7 | $ cd enea-linux | ||
| 8 | $ repo init -u git@git.enea.com:linux/manifests/el_manifests-standard.git \ | ||
| 9 | -b refs/tags/Enea_Linux_8.1 -m raspberrypi3-64/default.xml | ||
| 10 | $ repo sync | ||
| 11 | $ cd poky | ||
| 12 | $ TEMPLATECONF=meta-el-standard/conf/template.raspberrypi3-64 . \ | ||
| 13 | ./oe-init-build-env <build_dir> | ||
| 14 | $ bitbake enea-image-standard / enea-image-standard-sdk | ||
| 4 | 15 | ||
| 5 | 16 | ||
| 17 | Boot from RAM | ||
| 18 | ------------- | ||
| 19 | Below you find an example that requires a TFTP server set up at IP address | ||
| 20 | <tftp_server_ip>, and that the server stores the Enea Linux image files, | ||
| 21 | kernel image, device tree blob and root filesystem, in | ||
| 22 | /tftpboot/<download_directory>. | ||
| 6 | 23 | ||
| 24 | Once you have that in place, run the following commands on the target: | ||
| 7 | 25 | ||
| 26 | ## set tftp server IP | ||
| 27 | U-Boot> setenv serverip <tftp_server_ip> | ||
| 8 | 28 | ||
| 29 | ## tftp the image files on the target machine | ||
| 30 | U-Boot> tftpboot 0x01000000 Image | ||
| 31 | U-Boot> tftpboot 0x02000000 Image-bcm2837-rpi-3-b.dtb | ||
| 32 | U-Boot> tftpboot 0x03000000 enea-image-standard-raspberrypi3-64.ext2.gz.u-boot | ||
| 33 | |||
| 34 | ## add any other bootargs values if necessary | ||
| 35 | U-Boot> setenv bootargs "8250.nr_uarts=1 root=/dev/ram rw ramdisk_size=500000 | ||
| 36 | ip=dhcp \ | ||
| 37 | console=ttyS0,115200" | ||
| 38 | |||
| 39 | ## Start boot sequence | ||
| 40 | U-Boot> booti 0x01000000 0x03000000 0x02000000 | ||
| 41 | |||
| 42 | |||
| 43 | |||
| 44 | Boot from SD card | ||
| 45 | ----------------- | ||
| 46 | Copy the enea-image-standard-raspberrypi3-64.rpi-sdimg image to the SD card | ||
| 47 | using the Linux dd tool or Win32DiskImager in Windows, and insert it into the | ||
| 48 | RPi. The Raspberry Pi will not start without a properly formatted SD Card, | ||
| 49 | containing the bootloader, kernel image and rootfs. | ||
| 50 | |||
| 51 | Below you can find two methods of how to format an SD Card: | ||
| 52 | |||
| 53 | 1. Format and copy images to the SD card using the Linux dd command line | ||
| 54 | |||
| 55 | The dd command copies a file, converting the format of the data in the | ||
| 56 | process, according to the operands specified: | ||
| 57 | |||
| 58 | $ sudo dd bs=4M if=enea-image-standard-sdk-raspberrypi3-64.rpi-sdimg of=/dev/sdg | ||
| 59 | |||
| 60 | Note: | ||
| 61 | Use dd cautiously - improper usage or entering the wrong values could | ||
| 62 | inadvertently wipe, destroy, or overwrite the data on your hard drive. | ||
| 63 | |||
| 64 | 2. Format the SD card using the Win32DiskImager program | ||
| 65 | |||
| 66 | 1) Download and unzip Win32DiskImager | ||
| 67 | 2) Run Win32DiskImager.exe | ||
| 68 | 3) Select the drive of your SD card | ||
| 69 | 4) Select the image enea-image-standard-raspberrypi3-64.rpi-sdimg | ||
| 70 | 5) Click "Write" and wait for the write to complete | ||
| 71 | 6) Exit the imager and eject the SD Card | ||
| 72 | 7) Plug the card into your Raspberry Pi | ||
| 73 | |||
| 74 | Note: | ||
| 75 | Be careful to select the correct drive. If you choose the wrong one you may | ||
| 76 | destroy your HDD data. If you are using an SD Card slot and can't see the | ||
| 77 | drive in the Win32DiskImager window, try using an affordable external adapter | ||
| 78 | in a USB slot. | ||
