1
0
mirror of https://github.com/lxc/lxc-templates.git synced 2025-01-04 04:40:14 +00:00

Merge pull request from elboulangero/kali-debian

Support for non-free-firmware for Kali and Debian
This commit is contained in:
Stéphane Graber 2024-02-01 11:06:28 +01:00 committed by GitHub
commit 690305afab
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 22 additions and 9 deletions

View File

@ -238,7 +238,14 @@ write_sourceslist()
if [ "$mainonly" = 1 ]; then if [ "$mainonly" = 1 ]; then
non_main='' non_main=''
else else
non_main=' contrib non-free' case "$release" in
wheezy|jessie|stretch|buster|bullseye)
non_main=' contrib non-free'
;;
*)
non_main=' contrib non-free non-free-firmware'
;;
esac
fi fi
cat >> "${rootfs}/etc/apt/sources.list" << EOF cat >> "${rootfs}/etc/apt/sources.list" << EOF
@ -684,8 +691,8 @@ Options :
-S, --auth-key=KEYFILE SSH public key to inject into the container as the root user. -S, --auth-key=KEYFILE SSH public key to inject into the container as the root user.
-a, --arch=ARCH The container architecture. Can be one of: i686, x86_64, -a, --arch=ARCH The container architecture. Can be one of: i686, x86_64,
amd64, armhf, armel, powerpc. Defaults to host arch. amd64, armhf, armel, powerpc. Defaults to host arch.
-r, --release=RELEASE Debian release. Can be one of: wheezy, jessie, stretch, buster, sid. -r, --release=RELEASE Debian release. Can be one of: wheezy, jessie, stretch, buster,
Defaults to current stable. bullseye, bookworm, trixie, sid. Defaults to current stable.
--mirror=MIRROR Debian mirror to use during installation. Overrides the MIRROR --mirror=MIRROR Debian mirror to use during installation. Overrides the MIRROR
environment variable (see below). environment variable (see below).
--keyring=KEYRING GPG keyring to authenticate the repository against. --keyring=KEYRING GPG keyring to authenticate the repository against.
@ -696,7 +703,7 @@ Options :
--packages=PACKAGE_NAME1,PACKAGE_NAME2,... --packages=PACKAGE_NAME1,PACKAGE_NAME2,...
List of additional packages to install. Comma separated, without space. List of additional packages to install. Comma separated, without space.
-c, --clean only clean up the cache and terminate -c, --clean only clean up the cache and terminate
--enable-non-free include also Debian's contrib and non-free repositories. --enable-non-free include also Debian's contrib, non-free and non-free-firmware repositories.
-I|--interpreter-path=INTERPRETER-PATH -I|--interpreter-path=INTERPRETER-PATH
Path of the binfmt interpreter to copy to the rootfs Path of the binfmt interpreter to copy to the rootfs
-F | --flush-cache Flush the debian release cache -F | --flush-cache Flush the debian release cache

View File

@ -224,13 +224,18 @@ write_sourceslist()
if [ "$mainonly" = 1 ]; then if [ "$mainonly" = 1 ]; then
non_main='' non_main=''
else else
non_main=' contrib non-free' non_main=' contrib non-free non-free-firmware'
fi fi
cat >> "${rootfs}/etc/apt/sources.list" << EOF cat >> "${rootfs}/etc/apt/sources.list" << EOF
${prefix} $MIRROR ${release} main${non_main} ${prefix} $MIRROR ${release} main${non_main}
EOF EOF
}
apt_update_packages(){
local apt_update_args="update"
chroot "${rootfs}" apt-get $apt_update_args
return $?
} }
install_packages() install_packages()
@ -238,9 +243,10 @@ install_packages()
local rootfs="$1"; shift local rootfs="$1"; shift
local packages="$*" local packages="$*"
chroot "${rootfs}" apt-get update if [ -n "${packages}" ] && apt_update_packages; then
if [ -n "${packages}" ]; then chroot "${rootfs}" apt-get install -y --no-install-recommends ${packages}
chroot "${rootfs}" apt-get install --force-yes -y --no-install-recommends ${packages} elif [ -n "${packages}" ]; then
echo "Apt update failed, not downloading packages"
fi fi
} }
@ -638,7 +644,7 @@ Options :
--packages=PACKAGE_NAME1,PACKAGE_NAME2,... --packages=PACKAGE_NAME1,PACKAGE_NAME2,...
List of additional packages to install. Comma separated, without space. List of additional packages to install. Comma separated, without space.
-c, --clean only clean up the cache and terminate -c, --clean only clean up the cache and terminate
--enable-non-free include also Kali's contrib and non-free repositories. --enable-non-free include also Kali's contrib, non-free and non-free-firmware repositories.
-I|--interpreter-path=INTERPRETER-PATH -I|--interpreter-path=INTERPRETER-PATH
Path of the binfmt interpreter to copy to the rootfs Path of the binfmt interpreter to copy to the rootfs
-F | --flush-cache Flush the kali release cache -F | --flush-cache Flush the kali release cache