From db4d7258d47f3491c875cbff2d008fa938d98a29 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 15 Sep 2016 14:30:00 +0100 Subject: [PATCH] Add Fedora section. --- 2016-redhat/.gitignore | 5 ++++ 2016-redhat/3000-fedora-demo.term | 11 +++++++++ 2016-redhat/3100-fedora-aims.html | 11 +++++++++ 2016-redhat/3110-fedora-scope.html | 14 +++++++++++ 2016-redhat/3120-fedora-stages.html | 48 +++++++++++++++++++++++++++++++++++++ 2016-redhat/functions | 40 +++++++++++++++++++++++++++++++ 2016-redhat/notes.txt | 17 +++++++++++++ 2016-redhat/run | 20 ++++++++++++++++ 8 files changed, 166 insertions(+) create mode 100755 2016-redhat/3000-fedora-demo.term create mode 100644 2016-redhat/3100-fedora-aims.html create mode 100644 2016-redhat/3110-fedora-scope.html create mode 100644 2016-redhat/3120-fedora-stages.html create mode 100644 2016-redhat/functions create mode 100755 2016-redhat/run diff --git a/2016-redhat/.gitignore b/2016-redhat/.gitignore index 317d723..8792c02 100644 --- a/2016-redhat/.gitignore +++ b/2016-redhat/.gitignore @@ -2,3 +2,8 @@ /bindings /history +/stage3-disk.img +/stage3-disk.img.xz +/stage4-disk.img +/stage4-disk.img.xz +/vmlinux diff --git a/2016-redhat/3000-fedora-demo.term b/2016-redhat/3000-fedora-demo.term new file mode 100755 index 0000000..3229b52 --- /dev/null +++ b/2016-redhat/3000-fedora-demo.term @@ -0,0 +1,11 @@ +#!/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 diff --git a/2016-redhat/3100-fedora-aims.html b/2016-redhat/3100-fedora-aims.html new file mode 100644 index 0000000..f0f8811 --- /dev/null +++ b/2016-redhat/3100-fedora-aims.html @@ -0,0 +1,11 @@ + + + + +

Fedora: Aims

+ + diff --git a/2016-redhat/3110-fedora-scope.html b/2016-redhat/3110-fedora-scope.html new file mode 100644 index 0000000..17880c7 --- /dev/null +++ b/2016-redhat/3110-fedora-scope.html @@ -0,0 +1,14 @@ + + + + +

Fedora: Scope

+ + diff --git a/2016-redhat/3120-fedora-stages.html b/2016-redhat/3120-fedora-stages.html new file mode 100644 index 0000000..c52dcab --- /dev/null +++ b/2016-redhat/3120-fedora-stages.html @@ -0,0 +1,48 @@ + + + + +

Fedora: Bootstrap stages

+ + + +
    +
  1. Emulators +
  2. Cross-compiled tool chain +
  3. Cross-compile enough packages so we can run rpmbuild & GCC
    + Build RPMs from Fedora SRPMs +
  4. +
      +
    1. Clean disk image built entirely from RPMs ☜ +
    2. Auto-build packages from Fedora Koji +
    3. Get everything upstream
      + Spec file changes into Fedora +
    + diff --git a/2016-redhat/functions b/2016-redhat/functions new file mode 100644 index 0000000..7baaed0 --- /dev/null +++ b/2016-redhat/functions @@ -0,0 +1,40 @@ +# -*- 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 +# +# 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 "$@" +} diff --git a/2016-redhat/notes.txt b/2016-redhat/notes.txt index 5ea3c55..f169c6d 100644 --- a/2016-redhat/notes.txt +++ b/2016-redhat/notes.txt @@ -17,6 +17,7 @@ compressed instructions extension 32 general purpose registers 32 floating point registers (extension) zero register +always little-endian influenced by MIPS proven to be patent-free @@ -65,6 +66,22 @@ Missing bits: 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 diff --git a/2016-redhat/run b/2016-redhat/run new file mode 100755 index 0000000..4ad069a --- /dev/null +++ b/2016-redhat/run @@ -0,0 +1,20 @@ +#!/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 -- 1.8.3.1