diff options
Diffstat (limited to 'docs/getting-started/machines')
-rw-r--r-- | docs/getting-started/machines/intel.md | 197 |
1 files changed, 11 insertions, 186 deletions
diff --git a/docs/getting-started/machines/intel.md b/docs/getting-started/machines/intel.md index 4b7e3e1..0b0693c 100644 --- a/docs/getting-started/machines/intel.md +++ b/docs/getting-started/machines/intel.md @@ -1,12 +1,8 @@ # Building for Most Intel 64-Bit Hardware Platforms -Although the reference hardware used by the AGL Project is the 64-bit Open Source MinnowBoard, -you can use the information found on the "[MinnowBoard wiki](https://minnowboard.org/)" -to enable most 64-bit Intel Architecture (IA) platforms that use the 64-bit -UEFI as the boot loader. -In addition to the MinnowBoard, support for the -[upCore & UpSquared boards](http://up-board.org/upsquared/specifications/) exists. -MinnowBoard Max and Turbot are both 64-bit capable. +Most 64-bit capable x86 hardware will run AGL just fine (e.g. Laptop w/ touchscreen). +For development, we recommend the +[upCore & UpSquared boards](http://up-board.org/upsquared/specifications/). If you are interested in creating ***applications*** to run on hardware booted using an image built with the AGL Project, see the following: @@ -16,21 +12,6 @@ using an image built with the AGL Project, see the following: UEFI has significantly evolved and you should check that your hardware's firmware is up-to-date. -You must make this check for MinnowBoard-Max platforms. -You do not need to make this check for the MinnowBoard-Turbo, upCore, and UpSquared -platforms: - -* [`https://firmware.intel.com/projects/minnowboard-max`](https://firmware.intel.com/projects/minnowboard-max) -* Intel automotive Module Reference Board (MRB) - - **NOTES:** By default, these MRBs ship with an Automotive - Fast Boot loader (ABL), which requires encrypted images. - You can ask Intel's "Engineering Sales support" for a special version - of the MRB that does not require an encrypted image. - You need this type of MRB in order to test AGL on the development board. - Contact your Intel technical support representative to get the non-signed - ABL firmware. - ## 1. Making Sure Your Build Environment is Correct @@ -44,12 +25,10 @@ specific options when you run the script: ```bash $ source meta-agl/scripts/aglsetup.sh \ -m intel-corei7-64 \ - agl-devel agl-demo agl-appfw-smack agl-netboot agl-pipewire + agl-devel agl-demo agl-netboot ``` The "-m" option specifies the "intel-corei7-64" machine. -If you were building for a Joule developer kit, you would use the -"-m joule" option. The list of AGL features used with script are appropriate for the AGL demo image suited for the Intel 64-bit target. @@ -67,7 +46,7 @@ You can find these pre-built images on the For supported Intel images, the filenames have the following form: ``` -<release-name>/<release-number>/intel-core17-64/deploy/images/intel-core17-64/bzImage-intel-corei7-64.bin +<release-name>/<release-number>/intel-corei7-64/deploy/images/intel-corei7-64/agl-demo-platform-crosssdk-intel-corei7-64.wic.xz ``` Start the build using the `bitbake` command. @@ -90,9 +69,6 @@ The build process puts the resulting image in the Build Directory: An alternative method for building an image is to use the AGL SDK delivered in a Docker container. -There is currently no SDK dedicated to IA but the SDK provided for the Porter Board can build an IA image without changes (just `aglsetup.sh` needs to call for Intel). - -See chapter 2 of [Porter QuickStart](http://iot.bzh/download/public/2016/sdk/AGL-Kickstart-on-Renesas-Porter-board.pdf "wikilink"). ## 3. Creating Bootable Media @@ -103,153 +79,10 @@ eMMC provides card longevity at a low cost and is used in automotive infotainmen systems, avionics displays, and industrial automation/HMI control applications to name a few. -When creating bootable media, -[Extended Attributes (`xattrs`)](https://linux-audit.com/using-xattrs-extended-attributes-on-linux/) -are required for use with -[Smack](https://en.wikipedia.org/wiki/Smack_(software)). -This section describes using the `mkabl-agl.sh` or `mkefi-agl.sh` scripts -to create bootable media. -Use of either of these scripts include all required `xattrs`. - -**NOTE:** You can find detailed information on Smack at - [https://www.kernel.org/doc/Documentation/security/Smack.txt](https://www.kernel.org/doc/Documentation/security/Smack.txt). - -While the `mkabl-agl.sh` or `mkefi-agl.sh` scripts are recommended for creating -your bootable media for Intel devices, other methods exist. -If you use an alternative method (e.g. `tar`), be sure you take steps to copy -`xattrs` as part of the image. -See the -"[Including Extended Attributes](../troubleshooting.html#including-extended-attributes)" -section for more information. - -### USB Stick, SD Card, and HDD/SDD - -Depending on your target hardware, use a USB stick, an SD card, or an HDD/SDD. -The creation process remains the same independently of the selected support. -It does require to have access to a Linux machine with `sudo` or root password. - -Create a bootable SD card with the script [`mkefi-agl.sh`](https://gerrit.automotivelinux.org/gerrit/gitweb?p=AGL/meta-agl.git;a=blob_plain;f=scripts/mkefi-agl.sh;hb=HEAD). -Use the "-v" option to check the available options. - -**NOTE:** If you are using an Intel Module Reference Board (MRB), you need to - use the - [`mkabl-agl.sh`](https://gerrit.automotivelinux.org/gerrit/gitweb?p=AGL/meta-agl.git;a=blob_plain;f=scripts/mkefi-agl.sh;hb=HEAD) - script instead of the `mkefi-agl.sh` script. - -Follow these steps to create your bootable media: - -1. **Insert Media Device:** - Insert your removable media into the corresponding interface. - -2. **Determine the Name of Your Media Device:** - Use the `lsblk` command to make sure you know the name of the device to which you will be writing. - - ```bash - lsblk - # You want the name of the raw device and not the name of a partition on the media. - #(e.g. /dev/sdc or /dev/mmcblk0) - ``` - -3. **Download the `mkefi-agl.sh` Script:** - You can find the script in the "meta-agl/scripts" folder of your AGL source files. - - Alternatively, you can download the script from the following Git repository: - - [https://github.com/dominig/mkefi-agl.sh](https://github.com/dominig/mkefi-agl.sh) - -4. **Create Your Bootable Media:** - Run the following to see `mkefi-agl.sh` usage information: - - ```bash - ./mkefi-agl.sh -v - ``` - - Supply the name of your actual image and device name and run the script. - The following example assumes a USB device (e.g. `/dev/sdb`) and the image - `intel-corei7-64.hdd`: - - ```bash - $ sudo ./mkefi-agl.sh intel-corei7-64.hdd /dev/sdb - # /dev/sdX is common for USB stick where "X" is "b". - # /dev/mmcblk0 is common for an integrated SD card reader in a notebook computer. - ``` - -### Embedded MultiMediaCard (eMMC) - -It is possible to install the AGL image directly on the internal eMMC -rather than a removable device such as a USB stick or SD card. -To do so, requires the following steps: +You can write the `wic.xz` image after extraction with `dd` or `etcher`. +Or you use `bmaptool` which does not require extraction. -1. **Add Required Tools to Your AGL Image:** - - Add a file named `site.conf` in your `build/conf` directory. - Make sure the file has the following content: - - ``` - INHERIT += "rm_work" - IMAGE_INSTALL_append = " linux-firmware-iwlwifi-7265d" - IMAGE_INSTALL_append = " parted e2fsprogs dosfstools" - IMAGE_INSTALL_append = " linux-firmware-i915 linux-firmware-ibt linux-firmware-iwlwifi-8000c" - ``` - In addition to the previous statements, you need to add the - Intel Wireless WiFi Link (`iwlifi`) driver for your own device - as needed. - -2. **Rebuild Your Image** - - Rebuild the AGL image by following the instructions in the - "[Using BitBake](../machines/intel.html#2-using-bitbake)" - step of this page. - -3. **Install the Rebuilt Image Onto a Removable Device** - - Follow the steps previously described here to copy the new - image onto a removable device such as a USB stick. - -4. **Copy the Image from the USB Stick to Your Build Host's Home Directory** - - Copy the image you just temporarily installed to the removable - device to your build host's home directory. - The process uses this image later for installation in the - eMMC. - For example, copy the image file created using the Yocto Project from - the build directory to your home directory: - - ```bash - $ cp build/tmp/deploy/images/intel-corei7-64/agl-demo-platform-intel-corei7-64.wic.xz ~/ - ``` - -5. **Boot the AGL Image from the Removable Device** - - You can see how to boot the image on the target device by - following the procedure in the next section. - -6. **Connect to Your Device that is Running the Image** - - You need to use a Serial Link or SSH to connect to the device running - your image. - -7. **Determine the eMMC Device Name** - - Be sure you know the name of the eMMC device. - Use the `lsblk` command. - -8. **Install the Image into the eMMC** - - Use the `mkefi-agl.sh` Script to install the image into the eMMC. - - ``` - cat /proc/partitions - ``` -9. **Remove the USB or SD Boot Device** - - Once your image is running on the booted device, you can remove the - media used to boot the hardware. - -10. **Reboot Your Device** - - Cycle through a reboot process and the device will boot from the - eMMC. +Note: for `bmaptool`, also download the `.wic.bmap` file as well. ## 4. Booting the Image on the Target Device @@ -285,9 +118,6 @@ Use these steps to boot your device: 3. As the device boots, access the boot option screen. You generally accomplish this with the F12 key during the power up operation. - **NOTE:** When booting a MinnowBoard, you can change the default boot - device by hitting F2 during initial UEFI boot. - 4. From the boot option screen, select your bootable media device. 5. Save and exit the screen and let the device boot from your media. @@ -307,12 +137,9 @@ port names for connected displays. ### Serial Debug Port Serial debug port IDs vary across hardware platforms. -By default, when you build an AGL image for an Intel target such as the -Minnowboard, Module Reference Board (MRB), or Up board, the serial debug +By default, when you build an AGL image for an Intel target, the serial debug ports are as follows: -* MinnowBoard uses `/dev/ttyS0` -* MRB uses `/dev/ttyS2` * Up boards the `/dev/ttyS0` serial port is difficult to access. Using `/dev/ttyS4` is preferred, which is routed on the Arduino connector. @@ -324,10 +151,8 @@ configuration in your bootloader, which is located in the EFI partition. ### Serial Debug Cable -On the MinnowBoard, the serial debug cable is an FTDI serial cable. -You can learn more [here](https://minnowboard.org/tutorials/best-practice-serial-connection). - -Up Boards use the same FDDI 3.3V adapter as does the MinnowBoard. +Most development boards use a standard serial debug cable (e.g. 3.3V FTDI serial cable). +Up Boards use the same FTDI 3.3V adapter. However, the pin out is not adjacent and requires split pins. ### Port Names and Connected Displays |