(This is my cheat sheet. It works for me but yet may stil be incomplete
and redundant at the same time.)

Instructions:

  http://milkymist.org/wiki/index.php?title=RTEMS_build_instructions

Getting rtems:

  cvs -d :pserver:anoncvs@www.rtems.com:/usr1/CVS login
  cvs -d :pserver:anoncvs@www.rtems.com:/usr1/CVS -z 9 co -P rtems 	# 00:58
  cd rtems
  ln -s /home/qi/wernermisc/m1/patches/rtems/ patches
  quilt push -a

Compiling rtems:

  cd rtems
  ./bootstrap -c && ./bootstrap -p && ./bootstrap			# 08:37
  mkdir -p build
  cd build
  ../configure --target=lm32-rtems4.11 --enable-rtemsbsp=milkymist \
    --enable-posix --disable-itron --enable-networking \
    --disable-multiprocessing --disable-tests --prefix=/opt/rtems-4.11	# 00:09
  make								# -j5	# 01:11
  make install								# 00:05

Compiling rtems-yaffs:

  cd rtems-yaffs2
  make -f Makefile.rtems
  make -f Makefile.rtems install

Compiling milkymist.git, libfpvm:

  cd software/libfpvm
  make install

  (verify)

Compiling milkymist.git, softusb-input:

  prerequisites:

  make -C software/libhpdmc
  make -C software/libnet
  make -C software/libbase

  make -C softusb-input
  make -C software/libhal
  make -C software/bios

  ./build_bios.sh

Compiling flickernoise.git:

  cd flickernoise/src
  make bin/flickernoise.fbi && m1nor bin/flickernoise.fbi

  (m1nor from wernermisc/m1/tools/)

Rebooting the M1:

  cd wernermisc/m1/jtag-boot
  make boot

Send patches:

  git send-email --cover-letter --thread --annotate f6c7474ae3b181157d8950e25c4705d53d9ae9c1

------------------------------

Draft items below:

---

Rebuild RTEMS after updating the Navre firmware:

cp ../../milkymist/software/libhal/softusb-input.h ../c/src/lib/libbsp/lm32/shared/milkymist_usbinput/softusb-input.h && make -j 5 && make install

---

Synthesize the SoC:

cd boards/milkymist-one/flash
make -C ../synthesis -f Makefile.xst clean && make clean && time make soc.fpg
m1nor soc.fpg

---

debug:

flterm --gdb-passthrough  --port /dev/ttyUSB0 --kernel /dev/null
/home/qi/m1/gdb-7.3.1/gdb/gdb /home/qi/m1/flickernoise/src/bin/flickernoise
set remote interrupt-on-connect on
target remote /dev/pts/155