From 2222e64625020ecffca52928660e94afde4426c3 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sat, 6 Aug 2016 07:51:10 +0100 Subject: [PATCH] Add /init script to the stage3 disk. --- Makefile | 17 ++++++++++++----- init.sh | 17 +++++++++++++++++ 2 files changed, 29 insertions(+), 5 deletions(-) create mode 100755 init.sh diff --git a/Makefile b/Makefile index 96da1ca..2cc075c 100644 --- a/Makefile +++ b/Makefile @@ -237,6 +237,7 @@ stage3: stage3-kernel/linux-$(KERNEL_VERSION)/vmlinux \ stage3-chroot/etc/fedora-release \ stage3-chroot/lib64/libc.so.6 \ stage3-chroot/bin/bash \ + stage3-chroot/init \ stage3-disk.img stage3-kernel/linux-$(KERNEL_VERSION)/vmlinux: @@ -251,11 +252,13 @@ stage3-kernel/linux-$(KERNEL_VERSION)/vmlinux: git fetch riscv && \ git checkout -f linux-4.1.y-riscv && \ make mrproper && \ - make ARCH=riscv defconfig && \ - make ARCH=riscv \ - CONFIG_CROSS_COMPILE=riscv64-unknown-elf- \ - CONFIG_CMDLINE="root=/dev/htifblk0 init=/bin/bash" \ - vmlinux + make ARCH=riscv defconfig + echo CONFIG_CMDLINE=\"root=/dev/htifblk0 init=/init\" >> stage3-kernel/linux-$(KERNEL_VERSION)/.config + echo CONFIG_CROSS_COMPILE=riscv64-unknown-elf- >> stage3-kernel/linux-$(KERNEL_VERSION)/.config + cd stage3-kernel/linux-$(KERNEL_VERSION) && \ + make ARCH=riscv olddefconfig + cd stage3-kernel/linux-$(KERNEL_VERSION) && \ + make ARCH=riscv vmlinux ls -l $@ # Build an original (x86-64) chroot using supermin. We then aim to @@ -305,6 +308,10 @@ bash-$(BASH_VERSION).tar.gz: wget -O $@-t ftp://ftp.gnu.org/gnu/bash/bash-$(BASH_VERSION).tar.gz mv $@-t $@ +# Create an /init script. +stage3-chroot/init: init.sh + install -m 0755 $^ $@ + # Create the stage3 disk image. # Note `-s +...' adds spare space to the disk image. stage3-disk.img: stage3-chroot diff --git a/init.sh b/init.sh new file mode 100755 index 0000000..f619f30 --- /dev/null +++ b/init.sh @@ -0,0 +1,17 @@ +#!/bin/bash - +# Init script installed in stage3 disk image. + +echo +echo "Welcome to the Fedora/RISC-V stage3 disk image" +echo "https://fedoraproject.org/wiki/Architectures/RISC-V" +echo + +PS1='stage3:\w\$ ' +export PS1 + +# Run bash. +bash -i + +# Sync disks and shut down. +sync +poweroff -- 1.8.3.1