Skip to content

Instantly share code, notes, and snippets.

@doevelopper
Last active November 24, 2017 22:43
Show Gist options
  • Save doevelopper/09e8cb0d180bcf5b169fb3ad41883b8a to your computer and use it in GitHub Desktop.
Save doevelopper/09e8cb0d180bcf5b169fb3ad41883b8a to your computer and use it in GitHub Desktop.
sets of command for building RTOS for raspberry PI 3b
export PATH=/opt/aarch64-linux-gnu/bin/:/opt/armv8l-linux-gnueabihf/bin/:$PATH
export TRIPLET=armv8l-linux-gnueabihf
export CPU_NUMBERS=`nproc`
CC=${TRIPLET}-gcc
CXX=${TRIPLET}-g++
NM=${TRIPLET}-nm
AR=${TRIPLET}-ar
AS=${TRIPLET}-as
LD=${TRIPLET}-ld
CPP=${TRIPLET}-cpp
OBJDUMP=${TRIPLET}-objdump
OBJCOPY=${TRIPLET}-objcopy
READELF=${TRIPLET}-readelf
RANLIB=${TRIPLET}-ranlib
GDB=${TRIPLET}-gdb
GFORTRAN=${TRIPLET}-gfortran
STRINGS=${TRIPLET}-strings
SIZE=${TRIPLET}-size
GCOV=${TRIPLET}-gcov
STRIP=${TRIPLET}-strip
GPROF=${TRIPLET}-gprof
HOSTCC=
HOSTCXX=
#CFLAGS="${CFLAGS} -O3 -pipe -march=armv8-a+crc -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8 -mfloat-abi=hard -funsafe-math-optimizations"
CFLAGS="${CFLAGS} -O3 -march=armv8-a+crc -mtune=cortex-a53 -mcpu=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -funsafe-math-optimizations"
LDFLAGS="${LDFLAGS} -O3 -march=armv8-a+crc -mtune=cortex-a53 -mcpu=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -funsafe-math-optimizations"
export AS LD CC CXX CPP AR NM READELF RANLIB STRIP OBJCOPY OBJDUMP GFORTRAN GCOV GPROF SIZE STRINGS GDB
$CC -v 2>&1 | grep hard
$CC -Q --help=target
$CC -c -Q -O3 --help=optimizers
$CC -c -Q -O2 --help=optimizers
$CC -dM -E -xc /dev/null
$CXX -x c++ -std=c++17 -dM -E - | sort
echo | $CXX -x c++ -std=c++17 -dM -E - | sort
ARCHI=32
WORKING_DIR=$(readlink -f `pwd`)
OS_TARGET=rpios${ARCHI}
QEMU_KERNEL=${WORKING_DIR}/qemu_rpios${ARCHI}
BLRT_BUILD_DIR=${WORKING_DIR}/${OS_TARGET}
GIT_XENOMAI_LINUX_DIR=${HOME}/embedded/repositories/xenomai-3
BUILDROOT_DIRECTORY=${HOME}/embedded/repositories/buildroot
cd ${BUILDROOT_DIRECTORY}
make O=${BLRT_BUILD_DIR} raspberrypi3_defconfig
make O=${BLRT_BUILD_DIR} busybox-menuconfig
make O=${BLRT_BUILD_DIR} linux-menuconfig
make O=${BLRT_BUILD_DIR} menuconfig
make O=${BLRT_BUILD_DIR} source-check
make O=${BLRT_BUILD_DIR} source
make O=${BLRT_BUILD_DIR}
make O=${QEMU_KERNEL} qemu_arm_versatile_defconfig
make O=${QEMU_KERNEL} menuconfig
make O=${BLRT_BUILD_DIR} raspberrypi3_64_defconfig
make O=${QEMU_KERNEL} qemu_aarch64_virt_defconfig
build Xenomai from cli and install into
fdisk -l sdcard.img
mkdir -p /home/${USER}/rootFS
mkdir -p /home/${USER}/boot
mount raspbian.img -o loop,offset=$(( 512 * 8192)) /home/${USER}/boot
mount raspbian.img -o loop,offset=$(( 512 * 94208)) /home/${USER}/rootFS
sudo mount -v -o offset=$((512*94208)) -t ext4 raspbian.img /home/${USER}/dev/rootFS
comment in /home/${USER}/dev/rootFS/etc/fstab. qemu use /dev/sda not /dev/mmcblk0p* as sdcard
#/dev/mmcblk0p1 /boot vfat defaults 0 2
#/dev/mmcblk0p2 / ext4 errors=remount-ro,noatime,nodiratime,commit=120 0 1
root_partition=/home/${USER}/rootFS
boot_partition=/home/${USER}/boot
INSTALL_MOD_PATH=$root_partition/ modules_install
INSTALL_HDR_PATH=$root_partition/ headers_install
INSTALL_FW_PATH=$root_partition/ firmware_install
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment