Changeset 70427a2


Ignore:
Timestamp:
Aug 20, 2013 7:08:24 AM (8 months ago)
Author:
Kris Moore <kris@…>
Branches:
master, 9.2-release, releng/10.0, releng/10.0.1
Children:
8378d50
Parents:
0de3f5a
Message:

Update the linux install scripts from here:

https://github.com/freenas/freenas/commit/0e003b142cb3e1d54262f6d175e74231b4429045

Location:
src-sh/warden/linux-installs
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src-sh/warden/linux-installs/debian-6-squeeze

    r1620346 r70427a2  
    33# Author: Kris Moore <kris@pcbsd.org> 
    44 
    5 # Jail / chroot dir 
    6 jDIR="$1" 
     5SELF="debian-6-squeeze" 
     6SELFDIR="${JDIR}/.${SELF}" 
     7ERRORFILE="/tmp/.${SELF}.error" 
    78 
    8 # Target jail IP address 
    9 jIP="$2" 
     9get_distfiles() 
     10{ 
     11    rm -f "${ERRORFILE}" 
    1012 
    11 # Jail meta-directory 
    12 jMETA="$3" 
     13    if [ ! -d "${SELFDIR}" ] ; then 
     14      mkdir -p "${SELFDIR}" 
     15    fi 
     16} 
    1317 
    14 if [ ! -e "${jDIR}" ] ; then 
    15   mkdir -p "${jDIR}" 
    16 fi 
     18template_install() 
     19{ 
     20    rm -f "${ERRORFILE}" 
    1721 
    18 debootstrap squeeze ${jDIR} 
    19 err=$? 
     22    local TDIR="${1}" 
     23    if [ -z "${TDIR}" ] ; then  
     24      echo "TDIR is not defined" 
     25      touch "${ERRORFILE}"       
     26      exit 1 
     27    fi 
    2028 
    21 umount -f ${jDIR}/dev/fd >/dev/null 2>/dev/null 
    22 umount -f ${jDIR}/dev >/dev/null 2>/dev/null 
    23 umount -f ${jDIR}/sys >/dev/null 2>/dev/null 
    24 umount -f ${jDIR}/proc >/dev/null 2>/dev/null 
     29    debootstrap squeeze ${TDIR} 
    2530 
    26 # Fix log file 
    27 sed -i '' 's|/dev/xconsole|/var/log/xconsole|g' ${jDIR}/etc/rsyslog.conf 
     31    umount -f ${TDIR}/dev/fd >/dev/null 2>/dev/null 
     32    umount -f ${TDIR}/dev >/dev/null 2>/dev/null 
     33    umount -f ${TDIR}/sys >/dev/null 2>/dev/null 
     34    umount -f ${TDIR}/proc >/dev/null 2>/dev/null 
    2835 
    29 # Get rid of umount 
    30 mv ${jDIR}/sbin/umount ${jDIR}/sbin/umount.prev 
    31 ln -s /bin/true ${jDIR}/sbin/umount 
     36    # Fix log file 
     37    sed -i '' 's|/dev/xconsole|/var/log/xconsole|g' ${TDIR}/etc/rsyslog.conf 
    3238 
    33 # Setup some custom start / stop stuff 
    34 echo "/etc/init.d/rc 3" > ${jMETA}/jail-start 
    35 echo "/etc/init.d/rc 0" > ${jMETA}/jail-stop 
     39    # Get rid of umount 
     40    mv ${TDIR}/sbin/umount ${TDIR}/sbin/umount.prev 
     41    ln -s /bin/true ${TDIR}/sbin/umount 
     42} 
    3643 
    37 exit $err 
     44jail_configure() 
     45{ 
     46    rm -f "${ERRORFILE}" 
     47 
     48    local JMETADIR="${1}" 
     49    if [ -z "${JMETADIR}" ] ; then  
     50      echo "JMETADIR is not defined" 
     51      exit 1 
     52    fi 
     53 
     54    # Setup some custom start / stop stuff 
     55    echo "/etc/init.d/rc 3" > ${JMETADIR}/jail-start 
     56    echo "/etc/init.d/rc 0" > ${JMETADIR}/jail-stop 
     57} 
     58 
     59error() 
     60{ 
     61    if [ -f "${ERRORFILE}" ] ; then 
     62        rm -f "${ERRORFILE}" 
     63        return 1 
     64    fi 
     65 
     66    return 0 
     67} 
     68 
     69main() 
     70{ 
     71    case "${1}" in 
     72      get_distfiles) shift; get_distfiles "$@" ;;  
     73      template_install) shift; template_install "$@" ;; 
     74      jail_configure) shift; jail_configure "$@" ;; 
     75      error) shift; error "$@" ;; 
     76    esac 
     77 
     78    if [ "$?" != "0" ] ; then 
     79      touch "${ERRORFILE}" 
     80    fi 
     81} 
     82 
     83 
     84main "$@" 
  • src-sh/warden/linux-installs/gentoo-stage3-i486

    r1620346 r70427a2  
    33# Author: Kris Moore <kris@pcbsd.org> 
    44 
    5 # Jail / chroot dir 
    6 jDIR="$1" 
    7  
    8 # Target jail IP address 
    9 jIP="$2" 
    10  
    11 # Jail meta-directory 
    12 jMETA="$3" 
    13  
    14  
    15 if [ ! -e "${jDIR}" ] ; then 
    16   mkdir -p "${jDIR}" 
    17 fi 
    18  
     5SELF="gentoo-stage3-i486" 
     6SELFDIR="${JDIR}/.${SELF}" 
    197INDEXFILE="latest-stage3-i486.txt" 
    20 SUBDIR="releases/x86/autobuilds" 
    21 MASTER_SITE="http://ftp.roedu.net/pub/mirrors/gentoo.org/$SUBDIR/\n 
    22 http://distro.ibiblio.org/pub/linux/distributions/gentoo/$SUBDIR/\n 
    23 http://gentoo.mirrors.pair.com/$SUBDIR/\n 
    24 http://gentoo.chem.wisc.edu/gentoo/$SUBDIR/\n 
    25 http://adelie.polymtl.ca/$SUBDIR/\n 
    26 http://mirrors.tds.net/gentoo/$SUBDIR/\n 
    27 ftp://ftp.mirrorservice.org/sites/www.ibiblio.org/gentoo/$SUBDIR/\n 
    28 http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/$SUBDIR/\n 
    29 http://ftp.easynet.nl/mirror/gentoo/$SUBDIR/\n 
    30 http://ftp.snt.utwente.nl/pub/os/linux/gentoo/$SUBDIR/\n 
    31 http://trumpetti.atm.tut.fi/gentoo/$SUBDIR/\n 
    32 http://sunsite.cnlab-switch.ch/ftp/mirror/gentoo/$SUBDIR/\n 
    33 http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/$SUBDIR/\n 
    34 http://ftp.uni-erlangen.de/pub/mirrors/gentoo/$SUBDIR/\n 
    35 http://darkstar.ist.utl.pt/gentoo/$SUBDIR/\n 
    36 http://gentoo.inode.at/$SUBDIR/\n 
    37 http://ftp.rhnet.is/pub/gentoo/$SUBDIR/\n 
    38 http://gentoo.mirror.sdv.fr/$SUBDIR/\n 
    39 http://gentoo.gg3.net/$SUBDIR/\n 
    40 http://gentoo.kems.net/$SUBDIR/\n 
    41 ftp://ftp.gtlib.gatech.edu/pub/gentoo/$SUBDIR/\n 
    42 ftp://mirror.iawnet.sandia.gov/pub/gentoo/$SUBDIR/\n 
    43 ftp://ftp.ussg.iu.edu/pub/linux/gentoo/$SUBDIR/\n 
    44 ftp://ftp.ucsb.edu/pub/mirrors/linux/gentoo/$SUBDIR/\n 
    45 ftp://gentoo.mirrors.pair.com/$SUBDIR/\n 
    46 ftp://mirrors.tds.net/gentoo/$SUBDIR/\n 
    47 ftp://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/$SUBDIR/\n 
    48 ftp://ftp.easynet.nl/mirror/gentoo/$SUBDIR/\n 
    49 ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo/$SUBDIR/\n 
    50 ftp://trumpetti.atm.tut.fi/gentoo/$SUBDIR/\n 
    51 ftp://sunsite.cnlab-switch.ch/mirror/gentoo/$SUBDIR/\n 
    52 ftp://ftp.join.uni-muenster.de/pub/linux/distributions/gentoo/$SUBDIR/\n 
    53 ftp://ftp6.uni-muenster.de/pub/linux/distributions/gentoo/$SUBDIR/\n 
    54 ftp://ftp.tu-clausthal.de/pub/linux/gentoo/$SUBDIR/\n 
    55 ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo/$SUBDIR/\n 
    56 ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/$SUBDIR/\n 
    57 ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo/$SUBDIR/\n 
    58 ftp://darkstar.ist.utl.pt/pub/gentoo/$SUBDIR/\n 
    59 ftp://gentoo.inode.at/source/$SUBDIR/\n 
    60 ftp://ftp.rhnet.is/pub/gentoo/$SUBDIR/\n 
    61 ftp://files.gentoo.gr/$SUBDIR/\n 
    62 ftp://ftp.ecc.u-tokyo.ac.jp/GENTOO/$SUBDIR/\n 
    63 ftp://gentoo.kems.net/pub/mirrors/gentoo/$SUBDIR/" 
    64  
    65 echo -e $MASTER_SITE | while read url 
    66 do 
    67   echo "Trying to fetch index: ${url}${INDEXFILE}" 
    68   fetch -o ${INDEXFILE} ${url}${INDEXFILE} 
    69   if [ $? -eq 0 ] ; then 
    70      break 
    71   fi 
    72 done 
    73  
    74 ARCHIVEFILE="`cat ${INDEXFILE} | grep 'stage3'`" 
    75 DLFILE="`basename $ARCHIVEFILE`" 
    76 rm ${INDEXFILE} 
    77 if [ -z "$ARCHIVEFILE" ] ; then 
    78    echo "Failed to locate current archive" 
    79    exit 1 
    80 fi 
    81  
    82 echo -e $MASTER_SITE | while read url 
    83 do 
    84   echo "Fetching archive: ${url}${ARCHIVEFILE}" 
    85   fetch -o ${DLFILE} ${url}${ARCHIVEFILE} 
    86   if [ $? -eq 0 ] ; then 
    87      break 
    88   fi 
    89 done 
    90  
    91  
    92 if [ ! -e "${DLFILE}" ] ; then 
    93    echo "Failed to download.." 
    94    exit 1 
    95 fi 
    96  
    97 echo "Extracting Gentoo base...Please wait..." 
    98 tar --exclude=./dev -xpy --exclude=./proc --exclude=./lib/udev --exclude=./lib/udev-state -C ${jDIR} -f ${DLFILE} 
    99 err=$? 
    100 rm ${DLFILE} 
    101 mkdir ${jDIR}/dev >/dev/null 2>/dev/null 
    102 mkdir ${jDIR}/dev/fd >/dev/null 2>/dev/null 
    103 mkdir ${jDIR}/proc >/dev/null 2>/dev/null 
    104 mkdir ${jDIR}/sys >/dev/null 2>/dev/null 
    105  
    106 #@${FIND} ${PREFIX}/${PREFIX_SUBDIR}bin ${PREFIX}/${PREFIX_SUBDIR}sbin/ \ 
    107 #       ${PREFIX}/${PREFIX_SUBDIR}usr/bin ${PREFIX}/${PREFIX_SUBDIR}/usr/sbin \ 
    108 #       -type f -print0 | ${XARGS} -0 ${FILE} \ 
    109 #       | ${GREP} ELF | ${CUT} -d : -f 1 | ${XARGS} ${BRANDELF} -t Linux 
    110 #@${BRANDELF} -t Linux ${PREFIX}/${PREFIX_SUBDIR}/lib/ld-*.so 
    111  
    112 umount -f ${jDIR}/dev/fd >/dev/null 2>/dev/null 
    113 umount -f ${jDIR}/dev >/dev/null 2>/dev/null 
    114 umount -f ${jDIR}/sys >/dev/null 2>/dev/null 
    115 umount -f ${jDIR}/proc >/dev/null 2>/dev/null 
    116  
    117 # Get rid of umount 
    118 mv ${jDIR}/bin/umount ${jDIR}/bin/umount.prev 
    119 ln -s /bin/true ${jDIR}/bin/umount 
    120  
    121 # Setup some custom start / stop stuff 
    122 echo "/sbin/rc default" > ${jMETA}/jail-start 
    123 echo "/sbin/rc shutdown" > ${jMETA}/jail-stop 
    124  
    125 exit $err 
     8ERRORFILE="/tmp/.${SELF}.error" 
     9 
     10get_gentoo_mirrors() 
     11{ 
     12    local SUBDIR="releases/x86/autobuilds" 
     13 
     14    cat<<__EOF__ 
     15    http://ftp.roedu.net/pub/mirrors/gentoo.org/$SUBDIR/ 
     16    http://distro.ibiblio.org/pub/linux/distributions/gentoo/$SUBDIR/ 
     17    http://gentoo.mirrors.pair.com/$SUBDIR/ 
     18    http://gentoo.chem.wisc.edu/gentoo/$SUBDIR/ 
     19    http://adelie.polymtl.ca/$SUBDIR/ 
     20    http://mirrors.tds.net/gentoo/$SUBDIR/ 
     21    ftp://ftp.mirrorservice.org/sites/www.ibiblio.org/gentoo/$SUBDIR/ 
     22    http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/$SUBDIR/ 
     23    http://ftp.easynet.nl/mirror/gentoo/$SUBDIR/ 
     24    http://ftp.snt.utwente.nl/pub/os/linux/gentoo/$SUBDIR/ 
     25    http://trumpetti.atm.tut.fi/gentoo/$SUBDIR/ 
     26    http://sunsite.cnlab-switch.ch/ftp/mirror/gentoo/$SUBDIR/ 
     27    http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/$SUBDIR/ 
     28    http://ftp.uni-erlangen.de/pub/mirrors/gentoo/$SUBDIR/ 
     29    http://darkstar.ist.utl.pt/gentoo/$SUBDIR/ 
     30    http://gentoo.inode.at/$SUBDIR/ 
     31    http://ftp.rhnet.is/pub/gentoo/$SUBDIR/ 
     32    http://gentoo.mirror.sdv.fr/$SUBDIR/ 
     33    http://gentoo.gg3.net/$SUBDIR/ 
     34    http://gentoo.kems.net/$SUBDIR/ 
     35    ftp://ftp.gtlib.gatech.edu/pub/gentoo/$SUBDIR/ 
     36    ftp://mirror.iawnet.sandia.gov/pub/gentoo/$SUBDIR/ 
     37    ftp://ftp.ussg.iu.edu/pub/linux/gentoo/$SUBDIR/ 
     38    ftp://ftp.ucsb.edu/pub/mirrors/linux/gentoo/$SUBDIR/ 
     39    ftp://gentoo.mirrors.pair.com/$SUBDIR/ 
     40    ftp://mirrors.tds.net/gentoo/$SUBDIR/ 
     41    ftp://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/$SUBDIR/ 
     42    ftp://ftp.easynet.nl/mirror/gentoo/$SUBDIR/ 
     43    ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo/$SUBDIR/ 
     44    ftp://trumpetti.atm.tut.fi/gentoo/$SUBDIR/ 
     45    ftp://sunsite.cnlab-switch.ch/mirror/gentoo/$SUBDIR/ 
     46    ftp://ftp.join.uni-muenster.de/pub/linux/distributions/gentoo/$SUBDIR/ 
     47    ftp://ftp6.uni-muenster.de/pub/linux/distributions/gentoo/$SUBDIR/ 
     48    ftp://ftp.tu-clausthal.de/pub/linux/gentoo/$SUBDIR/ 
     49    ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo/$SUBDIR/ 
     50    ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/$SUBDIR/ 
     51    ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo/$SUBDIR/ 
     52    ftp://darkstar.ist.utl.pt/pub/gentoo/$SUBDIR/ 
     53    ftp://gentoo.inode.at/source/$SUBDIR/ 
     54    ftp://ftp.rhnet.is/pub/gentoo/$SUBDIR/ 
     55    ftp://files.gentoo.gr/$SUBDIR/ 
     56    ftp://ftp.ecc.u-tokyo.ac.jp/GENTOO/$SUBDIR/ 
     57    ftp://gentoo.kems.net/pub/mirrors/gentoo/$SUBDIR/ 
     58__EOF__ 
     59} 
     60 
     61get_gentoo_mirror_list() 
     62{ 
     63   local file="${1}" 
     64   local gentoo_mirrors="$(get_gentoo_mirrors)" 
     65 
     66   local mirrors= 
     67   for m in ${gentoo_mirrors} 
     68   do 
     69       mirrors="${mirrors} ${m}/${1}" 
     70   done 
     71 
     72   echo "${mirrors}" 
     73} 
     74 
     75get_linux_file() 
     76{ 
     77   local _rf="${1}" 
     78   local _lf="${2}" 
     79 
     80   local aDir="$(dirname $_lf)" 
     81   local aFile="$(basename $_lf)" 
     82 
     83   local astatfile="${HOME}/.${SELF}-aria-stat-i386" 
     84   if [ -e "${astatfile}" ] ; then 
     85     local astat="--server-stat-of=${astatfile} 
     86        --server-stat-if=${astatfile} 
     87        --uri-selector=adaptive 
     88        --server-stat-timeout=864000" 
     89   else 
     90     local astat=" --server-stat-of=${astatfile} --uri-selector=adaptive " 
     91   fi 
     92   touch $astatfile 
     93 
     94   local mirrors="$(get_gentoo_mirror_list ${1})" 
     95 
     96   aria2c -k 5M \ 
     97      ${astat} \ 
     98      --check-certificate=false \ 
     99      --file-allocation=none \ 
     100      -d ${aDir} \ 
     101      -o ${aFile} \ 
     102      ${mirrors} 
     103 
     104   return $? 
     105} 
     106 
     107get_dlfile_name() 
     108{ 
     109    local archivefile="`cat ${SELFDIR}/${INDEXFILE} | grep 'stage3'`" 
     110    local dlfile="`basename ${archivefile}`" 
     111 
     112    echo "${dlfile}" 
     113} 
     114 
     115get_distfiles() 
     116{ 
     117    rm -f "${ERRORFILE}" 
     118 
     119    if [ ! -d "${SELFDIR}" ] ; then 
     120      mkdir -p "${SELFDIR}" 
     121    fi 
     122 
     123    if [ ! -f "${SELFDIR}/${INDEXFILE}" ] ; then 
     124      echo "Trying to fetch index: ${INDEXFILE}" 
     125      get_linux_file "${INDEXFILE}" "${SELFDIR}/${INDEXFILE}" 
     126    fi 
     127 
     128    local archivefile="`cat ${SELFDIR}/${INDEXFILE} | grep 'stage3'`" 
     129    local dlfile="`basename ${archivefile}`" 
     130 
     131    if [ -z "${archivefile}" ] ; then 
     132      echo "Failed to locate current archive" 
     133      touch "${ERRORFILE}"       
     134      exit 1 
     135    fi 
     136 
     137    if [ ! -f "${SELFDIR}/${dlfile}" ] ; then 
     138      echo "Fetching archive: ${archivefile}" 
     139      get_linux_file "${archivefile}" "${SELFDIR}/${dlfile}" 
     140    fi 
     141 
     142    if [ ! -e "${SELFDIR}/${dlfile}" ] ; then 
     143      echo "Failed to download.." 
     144      touch "${ERRORFILE}"       
     145      exit 1 
     146    fi 
     147} 
     148 
     149template_install() 
     150{ 
     151    rm -f "${ERRORFILE}" 
     152 
     153    local TDIR="${1}" 
     154    if [ -z "${TDIR}" ] ; then  
     155      echo "TDIR is not defined" 
     156      exit 1 
     157    fi 
     158 
     159    get_distfiles "$@" 
     160 
     161    local dlfile="$(get_dlfile_name)" 
     162    if [ -z "${dlfile}" ] ; then  
     163      touch "${ERRORFILE}"       
     164      exit 1 
     165    fi 
     166 
     167    echo "Extracting Gentoo base...Please wait..." 
     168    tar --exclude=./dev -xpy --exclude=./proc --exclude=./lib/udev \ 
     169        --exclude=./lib/udev-state -C ${TDIR} -f "${SELFDIR}/${dlfile}" 
     170    err=$? 
     171 
     172    mkdir ${TDIR}/dev >/dev/null 2>/dev/null 
     173    mkdir ${TDIR}/dev/fd >/dev/null 2>/dev/null 
     174    mkdir ${TDIR}/proc >/dev/null 2>/dev/null 
     175    mkdir ${TDIR}/sys >/dev/null 2>/dev/null 
     176 
     177    umount -f ${TDIR}/dev/fd >/dev/null 2>/dev/null 
     178    umount -f ${TDIR}/dev >/dev/null 2>/dev/null 
     179    umount -f ${TDIR}/sys >/dev/null 2>/dev/null 
     180    umount -f ${TDIR}/proc >/dev/null 2>/dev/null 
     181 
     182    # Get rid of umount 
     183    mv ${TDIR}/bin/umount ${TDIR}/bin/umount.prev 
     184    ln -s /bin/true ${TDIR}/bin/umount 
     185 
     186    return $err 
     187} 
     188 
     189jail_configure() 
     190{ 
     191    rm -f "${ERRORFILE}" 
     192 
     193    local JMETADIR="${1}" 
     194    if [ -z "${JMETADIR}" ] ; then  
     195      echo "JMETADIR is not defined" 
     196      touch "${ERRORFILE}"       
     197      exit 1 
     198    fi 
     199 
     200    # Setup some custom start / stop stuff 
     201    echo "/sbin/rc default" > ${JMETADIR}/jail-start 
     202    echo "/sbin/rc shutdown" > ${JMETADIR}/jail-stop 
     203} 
     204 
     205error() 
     206{ 
     207    if [ -f "${ERRORFILE}" ] ; then 
     208        rm "${ERRORFILE}" 
     209        return 1 
     210    fi 
     211 
     212    return 0 
     213} 
     214 
     215main() 
     216{ 
     217    case "${1}" in 
     218      get_distfiles) shift; get_distfiles "$@" ;;  
     219      template_install) shift; template_install "$@" ;; 
     220      jail_configure) shift; jail_configure "$@" ;; 
     221      error) shift; error "$@" ;; 
     222    esac 
     223 
     224    if [ "$?" != "0" ] ; then 
     225      touch "${ERRORFILE}" 
     226    fi 
     227} 
     228 
     229 
     230main "$@" 
Note: See TracChangeset for help on using the changeset viewer.