Configure hardware and boot a reference image

The default image is set up to run the Sensor example application and demonstrates how a system boots and immediately shows camera and sensor data. These are referred to as file cameras and file data, respectively.

Before you boot the reference image on the Car Creek MRB, you must configure it from the BIOS and connect the required hardware. For information about setting up the Car Creek MRB, see Setting up the Car Creek MRB to use the reference image in this chapter. After you set up the Car Creek MRB, see After you boot the reference image to understand how to boot the Car Creek MRB.

If you want to connect physical cameras or sensors to the Car Creek MRB, you must change the reference image configuration settings. For more information, see Connect cameras and sensors and Configure sensors and cameras on the reference image in this chapter.

Set up the board

If you haven't done so already, connect your Car Creek MRB to:
After you have connected the Car Creek MRB to boot from the USB storage, you can power on the board. To do so, first switch the black button on the back to the ON position as shown in this diagram:


Figure 1. Back power button
Then, press power button on the front.


Figure 2. Front power button

After you power on the board, you should be able to determine if you are using Automotive Boot Loader (ABL) with Emergency Linux Kernel (ELK) or UEFI (Unified Extensible Firmware Interface)from the bootup messages. You will either see ABL or UEFI in the bootup messages. Another way to tell is that UEFI takes minutes to boot before you get a prompt while ABL takes seconds.

Setting up the Car Creek MRB to use the reference image

There are two ways to boot the Car Creek MRB with a reference image. The mechanism you choose depends on whether you have Automotive Boot Loader (ABL) with Emergency Linux Kernel (ELK) or UEFI (Unified Extensible Firmware Interface) programmed in the NOR Flash of your board. You must get support documentation from Intel for information to use either mechanism before you can use our reference images.
Note: Not all variants of the board can boot ABL. You should contact Intel support check verify whether your version of the board supports ABL.
Use ABL with ELK
Note: These steps presume that you have the Car Lake Software and documentation from Intel. Contact Intel support for more information.
  1. Extract the ZIP file for this image and extract the contents. You'll see two files, which include the denverton.ifs and denverton-usb.img file.
  2. Using the scripts provided by Intel, you must sign the denverton.ifs file and create an eMMC image (e.g., denverton-emmc.img) file that you later copy to the eMMC. To get these scripts and the procedures, contact Intel.
  3. Copy the eMMC image file you created in the previous step (e.g., denverton-emmc.img) and put the signed image file onto a USB stick.
  4. Boot the board into Emergency Linux Kernel (ELK) and Press CTRL-C in your console connect and then type:
    ABL>>>>> boot ifwi:@0
  5. After ELK boots, insert the USB stick, mount the USB stick, and copy the image to the eMMC:
    mount /dev/sda1 /mnt
    dd if=/mnt/denverton-emmc.img of=/dev/mmcblk0
    sync
  6. Using another (or the same USB stick), put the reference image (denverton-usb.img) on a USB stick as described in the Prepare removable media with an image, insert the USB stick containing the reference image into the board.
  7. Reboot the board. You should now see QNX Neutrino running on your board from your serial connection:
    ...
    ...
    Starting serial driver ...
    # Starting USB flash drive as system disk /dev/sysdisk0...
    (#: 1)Trying to find the usb mass storage...
    USB MASS STORAGE has been found
    Starting devb-umass with devno:1 : vid:0x0781 did:0x5580
    Note: If your board doesn't boot the first time, try again until it successfully boots.
Use UEFI to boot

The menu may appear different based on the serial program you use to connect to the board. For example, the Miniport program available on Linux may show selected items that don't correspond to the the selected item you see in the console. For example, Processor Configuration shows as Processor Test Settings in the Miniport.

The steps below use PuTTy, which is a console program ran on Windows.

  1. Put the reference image (denverton-usb.img) on a USB stick as described in the Prepare removable media with an image, insert the USB stick containing the reference into the board.
  2. Boot and insert the USB stick with the Denverton image on it to the board.
  3. Wait a few minutes and then when you see the Shell prompt, type exit in your console and press the Enter key:
    Shell>
  4. In the main menu that appears, use your arrow keys to navigate to and press Enter after each of the following menu items:
    • EDKII Menu
    • Advanced
    • Processor Configuration (Depending on your serial connection program, this might show as Processor Test Settings)
    • Extended APIC
  5. After you press the Enter key for the Extended APIC, select Disable, press the F10 key, press Escape key, and if prompted, press Y to save the changes (ensure that it's a capital Y (Shifty)).
  6. Press the Escape key and press Y to save the changes until you return to the main menu.
  7. In the main menu where you started, use your arrow keys to navigate to and then press the press the Enter key following menu items:
    • Boot Manager Menu
    • UEFI Internal Shell
    You should see the following prompt in your console in a box appear, and if it doesn't skip ahead to step 9:
    Configuration changed. Reset to apply it now. 
    Press ENTER to reset.
  8. Press Enter, which reboots the board.
  9. After you see the Shell prompt again, type fs0: and press the Enter key. You can type ls command to see the contents on your USB stick.
    Shell> fs0:
    FS0:\> ls
    Directory of: FS0:\
    04/02/2018  14:46           8,448,044  qnx-ifs
    04/02/2018  14:46           8,448,076  denverton-kpi.ifs
    04/02/2018  14:46           8,448,512  denverton-uefi.ifs
              3 File(s)  25,344,632 bytes
              0 Dir(s)
                                   
  10. Type denverton-uefi.ifs and press the Enter key again. You should see the reference image boot with QNX Neutrino and eventually the denverton# prompt:
    FS0:\> denverton-uefi.ifs
    InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 73B70180
    Loading driver at 0x00001400000 EntryPoint=0x00001402848
    InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 73B709D8
    InstallProtocolInterface: 752F3136-4E16-4FDC-A22A-E5F46812F4CA 7EAF7818
    
    UEFI boot
    _uefi_exit_boot_services, exiting
    XhcClearBiosOwnership: called to clear BIOS ownership
    SmmInstallProtocolInterface: 296EB418-C4C8-4E05-AB59-39E8AF56F00A 0
    SmmLockBoxSmmLib RestoreLockBox - Enter
    SmmLockBoxSmmLib RestoreLockBox - Exit (Success)
    SmmLockBoxSmmLib SaveLockBox - Enter
    ...
    ...
    
    Starting dumper
    IFS2_ENABLED not set to true, secondary IFS disabled
    sourcing env.sh
    Starting SLM...
    denverton# 
    
Note: On some versions of the board, when you disable the APIC setting, it doesn't persist, therefore if you cycle the power (either push the power button on the front or the black switch on the back of the module), you must repeat steps 1-8 before you try to boot the reference image.

After you boot the reference image

After your reference image boots, the Sensor service is started for you, but in your console connection, you'll have a prompt. From the console, you can run sample applications included with the image. For more information about running sample applications, see Use the Reference Image.”