/bindings
/history
+/stage3-disk.img
+/stage3-disk.img.xz
+/stage4-disk.img
+/stage4-disk.img.xz
+/vmlinux
--- /dev/null
+#!/bin/bash -
+
+source functions
+
+# History.
+
+remember 'qemu-system-riscv -m 4G -kernel /usr/bin/bbl -append vmlinux -drive file=stage3-disk.img,format=raw -nographic'
+
+echo "Running Fedora/RISC-V"
+
+terminal
--- /dev/null
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<link rel="stylesheet" href="style.css" type="text/css"/>
+<script src="code.js" type="text/javascript"></script>
+
+<h1>Fedora: Aims</h1>
+
+<ul>
+<li> Downloadable Fedora disk images
+<li> Repository of RPMs and SRPMs
+<li> Working command line environment with compilers, editors, etc.
+</ul>
--- /dev/null
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<link rel="stylesheet" href="style.css" type="text/css"/>
+<script src="code.js" type="text/javascript"></script>
+
+<h1>Fedora: Scope</h1>
+
+<ul>
+<li> 64-bit only (RV64G)
+<li> Only @Core packages, and a whitelist of compilers, editors, utilities
+<li> No X
+<li> No Anaconda
+<li> No Koji
+<li> No grub or UEFI
+</ul>
--- /dev/null
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<link rel="stylesheet" href="style.css" type="text/css"/>
+<script src="code.js" type="text/javascript"></script>
+
+<h1>Fedora: Bootstrap stages</h1>
+
+<style>
+ol {
+ list-style-type: none;
+ counter-reset: item;
+ margin: 0;
+ padding: 0;
+}
+
+ol > li {
+ display: table;
+ counter-increment: item;
+ margin-bottom: 0.6em;
+}
+
+ol > li:before {
+ content: "Stage " counters(item, ".") ". ";
+ display: table-cell;
+ padding-right: 0.6em;
+}
+
+li ol > li {
+ margin: 0;
+}
+
+li ol > li:before {
+ content: counters(item, ".") " ";
+}
+</style>
+
+<ol>
+<li> Emulators
+<li> Cross-compiled tool chain
+<li> Cross-compile enough packages so we can run rpmbuild & GCC <br/>
+ Build RPMs from Fedora SRPMs
+<li>
+ <ol>
+ <li> Clean disk image built entirely from RPMs <b>☜</b>
+ <li> Auto-build packages from Fedora Koji
+ <li> Get everything upstream <br/>
+ Spec file changes into Fedora
+ </ol>
+</ul>
--- /dev/null
+# -*- shell-script -*-
+# This creates some standard functions. See also $talkdir/bashrc
+# which runs in the same bash context as the terminal.
+
+# Place any local environment variables and settings in "local".
+if [ -f local ]; then source local; fi
+
+# Environment variables.
+export HISTFILE=$talkdir/history
+export PATH=$talkdir:$PATH
+export EDITOR="emacs -nw"
+
+# remember <command> <args ...>
+#
+# This function does two things: (1) It adds the command and arguments
+# to the shell history, so that commands can be recalled using up
+# arrow or reverse search. (2) It makes a function key recall the
+# command. The first command is assigned to F2, the second to F3 and
+# so forth.
+
+rm -f $HISTFILE
+touch $HISTFILE
+rm -f $talkdir/bindings
+touch bindings
+
+fnum=2
+keys=(- OP OQ OR OS '[15~' '[17~' '[18~' '[19~' '[20~' '[21~')
+
+remember ()
+{
+ echo "$@" >> $HISTFILE
+ echo \"\\e${keys[$fnum]}\":\"\\C-k \\C-u"$@"\" >> $talkdir/bindings
+ ((fnum++))
+}
+
+terminal ()
+{
+ chmod -w $HISTFILE
+ /bin/bash --rcfile $talkdir/bashrc "$@"
+}
32 general purpose registers
32 floating point registers (extension)
zero register
+always little-endian
influenced by MIPS
proven to be patent-free
Fedora
+Demo
+
+Aims
+ Explain why: current software is crap
+ Busybox
+ Almost like an embedded system
+
+Scope
+
+Four stage bootstrap process
+ Stage 3 is a "hack job" containing a mix of cross-compiled
+ packages built on the host, layered with "--nodeps"-installed RPMs on top.
+
+ Stage 4 is the clean image built entirely from RPMs, with all
+ dependencies satisfied and all files controlled by RPM.
+
----------------------------------------------------------------------
Software development and the community
--- /dev/null
+#!/bin/bash -
+# Run the talk.
+
+set -e
+
+# Avoid GNOME keyring stupidity
+export GNOME_KEYRING_CONTROL=
+export GNOME_KEYRING_PID=
+
+# No proxy.
+#unset http_proxy
+#unset https_proxy
+#unset ftp_proxy
+
+# Uncompress from the pristine image.
+unxz -k stage3-disk.img.xz
+
+# Run techtalk.
+#techtalk-pse
+~/d/techtalk-pse/techtalk-pse