live-build/scripts/build/binary_linux-image
Ryan Finnie 5da4ff53be
Add initial riscv64 support
Notes:
- No bootloader is configured; images must be booted via direct kernel
  - Tested via qemu + opensbi fw_jump.elf + kernel/initrd
- As riscv64 is currently in ports, the following options are required:
    --distribution unstable
    --mirror-bootstrap http://ftp.ports.debian.org/debian-ports/
    --security false
    --debootstrap-options --keyring=/usr/share/keyrings/debian-ports-archive-keyring.gpg
- Normally ports require stacking two dists, unstable and unreleased.
  debootstrap does not support doing this, but as of this writing, there
  is nothing in riscv64 unreleased which is required to bootstrap.
  However, this would not have been possible a year ago.
2021-11-14 09:22:41 -08:00

78 lines
1.6 KiB
Bash
Executable File

#!/bin/sh
## live-build(7) - System Build Scripts
## Copyright (C) 2016-2020 The Debian Live team
## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch>
##
## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING.
## This is free software, and you are welcome to redistribute it
## under certain conditions; see COPYING for details.
set -e
# Including common functions
[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh
# Setting static variables
DESCRIPTION="Install linux-image into binary"
USAGE="${PROGRAM} [--force]"
# Processing arguments and configuration files
Init_config_data "${@}"
if [ "${LB_LINUX_PACKAGES}" = "none" ]
then
exit 0
fi
Echo_message "Begin install linux-image..."
# Requiring stage file
Require_stagefiles config bootstrap
# Checking stage file
Check_stagefile
# Acquire lock file
Acquire_lockfile
case "${LB_INITRAMFS}" in
live-boot)
DESTDIR="binary/live"
;;
*)
DESTDIR="binary/boot"
;;
esac
case "${LB_ARCHITECTURE}" in
powerpc|ppc64el|riscv64)
LINUX="vmlinux"
;;
*)
LINUX="vmlinuz"
;;
esac
# Creating directory
mkdir -p "${DESTDIR}"
# Installing linux-image
cp -a chroot/boot/"${LINUX}"-* "${DESTDIR}"
cp -a chroot/boot/initrd.img-* "${DESTDIR}" 2>&1 || Echo_message "Skip installing missing initrd."
case "${LB_INITRAMFS}" in
live-boot)
if [ -e chroot/usr/share/doc/live-boot/parameters.txt ]
then
cp chroot/usr/share/doc/live-boot/parameters.txt "${DESTDIR}"/parameters
fi
;;
esac
# Creating stage file
Create_stagefile