0%

rtthread-pomegranate Compile

rtthread-pomegranate

Mutil-Operating System with RT-Thread

Compile

Install dependence package

sudo apt install ninja-build pixman

sudo apt-get install build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev

apt-get install libmount-dev

sudo apt install android-sdk-ext4-utils

sudo apt install scons

sudo apt install device-tree-compiler

Clone and init submode

git clone --recursive https://github.com/RT-Thread/rtthread-pomegranate

Download u-boot、linux、qemu source

./dn.sh

Download toolchains

cd toolschains

wget https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64/tarballs/riscv64--glibc--bleeding-edge-2020.08-1.tar.bz2

tar -xf riscv64--glibc--bleeding-edge-2020.08-1.tar.bz2

wget https://static.dev.sifive.com/dev-tools/freedom-tools/v2020.12/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14.tar.gz

tar -xf riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14.tar.gz

Compile qemu

cd qemu
./build.sh

Compile u-boot

cd u-boot
./build.sh

// test
./run.sh

Build rootfs

cd buildroot
./build.sh

Compile linux

cd linux
./build.sh

Fix linux/run.sh

${QEMU_RUNTIME} -nographic -smp 2 -machine virt -m 512M -kernel linux-5.12.3/arch/riscv/boot/Image -append "root=/dev/vda rw console=ttyS1,115200n8 earlycon=sbi" -drive file=${ROOT}/output/rootfs.ext4,format=raw,id=hd0 -device virtio-blk-device,drive=hd0

// test
./run.sh

Compile rtt

cd rtos

git clone https://github.com/RT-Thread/rt-thread.git

// checkout a last fork
git checkout v4.1.0-beta

./build.sh

// test
./run.sh