Build the bootable images with QNX IFS
This section describes the detailed steps to build the QNX SBL container sbl_os for the SCB100 board.
Note:
This sbl_os build is supported only for the Linux OS.
- Create a working directory, for example, $HOME/bsp/SCB100
and set the SCB100_ROOT_DIR environment variable to point to it.
$ mkdir -p $HOME/bsp/SCB100 $ export SCB100_ROOT_DIR=$HOME/bsp/SCB100
Note:This working directory can be created anywhere. - Change directory to the working directory SCB100_ROOT_DIR and extract all third party packages
downloaded in the previous section. For example:
$ cd $SCB100_ROOT_DIR $ unzip $HOME/Downloads/815611_FuSa\ SW_Component\ for\ QNX\ OS_0.5.1.zip $ unzip $HOME/Downloads/slimbootloader-master.zip $ unrar x -r $HOME/Downloads/SCB100_priv_key.rar
Note:Assume all third party packages above were downloaded to the $HOME/Downloads directory. - Extract the the fusa-sdk.zip and hello-fusa.zip sub-packages
that are included in the Intel 815611 packages. For example:
$ unzip fusa-sdk.zip $ unzip hello-fusa.zip $ chmod -R +w hello-fusa
Note:Make sure that the hello-fusa is a writable directory. - Create a BSP directory, for example, bsp_x86_64 and extract the QNX generic x86_64 BSP
that you had downloaded from the QSC in the previous section to this directory. For example:
$ mkdir bsp_x86_64 $ unzip -d bsp_x86_64 /home/qnx/qnx800/bsp/BSP_x86_64_be-800_SVN1019295_JBN337.zip $ ls '815611_FuSa Software Components for QNX OS_Getting_Started_Guide 0.5.1.pdf' '815611_FuSa Software Components for QNX OS_Release_Notes 0.5.1.pdf' bsp_x86_64 fusa-sdk fusa-sdk.zip hello-fusa hello-fusa.zip SCB100_priv_key slimbootloader-master
Note:Assume /home/qnx is your $HOME directory and /home/qnx/qnx800 is your QNX SDP install directory. The generic x86_64 BSP you had downloaded from the QSC in the previous section should be in the /home/qnx/qnx800/bsp directory. - Change directory to the hello-fusa/sbl_os_Makefile directory. For example:
$ cd hello-fusa/sbl_os_Makefile
- Open the make file sbl_os.mk
and update these three parameters to match your environment. For example:
- line 04:
BSP_DIR=/home/qnx/bsp/SCB100/bsp_x86_64
- line 20:
SBL_TOP_DIR=/home/qnx/bsp/SCB100/slimbootloader-master
- line 24:
SBL_OS_SIGNING_KEY=/home/qnx/bsp/SCB100/SCB100_priv_key/OS1_TestKey_Pub_RSA3072_priv.pem
- line 04:
- Replace the build file scb100.build by using QNX x86_64 BSP build file
$SCB100_ROOT_DIR/bsp_x86_64/images/generic-uefi/x86_64-generic-uefi.build.
For example:
$ mv scb100.build scb100.build.bak $ cp $SCB100_ROOT_DIR/bsp_x86_64/images/generic-uefi/x86_64-generic-uefi.build scb100.build
- Modify the virtual attribute from uefi to multiboot
in the new build file scb100.build.
For example, change line 10 in scb100.build as below:
From: [virtual=x86_64,uefi +compress] boot = { To: [virtual=x86_64,multiboot +compress] boot = {
- Setup the QNX environment and build QNX SBL container sbl_os. For example:
$ source /home/qnx/qnx800/qnxsdp-env.sh QNX_HOST=/home/qnx/qnx800/host/linux/x86_64 QNX_TARGET=/home/qnx/qnx800/target/qnx MAKEFLAGS=-I/home/qnx/qnx800/target/qnx/usr/include $ $ make -f sbl_os.mk sbl_os
You now have a QNX SBL Container sbl_os that can boot on the SCB100 board.
Page updated: