You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
89 lines
2.6 KiB
89 lines
2.6 KiB
5 years ago
|
#!/bin/bash
|
||
|
#
|
||
|
# Just update buildroot
|
||
|
|
||
|
|
||
|
|
||
|
# config kernel
|
||
|
# cd /home/jebba/devel/FPGA/litex/buildroot/output/build/linux-5.0.13
|
||
|
# make ARCH=riscv CROSS_COMPILE="/home/jebba/devel/FPGA/litex/buildroot/output/host/bin/riscv32-buildroot-linux-gnu-" menuconfig
|
||
|
|
||
|
|
||
|
# Directory where everything is stored
|
||
|
FPGADIR=/home/jebba/devel/FPGA
|
||
|
# Directory of scripts
|
||
|
FPGASCRIPTS=$FPGADIR/muh
|
||
|
# Timestamp
|
||
|
FPGANOW=`date +%Y%m%d-%H%M%S`
|
||
|
|
||
|
# Log script
|
||
|
exec > >(tee $FPGADIR/log/trellis-buildroot-$FPGANOW) 2>>$FPGADIR/log/trellis-buildroot-$FPGANOW
|
||
|
|
||
|
set -x
|
||
|
|
||
|
cd $FPGASCRIPTS || exit
|
||
|
|
||
|
###############
|
||
|
# Build LiteX #
|
||
|
###############
|
||
|
cd $FPGADIR/litex
|
||
|
|
||
|
# Update Buildroot
|
||
|
echo "===================================== Update buildroot"
|
||
|
cd buildroot && \
|
||
|
git branch -a && \
|
||
|
git checkout master && \
|
||
|
git reset --hard HEAD && \
|
||
|
git status && \
|
||
|
git log | head -1 | cut -f 2 -d " "
|
||
|
git pull && \
|
||
|
git submodule update && \
|
||
|
make clean && \
|
||
|
# XXX Use custom linux.config
|
||
|
cp -p $FPGADIR/PATCH/linux-fstrellis.config \
|
||
|
$FPGADIR/litex/linux-on-litex-vexriscv/buildroot/board/litex_vexriscv/linux-fstrellis.config
|
||
|
# XXX Set up rootfs overlay files defined here:
|
||
|
rm -rf $FPGADIR/litex/linux-on-litex-vexriscv/buildroot/board/litex_vexriscv/rootfs_overlay
|
||
|
cp -a $FPGADIR/PATCH/rootfs_overlay \
|
||
|
$FPGADIR/litex/linux-on-litex-vexriscv/buildroot/board/litex_vexriscv/rootfs_overlay
|
||
|
# XXX Use custom defconfig
|
||
|
cp -p $FPGADIR/PATCH/litex_vexriscv_fstrellis_defconfig \
|
||
|
$FPGADIR/litex/linux-on-litex-vexriscv/buildroot/configs/litex_vexriscv_fstrellis_defconfig
|
||
|
make BR2_EXTERNAL=../linux-on-litex-vexriscv/buildroot/ litex_vexriscv_fstrellis_defconfig \
|
||
|
# 5m16s:
|
||
|
make && \
|
||
|
# XXX COPY OUTPUT
|
||
|
# XXX *output/images/*
|
||
|
# Since tftp server is remote, mount it locally for convenience:
|
||
|
sshfs -o reconnect sparkle:/srv/tftp/ /srv/tftp/
|
||
|
cp -p output/images/Image /srv/tftp/Image && \
|
||
|
cp -p output/images/rootfs.cpio /srv/tftp/rootfs.cpio && \
|
||
|
cp -p output/images/rootfs.tar /srv/tftp/rootfs.tar && \
|
||
|
# Where dtb dts ? ./linux-on-litex-vexriscv/buildroot/rv32.dtb
|
||
|
|
||
|
##################
|
||
|
# Linux on LiteX #
|
||
|
##################
|
||
|
|
||
|
cd $FPGADIR/litex/linux-on-litex-vexriscv
|
||
|
# Load image on FPGA
|
||
|
cp -p $FPGADIR/PATCH/json2dts.py $FPGADIR/litex/linux-on-litex-vexriscv
|
||
|
# XXX
|
||
|
./make.py --board=trellisboard --load
|
||
|
|
||
|
###################
|
||
|
# Connect to FPGA #
|
||
|
###################
|
||
|
# lxterm
|
||
|
# lxterm /dev/ttyUSB1
|
||
|
# lxterm /dev/ttyUSB1 --speed=2e6
|
||
|
# lxterm /dev/ttyUSB1 --speed=1e6
|
||
|
echo "Connect to FPGA thusly:" && \
|
||
|
echo "lxterm /dev/ttyUSB1 --speed=1e6" && \
|
||
|
echo "lxterm /dev/ttyUSB2 --speed=1e6" && \
|
||
|
#lxterm /dev/ttyUSB1 --speed=1e6
|
||
|
#lxterm /dev/ttyUSB2 --speed=1e6
|
||
|
|
||
|
exit 0
|
||
|
|