setup (1882B)
1 #!/bin/sh 2 3 . ./common.sh 4 5 echo $CLFS_STAGE1 6 7 TARGET=$1 8 9 [ "${TARGET:-z}" = "z" ] && echo "No target specified!" && exit 1 10 11 # select a build target + build configuration 12 TARGET_EXISTS= 13 for ENTRY in ./targets/*; do 14 if [ -d $ENTRY -a "$(basename $ENTRY)" = "$TARGET" ]; then 15 TARGET_EXISTS=y 16 echo "Selected target: $TARGET" 17 fi 18 done 19 20 [ "${TARGET_EXISTS:-z}" = "z" ] && echo "Target $TARGET not found!" && exit 1 21 22 # write out shell includes for any environment variables 23 # TODO(mikolaj) 24 25 # create clfs build user + setup user bashrc with environment variables 26 groupadd clfs 27 useradd clfs -s /bin/bash -g clfs -m -k /dev/null 28 29 cat > /home/clfs/.bash_profile <<'EOF' 30 exec env -i HOME=${HOME} TERM=${TERM} PS1='\u:\w\$ ' /bin/bash 31 EOF 32 33 cat > /home/clfs/.bashrc <<'EOF' 34 set +h 35 umask 022 36 EOF 37 38 cat common.sh >> /home/clfs/.bashrc 39 40 # TODO(mikolaj): append shell includes to bashrc 41 # TODO(mikolaj): ensure CLFS_SYSROOT, CLFS_XSYSROOT and other important 42 # environment variables have been assigned 43 44 cat >> /home/clfs/.bashrc <<'EOF' 45 export CLFS_HOST="$(echo ${MACHTYPE} | sed "s/-[^-]*/-cross/")" 46 47 LC_ALL=POSIX 48 PATH=${CLFS_STAGE1}/bin:/bin:/usr/bin 49 export LC_ALL PATH 50 EOF 51 52 # create clfs build directory + subdirectories 53 mkdir $CLFS 54 chmod 755 $CLFS 55 56 mkdir $CLFS_CONFIGS $CLFS_SCRIPTS $CLFS_SOURCES $CLFS_LOGS 57 mkdif $CLFS_CONF $CLFS_INIT 58 mkdir $CLFS_STAGE1 $CLFS_STAGE2 $CLFS_STAGE3 $CLFS_STAGE4 59 chmod a+wt $CLFS/* 60 61 cp -r bootscripts/* $CLFS_INIT 62 cp -r configs/* $CLFS_CONF 63 cp -r stages/* $CLFS_SCRIPTS 64 chmod +x $CLFS_SCRIPTS/* 65 66 chown clfs:clfs $CLFS -R 67 68 # download sources and verify source signatures 69 cp wget-list.src $CLFS_SOURCES/wget-list 70 cp md5sums.src $CLFS_SOURCES/md5sums 71 72 OLD=$(pwd) 73 cd $CLFS_SOURCES 74 wget --input-file=wget-list --continue 75 md5sum -c md5sums 76 cd $OLD 77 78 # copy required source package build scripts to build directory 79 80 # create linux standard hierarchy (fs) for rootfs 81