X-Git-Url: https://git.grml.org/?p=grml-debootstrap.git;a=blobdiff_plain;f=chroot-script;h=5b9e518aad631c4922bfcf13154cbcbf31599f91;hp=3f557479557e0040059eafc562a84bd027339e6d;hb=2215f28a2a2e3cd66aca58cd5ecf1f2eb25269a5;hpb=91e39fcde40898c7b5f4d5a96e042ab02ea40af3 diff --git a/chroot-script b/chroot-script index 3f55747..5b9e518 100755 --- a/chroot-script +++ b/chroot-script @@ -55,9 +55,9 @@ stage() { askpass() { # read -s emulation for dash. result is in $resp. set -o noglob - stty -echo + [ -t 0 ] && stty -echo read resp - stty echo + [ -t 0 ] && stty echo set +o noglob } # }}} @@ -165,6 +165,40 @@ EOF } # }}} +# check available backports release version {{{ +checkbackports() { + wget -q -O/dev/null http://${BACKPORTSMIRROR}/dists/${RELEASE}-backports/Release +} +# }}} + +# feature to provide Debian backports repos {{{ +backportrepos() { + case "$RELEASE" in + squeeze) + BACKPORTSMIRROR="backports.debian.org/debian-backports" + ;; + *) + BACKPORTSMIRROR="http.debian.net/debian" + ;; + esac + if [ -n "$BACKPORTREPOS" ] ; then + if ! checkbackports ; then + echo "Backports for ${RELEASE} are not available." >&2 + exit 1 + else + # user might have provided their own apt sources.list + if ! grep -q backports /etc/apt/sources.list.d/backports.list 2>/dev/null ; then + cat >> /etc/apt/sources.list.d/backports.list << EOF +# debian backports: ${RELEASE}-backports repository: +deb http://${BACKPORTSMIRROR} ${RELEASE}-backports main +deb-src http://${BACKPORTSMIRROR} ${RELEASE}-backports main +EOF + fi + fi + fi +} +# }}} + # set up kernel-img.conf {{{ kernelimg_conf() { if ! [ -r /etc/kernel-img.conf ] ; then @@ -266,7 +300,7 @@ get_kernel_version() { fi case $ARCH in - i386) KARCH=i686 ;; + i386) KARCH=686 ;; amd64) KARCH=amd64 ;; *) echo "Only i386 and amd64 are currently supported" >&2 @@ -289,8 +323,10 @@ kernel() { KVER=$(get_kernel_version) if [ -n "$KVER" ] ; then # note: install busybox to be able to debug initramfs - KERNELPACKAGES="linux-image-$KVER linux-headers-$KVER busybox firmware-linux" + KERNELPACKAGES="linux-image-$KVER linux-headers-$KVER busybox firmware-linux-free firmware-linux" DEBIAN_FRONTEND=$DEBIAN_FRONTEND $APTINSTALL $KERNELPACKAGES + else + echo "Warning: Could not find a kernel for your system. Your system won't be able to boot itself!" fi } # }}} @@ -578,7 +614,7 @@ trap signal_handler HUP INT QUIT TERM # always execute install_policy_rcd install_policy_rcd - for i in chrootmirror grmlrepos kernelimg_conf \ + for i in chrootmirror grmlrepos backportrepos kernelimg_conf \ kernel packages extrapackages reconfigure hosts interfaces \ timezone fstab hostname initrd grub_install passwords \ custom_scripts upgrade_system remove_apt_cache services \