Compare commits
22 Commits
v1.00
...
v1.07-ALPH
| Author | SHA1 | Date | |
|---|---|---|---|
| 59709f139e | |||
| f549d24977 | |||
| 904d644990 | |||
| 745cda0357 | |||
| 3a5914faca | |||
| 0162513827 | |||
| 599a2fcbe2 | |||
| 1dcbe73c7b | |||
| 3133e4a962 | |||
| 66323730f9 | |||
| 42fe9ece4e | |||
| 14d587827a | |||
| 4516168d99 | |||
| 065db383a2 | |||
| a7b777ce40 | |||
| 9e036e250e | |||
| f7e76b2fa6 | |||
| 6322d57008 | |||
| 90b5fc0e0d | |||
| 08672eab3a | |||
| 196b7b99ff | |||
| 57c38aa9e1 |
1
TODO
1
TODO
@@ -10,6 +10,7 @@
|
|||||||
-WISH: locked-down VPN?
|
-WISH: locked-down VPN?
|
||||||
-autodetection/configuration of network. DHCP is currently running by default, but does it need to support IPv6? if so, how would the user configure their network?
|
-autodetection/configuration of network. DHCP is currently running by default, but does it need to support IPv6? if so, how would the user configure their network?
|
||||||
-WISH: support iPXE? would save on ISO file size (letting us create MUCH bigger squash systems), but the downside is we lose EFI support and it requires a working network configuration- which defeats the purpose of a diagnostic disc.
|
-WISH: support iPXE? would save on ISO file size (letting us create MUCH bigger squash systems), but the downside is we lose EFI support and it requires a working network configuration- which defeats the purpose of a diagnostic disc.
|
||||||
|
-SECURE SSH: https://stribika.github.io/2015/01/04/secure-secure-shell.html
|
||||||
|
|
||||||
|
|
||||||
## Building ##
|
## Building ##
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ for i in ${ROOTDIR} ${CHROOTDIR32} ${CHROOTDIR64} ${BUILDDIR}32 ${BUILDDIR}64 ${
|
|||||||
do
|
do
|
||||||
if [ ! -d ${i} ];
|
if [ ! -d ${i} ];
|
||||||
then
|
then
|
||||||
echo "${i} does not exist - creating."
|
#echo "${i} does not exist - creating."
|
||||||
mkdir -p ${i}
|
mkdir -p ${i}
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|||||||
BIN
extra/bootstrap/apacman-1.2-2-any.pkg.tar.xz
Normal file
BIN
extra/bootstrap/apacman-1.2-2-any.pkg.tar.xz
Normal file
Binary file not shown.
@@ -71,7 +71,7 @@ RSYNC_DEST="${BASEDIR}"
|
|||||||
# Note that the code appends, rather than replaces, logs- hence the timestamp in EPOCH time format.
|
# Note that the code appends, rather than replaces, logs- hence the timestamp in EPOCH time format.
|
||||||
LOGFILE="${BASEDIR}/logs/$(date +%s)"
|
LOGFILE="${BASEDIR}/logs/$(date +%s)"
|
||||||
|
|
||||||
# What should the regular username be? (Automatically logged in on boot)
|
# What should the regular username be? (Can be automatically logged in on boot; see below)
|
||||||
REGUSR="${UXNAME}"
|
REGUSR="${UXNAME}"
|
||||||
|
|
||||||
# Should the REGUSR have a password? IF THIS IS NOT SET, PASSWORD LOGIN WILL BE DISABLED!
|
# Should the REGUSR have a password? IF THIS IS NOT SET, PASSWORD LOGIN WILL BE DISABLED!
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# Server list generated by rankmirrors on 2014-11-10
|
# Server list generated by rankmirrors on 2015-02-01
|
||||||
Server = http://mirror.rit.edu/archlinux/$repo/os/$arch
|
|
||||||
Server = http://mirror.cc.columbia.edu/pub/linux/archlinux/$repo/os/$arch
|
|
||||||
Server = http://mirrors.acm.wpi.edu/archlinux/$repo/os/$arch
|
Server = http://mirrors.acm.wpi.edu/archlinux/$repo/os/$arch
|
||||||
|
Server = http://mirror.yellowfiber.net/archlinux/$repo/os/$arch
|
||||||
|
Server = http://mirrors.advancedhosters.com/archlinux/$repo/os/$arch
|
||||||
|
Server = http://mirror.umd.edu/archlinux/$repo/os/$arch
|
||||||
Server = http://mirror.jmu.edu/pub/archlinux/$repo/os/$arch
|
Server = http://mirror.jmu.edu/pub/archlinux/$repo/os/$arch
|
||||||
Server = http://mirror.cs.pitt.edu/archlinux/$repo/os/$arch
|
Server = http://mirror.cs.pitt.edu/archlinux/$repo/os/$arch
|
||||||
Server = http://mirror.vtti.vt.edu/archlinux/$repo/os/$arch
|
|
||||||
|
|||||||
@@ -89,6 +89,6 @@ Include = /etc/pacman.d/mirrorlist
|
|||||||
#SigLevel = Optional TrustAll
|
#SigLevel = Optional TrustAll
|
||||||
#Server = file:///home/custompkgs
|
#Server = file:///home/custompkgs
|
||||||
|
|
||||||
[archlinuxfr]
|
#[archlinuxfr]
|
||||||
SigLevel = Never
|
#SigLevel = Never
|
||||||
Server = http://repo.archlinux.fr/$arch
|
#Server = http://repo.archlinux.fr/$arch
|
||||||
|
|||||||
@@ -98,6 +98,6 @@ Include = /etc/pacman.d/mirrorlist
|
|||||||
#SigLevel = Optional TrustAll
|
#SigLevel = Optional TrustAll
|
||||||
#Server = file:///home/custompkgs
|
#Server = file:///home/custompkgs
|
||||||
|
|
||||||
[archlinuxfr]
|
#[archlinuxfr]
|
||||||
SigLevel = Never
|
#SigLevel = Never
|
||||||
Server = http://repo.archlinux.fr/$arch
|
#Server = http://repo.archlinux.fr/$arch
|
||||||
|
|||||||
@@ -1,89 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
# change some versions around
|
|
||||||
sed -i -e 's/^\(pkgbase=linux[[:space:]]*\)/#\1/g' ${1}
|
|
||||||
sed -i -e 's/^#\(pkgbase=linux-\)custom.*$/\1BDisk/g' ${1}
|
|
||||||
sed -i -e '/^_kernelname/a KERNVER=$(echo ${pkgver} | sed -e "s/\\\([0-9]\\\.[0-9]*\\\).*$/\\\1/")' ${1}
|
|
||||||
sed -i -e "s/^\(makedepends=.*\))$/\1 'rsync' 'git')/g" ${1}
|
|
||||||
##cp linux.preset linux-BDisk.preset
|
|
||||||
##sed -i -e 's#^[[:space:]]*install\ -D\ -m644\ "${srcdir}/linux.preset".*$#install -D -m644 "${srcdir}/linux-BDisk.preset" "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset"#g' ${1}
|
|
||||||
##sed -i -e "s/\ 'fallback'//g" \
|
|
||||||
##-e '/^fallback/d' \
|
|
||||||
##-e '/^$/d' \
|
|
||||||
##-e '/^[[:space:]]*$/d' \
|
|
||||||
##-e 's#^\(default_image="/boot/initramfs-linux\).*#\1-BDisk"/g' linux-BDisk.preset
|
|
||||||
##-e 's/^\(ALL_kver="/boot/vmlinuz-linux\)\(.*\)/\1-BDisk\2/g' linux-BDisk.preset
|
|
||||||
|
|
||||||
# add source for aufs3
|
|
||||||
## 12.07.2014 - remove the "git checkout <SPECIFIC COMMIT HASH>" once a bug is fixed. currently fails with:
|
|
||||||
## LD fs/aufs/built-in.o
|
|
||||||
## CC [M] fs/aufs/module.o
|
|
||||||
##In file included from fs/aufs/module.c:24:0:
|
|
||||||
##fs/aufs/inode.h:307:12: error: function declaration isn't a prototype
|
|
||||||
##[-Werror=strict-prototypes]
|
|
||||||
## AuStubInt0(au_cpup_xattr, h_dst, h_src, ignore_flags)
|
|
||||||
## ^
|
|
||||||
##fs/aufs/aufs.h:28:21: note: in definition of macro 'AuStub'
|
|
||||||
## static inline type name(__VA_ARGS__) { body; }
|
|
||||||
## ^
|
|
||||||
##fs/aufs/inode.h:307:1: note: in expansion of macro 'AuStubInt0'
|
|
||||||
## AuStubInt0(au_cpup_xattr, h_dst, h_src, ignore_flags)
|
|
||||||
## ^
|
|
||||||
##cc1: some warnings being treated as errors
|
|
||||||
##scripts/Makefile.build:257: recipe for target 'fs/aufs/module.o' failed
|
|
||||||
##make[2]: *** [fs/aufs/module.o] Error 1
|
|
||||||
##scripts/Makefile.build:404: recipe for target 'fs/aufs' failed
|
|
||||||
##make[1]: *** [fs/aufs] Error 2
|
|
||||||
##Makefile:929: recipe for target 'fs' failed
|
|
||||||
##make: *** [fs] Error 2
|
|
||||||
sed -i -e '/^prepare()\ {/a\
|
|
||||||
\ git clone git:\/\/aufs.git.sourceforge.net\/gitroot\/aufs\/aufs3-standalone.git aufs3 > \/dev\/null 2>&1\
|
|
||||||
\ cd aufs3\
|
|
||||||
\ git checkout aufs${KERNVER} > \/dev\/null 2>&1\
|
|
||||||
\ git checkout c75f6dddc1c58950c76cc1581e4b4c7ac8365bff > \/dev\/null 2>&1\
|
|
||||||
\ cd ..\/' ${1}
|
|
||||||
#sed -i -e 's/^\(_kernelname=\).*$/\1"-BDisk"/' ${1}
|
|
||||||
sed -i -e '/^[[:space:]]*patch.*pkgver}"$/i rsync -a ../aufs3/Documentation/. Documentation/. ; rsync -a ../aufs3/fs/. fs/. ; cp -a ../aufs3/include/uapi/linux/aufs_type.h include/uapi/linux/. \
|
|
||||||
\ for i in $(ls -1 ../aufs3/*.patch) ; do patch -p1 -i ../aufs3/${i} ; done' ${1}
|
|
||||||
# and we need to be sure to build aufs3-util
|
|
||||||
#sed -i -e '/^[[:space:]]*install\ -D\ -m644\ vmlinux.*$/a\
|
|
||||||
#\ git clone git:\/\/git.code.sf.net\/p\/aufs\/aufs-util > \/dev\/null 2>&1\
|
|
||||||
#\ cd aufs-util\
|
|
||||||
#\ UTILVER=$(git branch -a | grep -v master | sort -nr | grep -v rcN | head -n1 | cut -f3 -d"\/")\
|
|
||||||
#\ git checkout ${UTILVER} > \/dev\/null 2>&1\
|
|
||||||
#\ make' ${1}
|
|
||||||
|
|
||||||
# and configure the kernel. this gets messy.
|
|
||||||
#-e "s/^#[[:space:]]\\\(CONFIG_AUFS_FS\\\).*$/\\\1=m/g" \\\
|
|
||||||
sed -i -e '/^[[:space:]]*make\ prepare.*$/i yes "" | make olddefconfig >/dev/null' ${1}
|
|
||||||
sed -i -e '/^[[:space:]]*make\ prepare.*$/a sed -i \\\
|
|
||||||
-e "s/^#[[:space:]]\\\(CONFIG_AUFS_FS\\\).*$/\\\1=y/g" \\\
|
|
||||||
-e "s/^#[[:space:]]\\\(CONFIG_AUFS_BRANCH_MAX_127\\\).*$/\\\1=y/g" \\\
|
|
||||||
-e "s/^#[[:space:]]\\\(CONFIG_AUFS_SBILIST\\\).*$/\\\1=y/g" \\\
|
|
||||||
-e "s/^#[[:space:]]\\\(CONFIG_AUFS_HNOTIFY\\\).*$/\\\1=y/g" \\\
|
|
||||||
-e "s/^#[[:space:]]\\\(CONFIG_AUFS_HFSNOTIFY\\\).*$/\\\1=y/g" \\\
|
|
||||||
-e "s/^#[[:space:]]\\\(CONFIG_AUFS_EXPORT\\\).*$/\\\1=y/g" \\\
|
|
||||||
-e "s/^#[[:space:]]\\\(CONFIG_AUFS_INO_T_64\\\).*$/\\\1=y/g" \\\
|
|
||||||
-e "s/^#[[:space:]]\\\(CONFIG_AUFS_FHSM\\\).*$/\\\1=y/g" \\\
|
|
||||||
-e "s/^#[[:space:]]\\\(CONFIG_AUFS_RDU\\\).*$/\\\1=y/g" \\\
|
|
||||||
-e "s/^#[[:space:]]\\\(CONFIG_AUFS_BDEV_LOOP\\\).*$/\\\1=y/g" \\\
|
|
||||||
-e "s/^#[[:space:]]\\\(AUFS_BRANCH_MAX_511\\\).*$/\\\1=n/g" \\\
|
|
||||||
-e "s/^#[[:space:]]\\\(AUFS_BRANCH_MAX_1023\\\).*$/\\\1=n/g" \\\
|
|
||||||
-e "s/^#[[:space:]]\\\(AUFS_BRANCH_MAX_32767\\\).*$/\\\1=n/g" ${srcdir}/../config{,.x86_64}' ${1}
|
|
||||||
# yes, we have to do this twice. with a hammer.
|
|
||||||
sed -i -e '/^[[:space:]]*make\ prepare.*$/a sed -i \\\
|
|
||||||
-e "s/^#[[:space:]]\\\(CONFIG_AUFS_FS\\\).*$/\\\1=m/g" \\\
|
|
||||||
-e "s/^#[[:space:]]\\\(CONFIG_AUFS_BRANCH_MAX_127\\\).*$/\\\1=y/g" \\\
|
|
||||||
-e "s/^#[[:space:]]\\\(CONFIG_AUFS_SBILIST\\\).*$/\\\1=y/g" \\\
|
|
||||||
-e "s/^#[[:space:]]\\\(CONFIG_AUFS_HNOTIFY\\\).*$/\\\1=y/g" \\\
|
|
||||||
-e "s/^#[[:space:]]\\\(CONFIG_AUFS_HFSNOTIFY\\\).*$/\\\1=y/g" \\\
|
|
||||||
-e "s/^#[[:space:]]\\\(CONFIG_AUFS_EXPORT\\\).*$/\\\1=y/g" \\\
|
|
||||||
-e "s/^#[[:space:]]\\\(CONFIG_AUFS_INO_T_64\\\).*$/\\\1=y/g" \\\
|
|
||||||
-e "s/^#[[:space:]]\\\(CONFIG_AUFS_FHSM\\\).*$/\\\1=y/g" \\\
|
|
||||||
-e "s/^#[[:space:]]\\\(CONFIG_AUFS_RDU\\\).*$/\\\1=y/g" \\\
|
|
||||||
-e "s/^#[[:space:]]\\\(CONFIG_AUFS_BDEV_LOOP\\\).*$/\\\1=y/g" \\\
|
|
||||||
-e "s/^#[[:space:]]\\\(AUFS_BRANCH_MAX_511\\\).*$/\\\1=n/g" \\\
|
|
||||||
-e "s/^#[[:space:]]\\\(AUFS_BRANCH_MAX_1023\\\).*$/\\\1=n/g" \\\
|
|
||||||
-e "s/^#[[:space:]]\\\(AUFS_BRANCH_MAX_32767\\\).*$/\\\1=n/g" .config' ${1}
|
|
||||||
sed -i -e 's/^\([[:space:]]*yes\ ""\ |\ \)make\ config/\1make olddefconfig/' ${1}
|
|
||||||
# and we have to edit the linux.install as well.
|
|
||||||
sed -i -e 's/^\(KERNEL_NAME=\).*$/\1-BDisk/g' linux.install*
|
|
||||||
90
extra/pre-build.d/etc/issue
Normal file
90
extra/pre-build.d/etc/issue
Normal file
@@ -0,0 +1,90 @@
|
|||||||
|
[H[J
|
||||||
|
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW0dc,.. ..;cxKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
|
||||||
|
MMMMMMMMMMMMMMMMMMMMMMMMW0d:'. .,cx0WMMMMMMMMMMMMMMMMMMMMMMMM
|
||||||
|
MMMMMMMMMMMMMMMMMMMMNx:. .';cldxkkOOOOkkxdl:,.. .ckNMMMMMMMMMMMMMMMMMMMM
|
||||||
|
MMMMMMMMMMMMMMMMMKl. .;okKXXXXXXXXXXXXXXXXXXXXXX0xl;. 'oXMMMMMMMMMMMMMMMMM
|
||||||
|
MMMMMMMMMMMMMMXl. .:d0XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0d;. .dNMMMMMMMMMMMMMM
|
||||||
|
MMMMMMMMMMMM0; .cOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXKk: :KMMMMMMMMMMMM
|
||||||
|
MMMMMMMMMMO' 'xKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXKd. ,KMMMMMMMMMM
|
||||||
|
MMMMMMMMX, ,OXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx' :NMMMMMMMM
|
||||||
|
MMMMMMMd .kXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXd. .kMMMMMMM
|
||||||
|
MMMMMN' oKKxl:;,;:lkKXXXXXXXXXXXXXXXXXXXXXXXX0dl:;,;:ld0XXXXXXXXXXKc ;WMMMMM
|
||||||
|
MMMMK. .O0; ':ool:. ;kXXXXXXXXXXXXXXXXXXX0l. .,coooc' .c0XXXXXXXXXk. .NMMMM
|
||||||
|
MMMK. 'Kx cNMMMMK. ,0XXXXXXXXXXXXXXXKc :0MMMMMMk. cKXXXXXXXX0. .NMMM
|
||||||
|
MMN. 'Kd kMMMMMM' .OXXXXXXXXXXXXX0. 'XMMMMMMMN 'KXXXXXXXX0. .WMM
|
||||||
|
MW. .K0 xMMMMMMMd .KXXXXXXXXXXXK' ;WMMMMMMMMM: 'KXXXXXXXX0. ;MM
|
||||||
|
Mo OXc .MMMMMMMMMXo:;ckN. dXXXXXXXXXXXd NMMMMMMMMMMM0l::l0N dXXXXXXXXXx xM
|
||||||
|
N :XX, :MMMMMMMMMMMMMMMM; :XXXXXXXXXXX; ,MMMMMMMMMMMMMMMMMMM' :XXXXXXXXXX, .M
|
||||||
|
d OXX; ,MMMMMMMMMMMMMMMM, :XXXXXXXXXXX: ,MMMMMMMMMMMMMMMMMMM' :XXXXXXXXXXx O
|
||||||
|
, .XXXx dxxxxxxxxxxxxxxd xXXXXXXXXXXXx dxxxxxxxxxxxxxxxxxd xXXXXXXXXXXK. c
|
||||||
|
. :XXXXc'''''''''''''''''':XXXXXXXXXXXXXc'''''''''''''''''''''cXXXXXXXXXXXX, '
|
||||||
|
lXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX: .
|
||||||
|
lXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX; .
|
||||||
|
. :XXXXXK0000000000000000000000000000000000000000000000000000KXXXXXXXXXXXXX, '
|
||||||
|
, .XXXXXk .KXXXXXXXXXXXK. c
|
||||||
|
x OXXXXXKKo .............................................. lXXXXXXXXXXXx 0
|
||||||
|
W. ;XXXXXXXO ............................................... .XXXXXXXXXXX' .M
|
||||||
|
Md kXXXXXXX, .............................................. KXXXXXXXXXd OM
|
||||||
|
MM, .0XXXXXX0. .............................................. KXXXXXXXXO cMM
|
||||||
|
MMN. .KXXXXXXk ............................................ ;XXXXXXXX0. ,WMM
|
||||||
|
MMMX. .0XXXXXXk .........................'''............... .0XXXXXXXO. 'WMMM
|
||||||
|
MMMMX. .kXXXXXXO. .................,cdkO0KKK0Oxo:'........ .kXXXXXXXd ,WMMMM
|
||||||
|
MMMMMW; cKXXXXXK; .............'ckKKKKKKKKKKKKKK0x;.... '0XXXXXX0; cWMMMMM
|
||||||
|
MMMMMMMk. .dXXXXXXx. ..........:OKKKKKKKKKKKKKKKKKKKo. .oXXXXXXKl .0MMMMMMM
|
||||||
|
MMMMMMMMNc .xXXXXXKo. .......lKKKKKKKKKKKKKKKKKK0o' .dKXXXXXKd. lWMMMMMMMM
|
||||||
|
MMMMMMMMMMK; .oKXXXXKd' ...:KKKKKKKKKKKKKKK0xc' .:kXXXXXX0l. cXMMMMMMMMMM
|
||||||
|
MMMMMMMMMMMMXc ;xKXXXX0o,. .;ldxkkOkkxol:'. .,lOXXXXXXKd, .lNMMMMMMMMMMMM
|
||||||
|
MMMMMMMMMMMMMMWx, ,lOXXXXX0xl:,.........';cok0XXXXXXKkl' ;kWMMMMMMMMMMMMMM
|
||||||
|
MMMMMMMMMMMMMMMMMNx, .'cdOKXXXXXXXXXXXXXXXXXXXXKOd:' ;kWMMMMMMMMMMMMMMMMM
|
||||||
|
MMMMMMMMMMMMMMMMMMMMW0o, .';:loddxxxxddol:,.. .,o0MMMMMMMMMMMMMMMMMMMMM
|
||||||
|
MMMMMMMMMMMMMMMMMMMMMMMMMXko:'. .':oONMMMMMMMMMMMMMMMMMMMMMMMMM
|
||||||
|
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW0dc;'......,:lx0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
|
||||||
|
':ox0KXXK0koc'.
|
||||||
|
.;ok000kxollcccclodxOKXKko;.
|
||||||
|
;d00dc'. .;lkXKd;.
|
||||||
|
.o0Oc. .,codkO0KKKKK0Okxdl;'. .;dXKo'
|
||||||
|
.oKx, .:d0XXXXXXXXXXXXXXXXXXXXXXXKkl,. .c0Nd.
|
||||||
|
,0O; .:xKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXOl' .oN0;
|
||||||
|
;Kx. ;xKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0l. :KX:
|
||||||
|
,Kx. .lKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXk, ;XX,
|
||||||
|
k0. .oKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXO, oWO.
|
||||||
|
,No :KXX0Okk0XXXXXXXXXXXXXXXXXXXXXXXXXXXK0Okk0KXXXXXXXXXXXk. .KW;
|
||||||
|
cN, .kKl' ... 'l0XXXXXXXXXXXXXXXXXXXXk:. ... .;dKXXXXXXXXK: kMo
|
||||||
|
oN. '0d. c0WMMWo ;0XXXXXXXXXXXXXXXKo. 'dKWMMMX, .cKXXXXXXXXo xMd
|
||||||
|
lW. 'Kl .KMMMMM: xXXXXXXXXXXXXX0' ,KMMMMMMM. .OXXXXXXXXx xMd
|
||||||
|
;M; .Kd .NMMMMMMl kXXXXXXXXXXXK. lMMMMMMMMM. .OXXXXXXXXd 0M:
|
||||||
|
Nx 0X. dMMMMMMMMk;..;dl 'XXXXXXXXXXXc 'MMMMMMMMMMWd,..:Oc ,XXXXXXXXX: .WW.
|
||||||
|
dW. lXK KMMMMMMMMMMMMMMK KXXXXXXXXXX. dMMMMMMMMMMMMMMMMM0 KXXXXXXXXK. dMk
|
||||||
|
Wx KXK 0MMMMMMMMMMMMMMK KXXXXXXXXXX. xMMMMMMMMMMMMMMMMM0 KXXXXXXXXXc .MM.
|
||||||
|
:M; ;XXX; ,xxxxxxxxxxxxxx: 'XXXXXXXXXXXc 'xxxxxxxxxxxxxxxxx; ,XXXXXXXXXXO KMl
|
||||||
|
xM. oXXX0,,,,,,,,,,,,,,,,,,kXXXXXXXXXXXK;,,,,,,,,,,,,,,,,,,,,OXXXXXXXXXXX. xMO
|
||||||
|
0M xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX. oMK
|
||||||
|
0M dXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX. oMK
|
||||||
|
xM. lXXXXXkdddddddddddddddddddddddddddddddddddddddddddddddddKXXXXXXXXXXXK kMk
|
||||||
|
:Mc 'XXXXXc'. :XXXXXXXXXXXx XMc
|
||||||
|
W0 OXXXXXX0 ............................................ OXXXXXXXXXX; ,MM.
|
||||||
|
oM' ,XXXXXXX, ............................................ oXXXXXXXXXO 0Mx
|
||||||
|
NK dXXXXXXO ........................................... lXXXXXXXXK. ;MN.
|
||||||
|
,Md kXXXXXXd .......................................... xXXXXXXXX; .NM;
|
||||||
|
cMl kXXXXXXo ......................................... .KXXXXXXK; .XMl
|
||||||
|
lMl dXXXXXXd ..................':lodxxdol:'......... .0XXXXXXK' .XMo
|
||||||
|
:Wx :KXXXXXk. ..............,lkKKKKKKKKKKKKkc'.... .0XXXXXXk. 'NMc
|
||||||
|
.XK. .xXXXXXK: ..........'oKKKKKKKKKKKKKKKKK0l.. lKXXXXX0; oMN'
|
||||||
|
dWo .xXXXXXO; .......,OKKKKKKKKKKKKKKKKKkc. .c0XXXXX0c 'KMx
|
||||||
|
.0Nc .oKXXXXO:. ...'0KKKKKKKKKKKKKK0d:. ,xKXXXXXO: .OM0'
|
||||||
|
,0No. ;xKXXXKx:. .;ldxkOOkkxol;'. 'cxKXXXXX0l. ,OMK;
|
||||||
|
'kWk, ,o0XXXXKko:,.........,:ldOKXXXXXKkc. .lXMO,
|
||||||
|
.cKNx; .,cxOKXXXXXXXXXXXXXXXXXXKko:. .lKMKl.
|
||||||
|
.cOWKd;. ..,;cllooollc:;'. 'ckNM0c.
|
||||||
|
'lONW0xl;.. .,:okXMNOo,
|
||||||
|
.,cdOXWMWNXKK00KKXNMMWXOdc,.
|
||||||
|
.,cokO00Okdc,.
|
||||||
|
|
||||||
|
|
||||||
|
[H[J
|
||||||
|
|
||||||
|
bdisk
|
||||||
|
\d \t
|
||||||
|
\4
|
||||||
|
\4{tun0}
|
||||||
|
http://bdisk.square-r00t.net/
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
# run. Advanced users may wish to specify all system modules
|
# run. Advanced users may wish to specify all system modules
|
||||||
# in this array. For instance:
|
# in this array. For instance:
|
||||||
# MODULES="piix ide_disk reiserfs"
|
# MODULES="piix ide_disk reiserfs"
|
||||||
MODULES="aufs ata_generic ata_piix loop nls_cp437 ext4 raid456 vfat netconsole"
|
MODULES="overlay ata_generic ata_piix loop nls_cp437 ext4 raid456 vfat netconsole"
|
||||||
|
|
||||||
# BINARIES
|
# BINARIES
|
||||||
# This setting includes any additional binaries a given user may
|
# This setting includes any additional binaries a given user may
|
||||||
|
|||||||
15
extra/pre-build.d/etc/mkinitcpio.d/linux.preset
Normal file
15
extra/pre-build.d/etc/mkinitcpio.d/linux.preset
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
# mkinitcpio preset file for the 'linux' package
|
||||||
|
|
||||||
|
ALL_config="/etc/mkinitcpio.conf"
|
||||||
|
ALL_kver="/boot/vmlinuz-linux"
|
||||||
|
|
||||||
|
#PRESETS=('default' 'fallback')
|
||||||
|
PRESETS=('default')
|
||||||
|
|
||||||
|
#default_config="/etc/mkinitcpio.conf"
|
||||||
|
default_image="/boot/initramfs-linux.img"
|
||||||
|
#default_options=""
|
||||||
|
|
||||||
|
#fallback_config="/etc/mkinitcpio.conf"
|
||||||
|
#fallback_image="/boot/initramfs-linux-fallback.img"
|
||||||
|
#fallback_options="-S autodetect"
|
||||||
40
extra/pre-build.d/etc/motd
Normal file
40
extra/pre-build.d/etc/motd
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
':ox0KXXK0koc'.
|
||||||
|
.;ok000kxollcccclodxOKXKko;.
|
||||||
|
;d00dc'. .;lkXKd;.
|
||||||
|
.o0Oc. .,codkO0KKKKK0Okxdl;'. .;dXKo'
|
||||||
|
.oKx, .:d0XXXXXXXXXXXXXXXXXXXXXXXKkl,. .c0Nd.
|
||||||
|
,0O; .:xKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXOl' .oN0;
|
||||||
|
;Kx. ;xKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0l. :KX:
|
||||||
|
,Kx. .lKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXk, ;XX,
|
||||||
|
k0. .oKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXO, oWO.
|
||||||
|
,No :KXX0Okk0XXXXXXXXXXXXXXXXXXXXXXXXXXXK0Okk0KXXXXXXXXXXXk. .KW;
|
||||||
|
cN, .kKl' ... 'l0XXXXXXXXXXXXXXXXXXXXk:. ... .;dKXXXXXXXXK: kMo
|
||||||
|
oN. '0d. c0WMMWo ;0XXXXXXXXXXXXXXXKo. 'dKWMMMX, .cKXXXXXXXXo xMd
|
||||||
|
lW. 'Kl .KMMMMM: xXXXXXXXXXXXXX0' ,KMMMMMMM. .OXXXXXXXXx xMd
|
||||||
|
;M; .Kd .NMMMMMMl kXXXXXXXXXXXK. lMMMMMMMMM. .OXXXXXXXXd 0M:
|
||||||
|
Nx 0X. dMMMMMMMMk;..;dl 'XXXXXXXXXXXc 'MMMMMMMMMMWd,..:Oc ,XXXXXXXXX: .WW.
|
||||||
|
dW. lXK KMMMMMMMMMMMMMMK KXXXXXXXXXX. dMMMMMMMMMMMMMMMMM0 KXXXXXXXXK. dMk
|
||||||
|
Wx KXK 0MMMMMMMMMMMMMMK KXXXXXXXXXX. xMMMMMMMMMMMMMMMMM0 KXXXXXXXXXc .MM.
|
||||||
|
:M; ;XXX; ,xxxxxxxxxxxxxx: 'XXXXXXXXXXXc 'xxxxxxxxxxxxxxxxx; ,XXXXXXXXXXO KMl
|
||||||
|
xM. oXXX0,,,,,,,,,,,,,,,,,,kXXXXXXXXXXXK;,,,,,,,,,,,,,,,,,,,,OXXXXXXXXXXX. xMO
|
||||||
|
0M xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX. oMK
|
||||||
|
0M dXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX. oMK
|
||||||
|
xM. lXXXXXkdddddddddddddddddddddddddddddddddddddddddddddddddKXXXXXXXXXXXK kMk
|
||||||
|
:Mc 'XXXXXc'. :XXXXXXXXXXXx XMc
|
||||||
|
W0 OXXXXXX0 ............................................ OXXXXXXXXXX; ,MM.
|
||||||
|
oM' ,XXXXXXX, ............................................ oXXXXXXXXXO 0Mx
|
||||||
|
NK dXXXXXXO ........................................... lXXXXXXXXK. ;MN.
|
||||||
|
,Md kXXXXXXd .......................................... xXXXXXXXX; .NM;
|
||||||
|
cMl kXXXXXXo ......................................... .KXXXXXXK; .XMl
|
||||||
|
lMl dXXXXXXd ..................':lodxxdol:'......... .0XXXXXXK' .XMo
|
||||||
|
:Wx :KXXXXXk. ..............,lkKKKKKKKKKKKKkc'.... .0XXXXXXk. 'NMc
|
||||||
|
.XK. .xXXXXXK: ..........'oKKKKKKKKKKKKKKKKK0l.. lKXXXXX0; oMN'
|
||||||
|
dWo .xXXXXXO; .......,OKKKKKKKKKKKKKKKKKkc. .c0XXXXX0c 'KMx
|
||||||
|
.0Nc .oKXXXXO:. ...'0KKKKKKKKKKKKKK0d:. ,xKXXXXXO: .OM0'
|
||||||
|
,0No. ;xKXXXKx:. .;ldxkOOkkxol;'. 'cxKXXXXX0l. ,OMK;
|
||||||
|
'kWk, ,o0XXXXKko:,.........,:ldOKXXXXXKkc. .lXMO,
|
||||||
|
.cKNx; .,cxOKXXXXXXXXXXXXXXXXXXKko:. .lKMKl.
|
||||||
|
.cOWKd;. ..,;cllooollc:;'. 'ckNM0c.
|
||||||
|
'lONW0xl;.. .,:okXMNOo,
|
||||||
|
.,cdOXWMWNXKK00KKXNMMWXOdc,.
|
||||||
|
.,cokO00Okdc,.
|
||||||
@@ -1,57 +0,0 @@
|
|||||||
# yaourtrc - Configuration for yaourt
|
|
||||||
#
|
|
||||||
# See yaourtrc(5) for more information
|
|
||||||
#
|
|
||||||
#
|
|
||||||
|
|
||||||
# General
|
|
||||||
#AUTOSAVEBACKUPFILE=0
|
|
||||||
#DEVELBUILDDIR="/var/abs/local/yaourtbuild"
|
|
||||||
#DEVEL=0
|
|
||||||
#EDITOR="$EDITOR"
|
|
||||||
#FORCEENGLISH=0
|
|
||||||
#FORCE=0
|
|
||||||
#TMPDIR="/tmp"
|
|
||||||
TMPDIR="/var/tmp"
|
|
||||||
|
|
||||||
# SUDO
|
|
||||||
#SUDONOVERIF=0 # Avoid multiple sudo checks when timestamp_timeout=0
|
|
||||||
#SUDOREDIRECT=1 # Define to 0 in case you use a fingerprint device
|
|
||||||
|
|
||||||
# ABS
|
|
||||||
# If the package "abs" is installed, those var are parsed from abs.conf
|
|
||||||
#REPOS=() # REPOS available at $SYNCSERVER
|
|
||||||
#SYNCSERVER=""
|
|
||||||
|
|
||||||
# AUR
|
|
||||||
#AURURL="https://aur.archlinux.org"
|
|
||||||
AURCOMMENT=0
|
|
||||||
#AURDEVELONLY=0
|
|
||||||
#AURSEARCH=1
|
|
||||||
#AURUPGRADE=0
|
|
||||||
#AURVOTE=1
|
|
||||||
|
|
||||||
# Build
|
|
||||||
#EXPORT=0 # Export to 1: EXPORTDIR or PKGDEST
|
|
||||||
# 2: pacman cache (as root)
|
|
||||||
#EXPORTSRC=0 # Need EXPORT>0 to be used
|
|
||||||
#EXPORTDIR="" # If empty, use makepkg's connfiguration (see makepkg.conf)
|
|
||||||
|
|
||||||
# Prompt
|
|
||||||
NOCONFIRM=0
|
|
||||||
UP_NOCONFIRM=1
|
|
||||||
BUILD_NOCONFIRM=1
|
|
||||||
PU_NOCONFIRM=1
|
|
||||||
EDITFILES=0
|
|
||||||
NOENTER=1
|
|
||||||
|
|
||||||
# Output
|
|
||||||
USECOLOR=1
|
|
||||||
#USEPAGER=0
|
|
||||||
DETAILUPGRADE=1
|
|
||||||
SHOWORPHANS=1
|
|
||||||
TERMINALTITLE=1
|
|
||||||
|
|
||||||
# Command
|
|
||||||
#PACMAN="pacman"
|
|
||||||
#DIFFEDITCMD="vimdiff"
|
|
||||||
8
extra/pre-build.d/root/post-build.sh
Executable file
8
extra/pre-build.d/root/post-build.sh
Executable file
@@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
apacman --noconfirm --noedit -S --needed customizepkg-scripting
|
||||||
|
|
||||||
|
|
||||||
|
echo "Done."
|
||||||
@@ -11,19 +11,13 @@ _mnt_fs() {
|
|||||||
ro_dev=$(losetup --find --show --read-only "${img}")
|
ro_dev=$(losetup --find --show --read-only "${img}")
|
||||||
echo ${ro_dev} >> /run/archiso/used_block_devices
|
echo ${ro_dev} >> /run/archiso/used_block_devices
|
||||||
ro_dev_size=$(blockdev --getsz ${ro_dev})
|
ro_dev_size=$(blockdev --getsz ${ro_dev})
|
||||||
if [[ "${cowfile_size}" == "100" ]]; then
|
|
||||||
rw_dev_size=${ro_dev_size}
|
|
||||||
else
|
|
||||||
# size calculation done in this way to avoid integer overflow when ro_dev_size is > 10.2G
|
|
||||||
rw_dev_size=$((ro_dev_size/100*cowfile_size))
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "${cow_persistent}" == "P" ]]; then
|
if [[ "${cow_persistent}" == "P" ]]; then
|
||||||
if [[ -f "/run/archiso/cowspace/${cow_directory}/${img_name}.cow" ]]; then
|
if [[ -f "/run/archiso/cowspace/${cow_directory}/${img_name}.cow" ]]; then
|
||||||
msg ":: Found '/run/archiso/cowspace/${cow_directory}/${img_name}.cow', using as persistent."
|
msg ":: Found '/run/archiso/cowspace/${cow_directory}/${img_name}.cow', using as persistent."
|
||||||
else
|
else
|
||||||
msg ":: Creating '/run/archiso/cowspace/${cow_directory}/${img_name}.cow' as persistent."
|
msg ":: Creating '/run/archiso/cowspace/${cow_directory}/${img_name}.cow' as persistent."
|
||||||
dd of="/run/archiso/cowspace/${cow_directory}/${img_name}.cow" count=0 seek=${rw_dev_size} &> /dev/null
|
truncate -s "${cowfile_size}" "/run/archiso/cowspace/${cow_directory}/${img_name}.cow"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
if [[ -f "/run/archiso/cowspace/${cow_directory}/${img_name}.cow" ]]; then
|
if [[ -f "/run/archiso/cowspace/${cow_directory}/${img_name}.cow" ]]; then
|
||||||
@@ -31,13 +25,13 @@ _mnt_fs() {
|
|||||||
rm -f "/run/archiso/cowspace/${cow_directory}/${img_name}.cow"
|
rm -f "/run/archiso/cowspace/${cow_directory}/${img_name}.cow"
|
||||||
fi
|
fi
|
||||||
msg ":: Creating '/run/archiso/cowspace/${cow_directory}/${img_name}.cow' as non-persistent."
|
msg ":: Creating '/run/archiso/cowspace/${cow_directory}/${img_name}.cow' as non-persistent."
|
||||||
dd of="/run/archiso/cowspace/${cow_directory}/${img_name}.cow" count=0 seek=${rw_dev_size} &> /dev/null
|
truncate -s "${cowfile_size}" "/run/archiso/cowspace/${cow_directory}/${img_name}.cow"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
rw_dev=$(losetup --find --show "/run/archiso/cowspace/${cow_directory}/${img_name}.cow")
|
rw_dev=$(losetup --find --show "/run/archiso/cowspace/${cow_directory}/${img_name}.cow")
|
||||||
echo ${rw_dev} >> /run/archiso/used_block_devices
|
echo ${rw_dev} >> /run/archiso/used_block_devices
|
||||||
|
|
||||||
echo "0 ${ro_dev_size} snapshot ${ro_dev} ${rw_dev} ${cow_persistent} 8" | dmsetup create ${dm_snap_name}
|
dmsetup create ${dm_snap_name} --table "0 ${ro_dev_size} snapshot ${ro_dev} ${rw_dev} ${cow_persistent} 8"
|
||||||
|
|
||||||
_mnt_dev "/dev/mapper/${dm_snap_name}" "${newroot}${mnt}" "-w"
|
_mnt_dev "/dev/mapper/${dm_snap_name}" "${newroot}${mnt}" "-w"
|
||||||
echo $(readlink -f /dev/mapper/${dm_snap_name}) >> /run/archiso/used_block_devices
|
echo $(readlink -f /dev/mapper/${dm_snap_name}) >> /run/archiso/used_block_devices
|
||||||
@@ -108,9 +102,7 @@ run_hook() {
|
|||||||
[[ -z "${dm_snap_prefix}" ]] && dm_snap_prefix="arch"
|
[[ -z "${dm_snap_prefix}" ]] && dm_snap_prefix="arch"
|
||||||
[[ -z "${archisodevice}" ]] && archisodevice="/dev/disk/by-label/${archisolabel}"
|
[[ -z "${archisodevice}" ]] && archisodevice="/dev/disk/by-label/${archisolabel}"
|
||||||
if [[ -z "${cowfile_size}" ]]; then
|
if [[ -z "${cowfile_size}" ]]; then
|
||||||
cowfile_size="100"
|
cowfile_size="256M"
|
||||||
else
|
|
||||||
cowfile_size=${cowfile_size/%}
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -n "${cow_label}" ]]; then
|
if [[ -n "${cow_label}" ]]; then
|
||||||
@@ -175,8 +167,8 @@ archiso_mount_handler() {
|
|||||||
mkdir -p "/run/archiso/cowspace/${cow_directory}"
|
mkdir -p "/run/archiso/cowspace/${cow_directory}"
|
||||||
|
|
||||||
_mnt_sfs "/run/archiso/bootmnt/${archisobasedir}/${arch}/airootfs.sfs" "/run/archiso/sfs/airootfs"
|
_mnt_sfs "/run/archiso/bootmnt/${archisobasedir}/${arch}/airootfs.sfs" "/run/archiso/sfs/airootfs"
|
||||||
# _mnt_fs "/run/archiso/sfs/airootfs/airootfs.img" "${newroot}" "/"
|
#_mnt_fs "/run/archiso/sfs/airootfs/airootfs.img" "${newroot}" "/"
|
||||||
mount --bind "run/archiso/sfs/airootfs" "/new_root"
|
mount --bind "/run/archiso/sfs/airootfs" "/new_root"
|
||||||
|
|
||||||
if [[ "${copytoram}" == "y" ]]; then
|
if [[ "${copytoram}" == "y" ]]; then
|
||||||
umount /run/archiso/bootmnt
|
umount /run/archiso/bootmnt
|
||||||
|
|||||||
@@ -1,15 +1,13 @@
|
|||||||
# vim: set ft=sh:
|
# vim: set ft=sh:
|
||||||
|
|
||||||
run_cleanuphook () {
|
run_cleanuphook () {
|
||||||
msg ":: Mounting aufs on / with tmpfs=rw, ${root}=ro ..."
|
msg ":: Mounting OverlayFS on / with tmpfs=rw, ${root}=ro ..."
|
||||||
modprobe aufs
|
modprobe overlay
|
||||||
|
|
||||||
echo "Now attempting aufs mount..."
|
echo "Now attempting overlay mount..."
|
||||||
|
|
||||||
mkdir /new_root.hw
|
mkdir -p /new_root.hw /overlay /overlay-rw
|
||||||
mount --move /new_root /new_root.hw
|
mount --move /new_root /new_root.hw
|
||||||
mkdir /dev/shm
|
mount -t overlay overlay -olowerdir=/new_root.hw,upperdir=/overlay,workdir=/overlay-rw,noatime /new_root
|
||||||
mount -t tmpfs none /dev/shm
|
|
||||||
mount -t aufs none /new_root -o dirs=/dev/shm=rw:/new_root.hw=ro -o noatime
|
|
||||||
pkill -9 dropbear #kill SSH (in preparation for the live system starting ssh on port 22
|
pkill -9 dropbear #kill SSH (in preparation for the live system starting ssh on port 22
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ build()
|
|||||||
{
|
{
|
||||||
add_module 'squashfs'
|
add_module 'squashfs'
|
||||||
add_module 'loop'
|
add_module 'loop'
|
||||||
add_module 'aufs'
|
add_module 'overlay'
|
||||||
|
|
||||||
add_binary "sed"
|
add_binary "sed"
|
||||||
add_binary "pkill"
|
add_binary "pkill"
|
||||||
@@ -16,6 +16,6 @@ build()
|
|||||||
help()
|
help()
|
||||||
{
|
{
|
||||||
cat <<HELPEOF
|
cat <<HELPEOF
|
||||||
Mount a squashed flat-file directory with AUFS3 on /
|
Mount a squashed flat-file directory with OverlayFS on /
|
||||||
HELPEOF
|
HELPEOF
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,8 +27,8 @@ function jenny_craig () {
|
|||||||
# sync over new changes and trim out the fat
|
# sync over new changes and trim out the fat
|
||||||
rsync -a --delete ${CHROOTDIR}/. ${BUILDDIR}/.
|
rsync -a --delete ${CHROOTDIR}/. ${BUILDDIR}/.
|
||||||
set +e
|
set +e
|
||||||
cp -af ${BUILDDIR}/usr/share/zoneinfo/EST5EDT ${BUILDDIR}/etc/localtime
|
cp -af ${BUILDDIR}/usr/share/zoneinfo/EST5EDT ${BUILDDIR}/etc/localtime > /dev/null 2>&1
|
||||||
cp -af ${CHROOTDIR}/usr/share/zoneinfo/EST5EDT ${CHROOTDIR}/etc/localtime
|
cp -af ${CHROOTDIR}/usr/share/zoneinfo/EST5EDT ${CHROOTDIR}/etc/localtime > /dev/null 2>&1
|
||||||
set -e
|
set -e
|
||||||
cp -af ${BUILDDIR}/usr/share/locale/locale.alias ${BUILDDIR}/tmp/.
|
cp -af ${BUILDDIR}/usr/share/locale/locale.alias ${BUILDDIR}/tmp/.
|
||||||
echo "Cleaning up unnecessary cruft in ${BUILDDIR}..."
|
echo "Cleaning up unnecessary cruft in ${BUILDDIR}..."
|
||||||
@@ -45,6 +45,7 @@ function jenny_craig () {
|
|||||||
mv -f ${BUILDDIR}/tmp/locale.alias ${BUILDDIR}/usr/share/locale/.
|
mv -f ${BUILDDIR}/tmp/locale.alias ${BUILDDIR}/usr/share/locale/.
|
||||||
rm -rf ${BUILDDIR}/var/cache/pacman/*
|
rm -rf ${BUILDDIR}/var/cache/pacman/*
|
||||||
rm -rf ${BUILDDIR}/var/cache/pkgfile/*
|
rm -rf ${BUILDDIR}/var/cache/pkgfile/*
|
||||||
|
rm -rf ${BUILDDIR}/var/cache/apacman/pkg/*
|
||||||
rm -rf ${BUILDDIR}/var/lib/pacman/*
|
rm -rf ${BUILDDIR}/var/lib/pacman/*
|
||||||
mkdir -p ${BUILDDIR}/var/lib/pacman/local
|
mkdir -p ${BUILDDIR}/var/lib/pacman/local
|
||||||
rm -rf ${BUILDDIR}/var/abs/local/yaourtbuild/*
|
rm -rf ${BUILDDIR}/var/abs/local/yaourtbuild/*
|
||||||
@@ -54,6 +55,8 @@ function jenny_craig () {
|
|||||||
rm -rf ${BUILDDIR}/var/abs/*
|
rm -rf ${BUILDDIR}/var/abs/*
|
||||||
rm -rf ${BUILDDIR}/run/*
|
rm -rf ${BUILDDIR}/run/*
|
||||||
rm -rf ${BUILDDIR}/boot/*
|
rm -rf ${BUILDDIR}/boot/*
|
||||||
|
#rm -rf ${BUILDDIR}/root/*
|
||||||
|
rm -rf ${BUILDDIR}/root/post-build.sh
|
||||||
rm -rf ${BUILDDIR}/usr/src/*
|
rm -rf ${BUILDDIR}/usr/src/*
|
||||||
rm -rf ${BUILDDIR}/var/log/*
|
rm -rf ${BUILDDIR}/var/log/*
|
||||||
rm -rf ${BUILDDIR}/.git
|
rm -rf ${BUILDDIR}/.git
|
||||||
|
|||||||
@@ -62,7 +62,8 @@ EOF
|
|||||||
FTSIZE=$(du -sc ${TEMPDIR}/{boot,EFI,loader} | tail -n1 | awk '{print $1}')
|
FTSIZE=$(du -sc ${TEMPDIR}/{boot,EFI,loader} | tail -n1 | awk '{print $1}')
|
||||||
FATSIZE=$((${FTSIZE} + 64)) # let's give a little wiggle room
|
FATSIZE=$((${FTSIZE} + 64)) # let's give a little wiggle room
|
||||||
${RACECAR_CHK}truncate -s "${FATSIZE}"K ${TEMPDIR}/EFI/${DISTNAME}/efiboot.img
|
${RACECAR_CHK}truncate -s "${FATSIZE}"K ${TEMPDIR}/EFI/${DISTNAME}/efiboot.img
|
||||||
${RACECAR_CHK}mkfs.vfat -n ${DISTNAME}_EFI ${TEMPDIR}/EFI/${DISTNAME}/efiboot.img >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
${RACECAR_CHK}mkfs.vfat -F 32 -n ${DISTNAME}_EFI ${TEMPDIR}/EFI/${DISTNAME}/efiboot.img >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||||
|
#${RACECAR_CHK}mkfs.vfat -F32 -s2 -n ${DISTNAME}_EFI ${TEMPDIR}/EFI/${DISTNAME}/efiboot.img >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||||
mkdir -p ${SRCDIR}/efiboot
|
mkdir -p ${SRCDIR}/efiboot
|
||||||
mount ${TEMPDIR}/EFI/${DISTNAME}/efiboot.img ${SRCDIR}/efiboot
|
mount ${TEMPDIR}/EFI/${DISTNAME}/efiboot.img ${SRCDIR}/efiboot
|
||||||
mkdir -p ${SRCDIR}/efiboot/EFI/${DISTNAME}
|
mkdir -p ${SRCDIR}/efiboot/EFI/${DISTNAME}
|
||||||
|
|||||||
@@ -37,20 +37,13 @@ function mentos {
|
|||||||
local MIRROR=$(egrep '^Server' ${i}/etc/pacman.d/mirrorlist | head -n1 | sed -e 's/^Server\ =\ //g ; s#$repo.*#core/os/x86_64/#g')
|
local MIRROR=$(egrep '^Server' ${i}/etc/pacman.d/mirrorlist | head -n1 | sed -e 's/^Server\ =\ //g ; s#$repo.*#core/os/x86_64/#g')
|
||||||
local NEWKERN=$(curl -s "${MIRROR}" | grep linux | awk '{print $3}' | cut -f2 -d\" | egrep '^linux-[0-9].*pkg.tar.xz$' | cut -f2 -d"-")
|
local NEWKERN=$(curl -s "${MIRROR}" | grep linux | awk '{print $3}' | cut -f2 -d\" | egrep '^linux-[0-9].*pkg.tar.xz$' | cut -f2 -d"-")
|
||||||
|
|
||||||
if [[ -n $(find ${BASEDIR}/extra/pre-build.d/ -type f -newer ${BASEDIR}/root.x86_64/boot/vmlinuz-linux-${PNAME}) ]] || [[ "${INSTKERN}" != "${NEWKERN}" ]];
|
|
||||||
then
|
|
||||||
${CHROOTCMD} ${i}/ bash -c "${RACECAR_CHK}yaourt -Syyua --noconfirm --devel" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
|
||||||
else
|
|
||||||
${CHROOTCMD} ${i}/ bash -c "${RACECAR_CHK}yaourt -Syyua --noconfirm --devel --ignore linux,linux-${PNAME}" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
|
||||||
fi
|
|
||||||
for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%.pacorig} ; done
|
for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%.pacorig} ; done
|
||||||
${CHROOTCMD} ${i}/ bash -c "${RACECAR_CHK}yaourt -S --needed --ignore linux,linux-${PNAME} --noconfirm ${PKGLIST}" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
${CHROOTCMD} ${i}/ bash -c "${RACECAR_CHK}apacman --noconfirm --noedit --skipinteg -S --needed --ignore linux ${PKGLIST}" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||||
for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%.pacorig} ; done
|
for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%.pacorig} ; done
|
||||||
#${CHROOTCMD} ${i}/ bash -c "yaourt -S --needed --noconfirm ${PKGLIST}"
|
${CHROOTCMD} ${i}/ /usr/bin/bash -c "mkinitcpio -p linux" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||||
if [[ -n $(find ${BASEDIR}/extra/pre-build.d/ -type f -newer root.x86_64/boot/vmlinuz-linux-${PNAME}) ]];
|
#${CHROOTCMD} ${i}/ bash -c "apacman --noconfirm --noedit --skipinteg -S --needed ${PKGLIST}"
|
||||||
then
|
cp -a ${i}/boot/vmlinuz-linux ${i}/boot/vmlinuz-linux-${PNAME}
|
||||||
${CHROOTCMD} ${i}/ bash -c "${RACECAR_CHK}mkinitcpio -p linux-${PNAME}" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
cp -a ${i}/boot/initramfs-linux.img ${i}/boot/initramfs-linux-${PNAME}.img
|
||||||
fi
|
|
||||||
echo "Done."
|
echo "Done."
|
||||||
done
|
done
|
||||||
|
|
||||||
@@ -60,7 +53,7 @@ function mentos {
|
|||||||
PKGLIST=$(sed -e '/^[[:space:]]*#/d ; /^[[:space:]]*$/d' ${BASEDIR}/extra/packages.32 | tr '\n' ' ')
|
PKGLIST=$(sed -e '/^[[:space:]]*#/d ; /^[[:space:]]*$/d' ${BASEDIR}/extra/packages.32 | tr '\n' ' ')
|
||||||
if [ -n "${PKGLIST}" ];
|
if [ -n "${PKGLIST}" ];
|
||||||
then
|
then
|
||||||
${CHROOTCMD} ${CHROOTDIR32}/ bash -c "yes '' | ${RACECAR_CHK}yaourt -S --needed --noconfirm ${PKGLIST}" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
${CHROOTCMD} ${CHROOTDIR32}/ bash -c "yes '' | ${RACECAR_CHK}apacman --noconfirm --noedit --skipinteg -S --needed ${PKGLIST}" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||||
fi
|
fi
|
||||||
for x in $(find ${CHROOTDIR32}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%.pacorig} ; done
|
for x in $(find ${CHROOTDIR32}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%.pacorig} ; done
|
||||||
|
|
||||||
@@ -69,10 +62,10 @@ function mentos {
|
|||||||
PKGLIST=$(sed -e '/^[[:space:]]*#/d ; /^[[:space:]]*$/d' ${BASEDIR}/extra/packages.64 | tr '\n' ' ')
|
PKGLIST=$(sed -e '/^[[:space:]]*#/d ; /^[[:space:]]*$/d' ${BASEDIR}/extra/packages.64 | tr '\n' ' ')
|
||||||
if [ -n "${PKGLIST}" ];
|
if [ -n "${PKGLIST}" ];
|
||||||
then
|
then
|
||||||
${CHROOTCMD} ${CHROOTDIR64}/ bash -c "${RACECAR_CHK}yaourt -S --needed --noconfirm ${PKGLIST}" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
${CHROOTCMD} ${CHROOTDIR64}/ bash -c "yes '' | ${RACECAR_CHK}apacman --noconfirm --noedit --skipinteg -S --needed ${PKGLIST}" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||||
fi
|
fi
|
||||||
for x in $(find ${CHROOTDIR64}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%.pacorig} ; done
|
for x in $(find ${CHROOTDIR64}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%.pacorig} ; done
|
||||||
#${CHROOTCMD} ${CHROOTDIR64}/ bash -c "yaourt -S --needed --noconfirm ${PKGLIST}"
|
#${CHROOTCMD} ${CHROOTDIR64}/ bash -c "apacman --noconfirm --noedit --skipinteg -S --needed ${PKGLIST}"
|
||||||
echo "Syncing overlay..."
|
echo "Syncing overlay..."
|
||||||
rsync -a ${BASEDIR}/overlay/64/. ${CHROOTDIR64}/.
|
rsync -a ${BASEDIR}/overlay/64/. ${CHROOTDIR64}/.
|
||||||
echo "Done."
|
echo "Done."
|
||||||
@@ -99,6 +92,8 @@ function mentos {
|
|||||||
find ${CHROOTDIR64}/root/ -type f -exec chmod 600 '{}' \;
|
find ${CHROOTDIR64}/root/ -type f -exec chmod 600 '{}' \;
|
||||||
find ${CHROOTDIR32}/root/ -type d -exec chmod 700 '{}' \;
|
find ${CHROOTDIR32}/root/ -type d -exec chmod 700 '{}' \;
|
||||||
find ${CHROOTDIR32}/root/ -type f -exec chmod 600 '{}' \;
|
find ${CHROOTDIR32}/root/ -type f -exec chmod 600 '{}' \;
|
||||||
|
chmod 600 ${CHROOTDIR64}/etc/ssh/*
|
||||||
|
chmod 600 ${CHROOTDIR32}/etc/ssh/*
|
||||||
echo "Done."
|
echo "Done."
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -74,7 +74,8 @@ function mkchroot {
|
|||||||
cd "${BASEDIR}"
|
cd "${BASEDIR}"
|
||||||
|
|
||||||
## Set some vars.
|
## Set some vars.
|
||||||
MIRROR='http://mirrors.kernel.org/archlinux'
|
#MIRROR='http://mirrors.kernel.org/archlinux'
|
||||||
|
MIRROR='http://mirror.us.leaseweb.net/archlinux'
|
||||||
RLSDIR="${MIRROR}/iso/latest"
|
RLSDIR="${MIRROR}/iso/latest"
|
||||||
|
|
||||||
CURRLS64=$(curl -s ${RLSDIR}/sha1sums.txt | grep bootstrap | awk '{print $2}' | grep 'x86_64')
|
CURRLS64=$(curl -s ${RLSDIR}/sha1sums.txt | grep bootstrap | awk '{print $2}' | grep 'x86_64')
|
||||||
@@ -153,6 +154,7 @@ EOF
|
|||||||
|
|
||||||
for i in ${CHROOTDIR32} ${CHROOTDIR64};
|
for i in ${CHROOTDIR32} ${CHROOTDIR64};
|
||||||
do
|
do
|
||||||
|
# Prep pacman
|
||||||
echo "Prepping ${i}. This will take a while..."
|
echo "Prepping ${i}. This will take a while..."
|
||||||
echo -n "...Key initializing..."
|
echo -n "...Key initializing..."
|
||||||
${CHROOTCMD} ${i}/ pacman-key --init >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
${CHROOTCMD} ${i}/ pacman-key --init >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||||
@@ -160,23 +162,36 @@ EOF
|
|||||||
echo -n "...Importing keys..."
|
echo -n "...Importing keys..."
|
||||||
${CHROOTCMD} ${i}/ pacman-key --populate archlinux >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
${CHROOTCMD} ${i}/ pacman-key --populate archlinux >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||||
echo "Done."
|
echo "Done."
|
||||||
|
# Prep base building system
|
||||||
echo -n "...Installing base packages..."
|
echo -n "...Installing base packages..."
|
||||||
#${CHROOTCMD} ${i}/ pacstrap -dGcM base
|
#${CHROOTCMD} ${i}/ pacstrap -dGcM base
|
||||||
# if that doesn't work,
|
# if that doesn't work,
|
||||||
|
|
||||||
${CHROOTCMD} ${i}/ pacman -Syy >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
${CHROOTCMD} ${i}/ pacman -Syy >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||||
for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%%.pacorig} ; done
|
for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%%.pacorig} ; done
|
||||||
${CHROOTCMD} ${i}/ pacman -S --noconfirm --needed base syslinux >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
${CHROOTCMD} ${i}/ pacman -S --noconfirm --needed base syslinux wget rsync unzip jshon sed sudo abs xmlto bc docbook-xsl git >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||||
for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%%.pacorig} ; done
|
for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%%.pacorig} ; done
|
||||||
echo "Done."
|
echo "Done."
|
||||||
echo -n "...Upgrading any outdated packages..."
|
echo -n "...Upgrading any outdated packages..."
|
||||||
${CHROOTCMD} ${i}/ pacman -Syyu --noconfirm >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
${CHROOTCMD} ${i}/ pacman -Syyu --noconfirm >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||||
for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%%.pacorig} ; done
|
for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%%.pacorig} ; done
|
||||||
echo "Done. Finishing/cleaning up..."
|
echo "Done. Finishing/cleaning up..."
|
||||||
${CHROOTCMD} ${i}/ pacman -S --noconfirm --needed yaourt >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
|
||||||
for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%%.pacorig} ; done
|
|
||||||
${CHROOTCMD} ${i}/ pacman -S --noconfirm --needed base-devel >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
${CHROOTCMD} ${i}/ pacman -S --noconfirm --needed base-devel >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||||
for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%%.pacorig} ; done
|
for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%%.pacorig} ; done
|
||||||
|
# Yaourt is busted because Arch Pacman devs are fucking neasighted closed-minded jackasses.
|
||||||
|
# If they ever fix their crap, checkout extra/pre-build.d/etc/yaourtrc from git (commit 583a5df84af415990b8c49d7e4ac11dd7b23e0e0)
|
||||||
|
## https://github.com/archlinuxfr/yaourt/issues/67
|
||||||
|
## https://projects.archlinux.org/pacman.git/tree/NEWS#n54
|
||||||
|
## https://bugs.archlinux.org/task/43302
|
||||||
|
#${CHROOTCMD} ${i}/ pacman -S --noconfirm --needed yaourt >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||||
|
mkdir -p ${i}/var/tmp/pkg
|
||||||
|
cp ${BASEDIR}/extra/bootstrap/apacman* ${i}/var/tmp/pkg/apacman.tar.xz
|
||||||
|
#${CHROOTCMD} ${i} "pacman --noconfirm -U /var/tmp/pkg/apacman.tar.xz" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||||
|
${CHROOTCMD} ${i} bash -c "pacman --noconfirm -U /var/tmp/pkg/apacman.tar.xz && mkdir /var/tmp/apacman && chmod 0750 /var/tmp/apacman && chown root:aurbuild /var/tmp/apacman " >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||||
|
for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%%.pacorig} ; done
|
||||||
|
${CHROOTCMD} ${i} bash -c "apacman -S --noconfirm --noedit --skipinteg -S apacman-deps expac" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||||
|
#rm -rf ${i}/var/tmp/pkg
|
||||||
|
#${CHROOTCMD} ${i}/ pacman -S --noconfirm --needed yaourt >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||||
|
for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%%.pacorig} ; done
|
||||||
done
|
done
|
||||||
${CHROOTCMD} ${CHROOTDIR64}/ 'pacman --noconfirm -R gcc-libs libtool' >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
${CHROOTCMD} ${CHROOTDIR64}/ 'pacman --noconfirm -R gcc-libs libtool' >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||||
${CHROOTCMD} ${CHROOTDIR64}/ 'pacman --noconfirm -S multilib-devel' >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
${CHROOTCMD} ${CHROOTDIR64}/ 'pacman --noconfirm -S multilib-devel' >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||||
@@ -198,19 +213,21 @@ EOF
|
|||||||
PKGLIST=$(sed -e '/^[[:space:]]*#/d ; /^[[:space:]]*$/d' ${BASEDIR}/extra/packages.both | tr '\n' ' ')
|
PKGLIST=$(sed -e '/^[[:space:]]*#/d ; /^[[:space:]]*$/d' ${BASEDIR}/extra/packages.both | tr '\n' ' ')
|
||||||
for i in ${CHROOTDIR32} ${CHROOTDIR64};
|
for i in ${CHROOTDIR32} ${CHROOTDIR64};
|
||||||
do
|
do
|
||||||
echo -n "...Packages installing to ${i}..."
|
echo "Running post-build tasks in ${i}..."
|
||||||
${CHROOTCMD} ${i}/ /usr/bin/bash -c "yaourt -S --needed --noconfirm customizepkg-scripting" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
${CHROOTCMD} ${i}/ "/root/post-build.sh" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||||
for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%%.pacorig} ; done
|
for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%%.pacorig} ; done
|
||||||
echo -n "Compiling kernel sources..."
|
|
||||||
set +e
|
set +e
|
||||||
${CHROOTCMD} ${i}/ /usr/bin/bash -c "yaourt -S --needed --noconfirm linux" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
${CHROOTCMD} ${i}/ /usr/bin/bash -c "apacman --noconfirm --noedit --skipinteg -S --needed linux" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||||
|
cp -a ${i}/boot/vmlinuz-linux ${i}/boot/vmlinuz-linux-${PNAME}
|
||||||
|
cp -a ${i}/boot/initramfs-linux.img ${i}/boot/initramfs-linux-${PNAME}.img
|
||||||
set -e
|
set -e
|
||||||
# Uncomment if you wish to use the mkpasswd binary from within the chroot...
|
|
||||||
#${CHROOTCMD} ${i}/ bash -c "yaourt -S --needed --noconfirm debian-whois-mkpasswd" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
|
||||||
for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%%.pacorig} ; done
|
for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%%.pacorig} ; done
|
||||||
|
# Uncomment if you wish to use the mkpasswd binary from within the chroot...
|
||||||
|
#${CHROOTCMD} ${i}/ bash -c "apacman --noconfirm --noedit --skipinteg -S --needed debian-whois-mkpasswd" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||||
|
#for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%%.pacorig} ; done
|
||||||
echo -n "Regular packages..."
|
echo -n "Regular packages..."
|
||||||
set +e
|
set +e
|
||||||
${CHROOTCMD} ${i}/ bash -c "yes '' | yaourt -S --needed --noconfirm ${PKGLIST}" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
${CHROOTCMD} ${i}/ bash -c "yes '' | apacman --noconfirm --noedit --skipinteg -S --needed ${PKGLIST}" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||||
for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%%.pacorig} ; done
|
for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%%.pacorig} ; done
|
||||||
# User creation
|
# User creation
|
||||||
set -e
|
set -e
|
||||||
@@ -238,7 +255,7 @@ EOF
|
|||||||
then
|
then
|
||||||
${CHROOTCMD} ${i}/ passwd -d root >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
${CHROOTCMD} ${i}/ passwd -d root >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||||
else
|
else
|
||||||
${CHROOTCMD} ${i}/ passwd -d root >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
${CHROOTCMD} ${i}/ usermod -L root >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||||
fi
|
fi
|
||||||
# The following is supposed to do the same as the above, but "cleaner". However, it currently fails with "execv() failed: No such file or directory"
|
# The following is supposed to do the same as the above, but "cleaner". However, it currently fails with "execv() failed: No such file or directory"
|
||||||
##${CHROOTCMD} ${i}/ usermod -L root >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
##${CHROOTCMD} ${i}/ usermod -L root >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||||
@@ -247,7 +264,11 @@ EOF
|
|||||||
|
|
||||||
for i in ${CHROOTDIR32} ${CHROOTDIR64};
|
for i in ${CHROOTDIR32} ${CHROOTDIR64};
|
||||||
do
|
do
|
||||||
${CHROOTCMD} ${i}/ /usr/bin/bash -c "mkinitcpio -p linux-${PNAME}" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
set +e
|
||||||
|
for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%.pacorig} ; done
|
||||||
|
${CHROOTCMD} ${i}/ /usr/bin/bash -c "mkinitcpio -p linux" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||||
|
cp -a ${i}/boot/initramfs-linux.img ${i}/boot/initramfs-linux-${PNAME}.img
|
||||||
|
set -e
|
||||||
done
|
done
|
||||||
|
|
||||||
# 32-bit
|
# 32-bit
|
||||||
@@ -255,7 +276,7 @@ EOF
|
|||||||
PKGLIST=$(sed -e '/^[[:space:]]*#/d ; /^[[:space:]]*$/d' ${BASEDIR}/extra/packages.32 | tr '\n' ' ')
|
PKGLIST=$(sed -e '/^[[:space:]]*#/d ; /^[[:space:]]*$/d' ${BASEDIR}/extra/packages.32 | tr '\n' ' ')
|
||||||
if [ -n "${PKGLIST}" ];
|
if [ -n "${PKGLIST}" ];
|
||||||
then
|
then
|
||||||
${CHROOTCMD} ${CHROOTDIR32}/ /usr/bin/bash -c "yaourt -S --needed --noconfirm ${PKGLIST}" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
${CHROOTCMD} ${CHROOTDIR32}/ /usr/bin/bash -c "apacman --noconfirm --noedit --skipinteg -S --needed ${PKGLIST}" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||||
fi
|
fi
|
||||||
set +e
|
set +e
|
||||||
for x in $(find ${CHROOTDIR32}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%.pacorig} ; done
|
for x in $(find ${CHROOTDIR32}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%.pacorig} ; done
|
||||||
@@ -267,7 +288,7 @@ EOF
|
|||||||
PKGLIST=$(sed -e '/^[[:space:]]*#/d ; /^[[:space:]]*$/d' ${BASEDIR}/extra/packages.64 | tr '\n' ' ')
|
PKGLIST=$(sed -e '/^[[:space:]]*#/d ; /^[[:space:]]*$/d' ${BASEDIR}/extra/packages.64 | tr '\n' ' ')
|
||||||
if [ -n "${PKGLIST}" ];
|
if [ -n "${PKGLIST}" ];
|
||||||
then
|
then
|
||||||
${CHROOTCMD} ${CHROOTDIR64}/ /usr/bin/bash -c "yaourt -S --needed --noconfirm ${PKGLIST}" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
${CHROOTCMD} ${CHROOTDIR64}/ /usr/bin/bash -c "apacman --noconfirm --noedit --skipinteg -S --needed ${PKGLIST}" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||||
fi
|
fi
|
||||||
set +e
|
set +e
|
||||||
for x in $(find ${CHROOTDIR64}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%.pacorig} ; done
|
for x in $(find ${CHROOTDIR64}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%.pacorig} ; done
|
||||||
@@ -294,6 +315,8 @@ EOF
|
|||||||
find ${CHROOTDIR64}/root/ -type f -exec chmod 600 '{}' \;
|
find ${CHROOTDIR64}/root/ -type f -exec chmod 600 '{}' \;
|
||||||
find ${CHROOTDIR32}/root/ -type d -exec chmod 700 '{}' \;
|
find ${CHROOTDIR32}/root/ -type d -exec chmod 700 '{}' \;
|
||||||
find ${CHROOTDIR32}/root/ -type f -exec chmod 600 '{}' \;
|
find ${CHROOTDIR32}/root/ -type f -exec chmod 600 '{}' \;
|
||||||
|
chmod 600 ${CHROOTDIR64}/etc/ssh/*
|
||||||
|
chmod 600 ${CHROOTDIR32}/etc/ssh/*
|
||||||
echo "Done."
|
echo "Done."
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
63
overlay/etc/bash.bashrc
Normal file
63
overlay/etc/bash.bashrc
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
#
|
||||||
|
# /etc/bash.bashrc
|
||||||
|
#
|
||||||
|
|
||||||
|
# If not running interactively, don't do anything
|
||||||
|
[[ $- != *i* ]] && return
|
||||||
|
|
||||||
|
PS1='[\u@\h \W]\$ '
|
||||||
|
PS2='> '
|
||||||
|
PS3='> '
|
||||||
|
PS4='+ '
|
||||||
|
|
||||||
|
case ${TERM} in
|
||||||
|
xterm*|rxvt*|Eterm|aterm|kterm|gnome*)
|
||||||
|
PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"'
|
||||||
|
|
||||||
|
;;
|
||||||
|
screen)
|
||||||
|
PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033_%s@%s:%s\033\\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"'
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
[ -r /usr/share/bash-completion/bash_completion ] && . /usr/share/bash-completion/bash_completion
|
||||||
|
|
||||||
|
alias vi='/usr/bin/vim'
|
||||||
|
export EDITOR="vim"
|
||||||
|
|
||||||
|
if [ -f ~/.bashrc ];
|
||||||
|
then
|
||||||
|
source ~/.bashrc
|
||||||
|
fi
|
||||||
|
if [ -d ~/bin ];
|
||||||
|
then
|
||||||
|
export PATH="$PATH:~/bin"
|
||||||
|
fi
|
||||||
|
|
||||||
|
alias grep='grep --color'
|
||||||
|
alias egrep='egrep --color'
|
||||||
|
|
||||||
|
alias ls='ls --color=auto'
|
||||||
|
PS1='[\u@\h \W]\$ '
|
||||||
|
|
||||||
|
export HISTTIMEFORMAT="%F %T "
|
||||||
|
export PATH="${PATH}:/sbin:/bin:/usr/sbin"
|
||||||
|
|
||||||
|
DEFROUTEIF=$(ip route show | egrep '^default' | awk '{print $5}')
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "==================================="
|
||||||
|
date
|
||||||
|
if [ -n "${DEFROUTEIF}" ];
|
||||||
|
then
|
||||||
|
echo
|
||||||
|
echo -n "${DEFROUTEIF} is: "
|
||||||
|
ifconfig "${DEFROUTEIF}" | egrep 'inet|ether' | grep -v "inet6" | awk '{print $2}'
|
||||||
|
fi
|
||||||
|
echo
|
||||||
|
echo -n "tun0 is:"
|
||||||
|
ifconfig tun0 | grep inet | grep -v "inet6" | awk '{print $2}'
|
||||||
|
echo
|
||||||
|
echo "http://bdisk.square-r00t.net/"
|
||||||
|
echo "==================================="
|
||||||
|
echo
|
||||||
@@ -1 +0,0 @@
|
|||||||
/usr/lib/systemd/system/openvpn@.service
|
|
||||||
22
overlay/etc/vimrc
Normal file
22
overlay/etc/vimrc
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
" All system-wide defaults are set in $VIMRUNTIME/archlinux.vim (usually just
|
||||||
|
" /usr/share/vim/vimfiles/archlinux.vim) and sourced by the call to :runtime
|
||||||
|
" you can find below. If you wish to change any of those settings, you should
|
||||||
|
" do it in this file (/etc/vimrc), since archlinux.vim will be overwritten
|
||||||
|
" everytime an upgrade of the vim packages is performed. It is recommended to
|
||||||
|
" make changes after sourcing archlinux.vim since it alters the value of the
|
||||||
|
" 'compatible' option.
|
||||||
|
|
||||||
|
" This line should not be removed as it ensures that various options are
|
||||||
|
" properly set to work with the Vim-related packages.
|
||||||
|
runtime! archlinux.vim
|
||||||
|
|
||||||
|
" If you prefer the old-style vim functionalty, add 'runtime! vimrc_example.vim'
|
||||||
|
" Or better yet, read /usr/share/vim/vim74/vimrc_example.vim or the vim manual
|
||||||
|
" and configure vim to your own liking!
|
||||||
|
|
||||||
|
set number
|
||||||
|
syntax on
|
||||||
|
set paste
|
||||||
|
if has("autocmd")
|
||||||
|
au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
|
||||||
|
endif
|
||||||
Reference in New Issue
Block a user