Building a Secure Pi image involves integrating three critical components: U-Boot, Kernel Linux, and the Linux OS. Each layer plays a specific role in enabling the functionality and security of the Secure Pi module, working seamlessly together to create a reliable and efficient platform.
Working EnvironmentUbuntu Version: 20.04
Flex Version: latest (2.6.4)
Bison Version: latest (3.5.1)
Make Version: latest (4.2.1)
GCC Version: latest (9.4.0)
Download and handle the SDK file- Please go to SDK section to download the full SDK file
- Extract the file using tar command
tar -xzvf SDK_file_name
U-Boot is the foundation of the Secure Pi system, responsible for configuring the hardware and defining the purpose of the MPU's pin layouts.
- Pin Configuration: U-Boot assigns functions to the MPU's pins, ensuring the hardware interfaces are configured correctly.
- Preconfigured SDK: The Secure Pi SDK provides a pre-set U-Boot layer optimized for the module layout, minimizing the need for user modifications.
- Recommendation: Altering the U-Boot layer is not advised, as it may introduce unnecessary errors and disrupt the hardware's compatibility with the system.
- Run the u-boot build script
./build_sdk_uboot_user.sh
It created “splsign.bin” and "u-boot_sign.bin”
Kernel Linux serves as the intermediary layer between U-Boot and the Linux OS, acting as a translator and executor for hardware instructions.
- Translation Layer: The kernel allows the MPU to interpret and execute Linux OS instructions effectively.
- Hardware Control: It manages the hardware's operational processes, including the behavior of pins assigned in the U-Boot layer.
- Critical Role: The kernel ensures seamless communication between hardware and software, enabling the entire system to function cohesively.
- Run the Kernal Linux build script
./build_linux_uboot_user.sh
It created “dtb_sign.bin” and “zImage_sign.bin”
Linux OS is the highest layer in the Secure Pi architecture, providing an interface for users to develop and execute complex applications.
- Application Platform: The Linux OS offers a robust and user-friendly environment for running various applications and scripts.
- Versatile Development: Users can leverage scripting languages like Python to build custom solutions tailored to their needs.
- Compatibility: Only Linux OS versions running Kernel Linux 4.14 are compatible with the Secure Pi module, ensuring stability and performance.
- Set the permission for mkubuntu.sh & ch-mount.sh
chmod +x ch-mount.sh mkubuntu.sh
- Set the environment to create an ubuntu image
sudo ./mkubuntu.sh -env
- Set the basic settings using script number 1
sudo ./mkubuntu.sh -s1
- Get into qemu environment (Please remember to set your own login password)
sudo ./mkubuntu.sh -s2
Start to create your own style of ubuntu image (for default, please use script command -c)
./mkubuntu.sh -c
It created “ubuntu_minbase.ext4” and “ubuntu_minbase_256_4k.img”
For simply the installation progress, Secure Pi has created a installation software with procedure list to allow user could easily work on.
Thus, we recommend to relocated all those generate files to this directory in SDK for a easy installation.
User mode Directory:../SDKdirectory/images/mh_user
Debug mode Directory:../SDKdirectory/images/mh_debug
User mode Directory:../SDKdirectory/images/mh_userDebug mode Directory:../SDKdirectory/images/mh_debug
Comments
Please log in or sign up to comment.