profiles: Add deb-based profile
This commit is contained in:
parent
d3aa97687e
commit
c15cd9627a
132
common.d/common.deb.sh
Normal file
132
common.d/common.deb.sh
Normal file
|
@ -0,0 +1,132 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
source ./common.d/functions.sh
|
||||||
|
source ./common.d/build_functions.sh
|
||||||
|
|
||||||
|
require "debootstarp"
|
||||||
|
|
||||||
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
|
fetch_base_system()
|
||||||
|
{
|
||||||
|
local rootdir="$1"
|
||||||
|
local branch="$2"
|
||||||
|
local components="$3"
|
||||||
|
local repo="$4"
|
||||||
|
local debootstrap_flags="$5"
|
||||||
|
|
||||||
|
[ ! -d "$rootdir" ] && {
|
||||||
|
log "Rootdir [$rootdir] does not exists" ierror
|
||||||
|
return 2
|
||||||
|
}
|
||||||
|
log "Fetching base system" internal
|
||||||
|
debootstarp --arch arm64 --components "$components" "$branch" "$rootdir" "$repo" || {
|
||||||
|
log "Failed to fetch base system" ierror
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
prepare_system()
|
||||||
|
{
|
||||||
|
local rootdir="$1"
|
||||||
|
[ ! -d "$rootdir" ] && {
|
||||||
|
log "Rootdir [$rootdir] does not exists" ierror
|
||||||
|
return 2
|
||||||
|
}
|
||||||
|
|
||||||
|
log "Refrashing apt repos" internal
|
||||||
|
chroot "$rootdir" apt update || {
|
||||||
|
log "Failed to refresh apt repos" ierror
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
log "Updating system" internal
|
||||||
|
chroot "$rootdir" apt upgrade -y || {
|
||||||
|
log "Failed to update system" ierror
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
setup_zram_generator()
|
||||||
|
{
|
||||||
|
local rootdir="$1"
|
||||||
|
[ ! -d "$rootdir" ] && {
|
||||||
|
log "Rootdir [$rootdir] does not exists" ierror
|
||||||
|
return 2
|
||||||
|
}
|
||||||
|
|
||||||
|
log "Installing systemd-zram-generator" install
|
||||||
|
chroot "$rootdir" apt install systemd-zram-generator -y || {
|
||||||
|
log "Failed to install systemd-zram-generator" ierror
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
log "Configuring zram-generator" internal
|
||||||
|
cp ./drop/zram-generator.conf "$rootdir/etc/systemd/zram-generator.conf" || {
|
||||||
|
log "Failed to confugire zram-generator" ierror
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
log "Enabling zram-generator" internal
|
||||||
|
chroot "$rootdir" systemctl enable systemd-zram-setup@zram0.service || {
|
||||||
|
log "Failed to enable zram-generator" ierror
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
install_nabu_packages()
|
||||||
|
{
|
||||||
|
local rootdir="$1"
|
||||||
|
[ ! -d "$rootdir" ] && {
|
||||||
|
log "Rootdir [$rootdir] does not exists" ierror
|
||||||
|
return 2
|
||||||
|
}
|
||||||
|
|
||||||
|
cp ./packages/*.deb "$rootdir/opt/"
|
||||||
|
chroot "$rootdir" bash -c "dpkg -i /opt/*.deb" {
|
||||||
|
log "Failed to install packages" ierror
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
chroot "$rootdir" bash -c "rm /opt/*.deb"
|
||||||
|
|
||||||
|
log "Enabling userspace services" internal
|
||||||
|
chroot "$rootdir" systemctl enable qrtr-ns pd-mapper tqftpserv rmtfs || {
|
||||||
|
log "Failed to enable services" ierror
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
install_packages()
|
||||||
|
{
|
||||||
|
local rootdir="$1"
|
||||||
|
local packages="${@:2}"
|
||||||
|
[ ! -d "$rootdir" ] && {
|
||||||
|
log "Rootdir [$rootdir] does not exists" ierror
|
||||||
|
return 2
|
||||||
|
}
|
||||||
|
|
||||||
|
chroot "$rootdir" apt install ${packages[*]} -y || {
|
||||||
|
log "Failed to install package(s)" ierror
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
finish_system()
|
||||||
|
{
|
||||||
|
local rootdir="$1"
|
||||||
|
[ ! -d "$rootdir" ] && {
|
||||||
|
log "Rootdir [$rootdir] does not exists" ierror
|
||||||
|
return 2
|
||||||
|
}
|
||||||
|
|
||||||
|
log "Cleaning apt cache" internal
|
||||||
|
chroot "$rootdir" apt clean || {
|
||||||
|
log "Failed to clean apt cache" ierror
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
log "Updating runtime linked bindings" internal
|
||||||
|
chroot "$rootdir" ldconfig || {
|
||||||
|
log "Failed to update runtime linker bindings" ierror
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue