You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
2.0 KiB
59 lines
2.0 KiB
4 months ago
|
#!/bin/echo Try "scripts/mkroot.sh dropbear"
|
||
|
|
||
|
# Example overlay file, adding dropbear (which requires zlib)
|
||
|
|
||
|
echo === download source
|
||
|
|
||
|
download a4d316c404ff54ca545ea71a27af7dbc29817088 \
|
||
|
http://downloads.sf.net/libpng/zlib-1.2.8.tar.gz
|
||
|
|
||
|
download 820ec2b8c869edbcf5ad1138777fc0f54349505c \
|
||
|
https://matt.ucc.asn.au/dropbear/releases/dropbear-2019.78.tar.bz2
|
||
|
|
||
|
echo === Native build static zlib
|
||
|
|
||
|
setupfor zlib
|
||
|
# They keep checking in broken generated files.
|
||
|
rm -f Makefile zconf.h &&
|
||
|
CC=${CROSS_COMPILE}cc LD=${CROSS_COMPILE}ld AS=${CROSS_COMPILE}as ./configure &&
|
||
|
make -j $(nproc) || exit 1
|
||
|
|
||
|
# do _not_ cleanup zlib, we need the files we just built for dropbear
|
||
|
cd ..
|
||
|
|
||
|
echo === $HOST Native build static dropbear
|
||
|
|
||
|
setupfor dropbear
|
||
|
# Repeat after me: "autoconf is useless"
|
||
|
echo 'echo "$@"' > config.sub &&
|
||
|
ZLIB="$(echo ../zlib*)" &&
|
||
|
CFLAGS="-I $ZLIB -O2" LDFLAGS="-L $ZLIB" ./configure --enable-static \
|
||
|
--disable-wtmp --host=${CROSS_BASE%-} &&
|
||
|
sed -i 's@/usr/bin/dbclient@ssh@' options.h &&
|
||
|
sed -i 's@\(#define NON_INETD_MODE\) 1@\1 0@' default_options.h &&
|
||
|
make -j $(nproc) PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp" MULTI=1 SCPPROGRESS=1 &&
|
||
|
${CROSS_COMPILE}strip dropbearmulti &&
|
||
|
mkdir -p "$ROOT"/{bin,etc/{rc,dropbear},var/log} &&
|
||
|
touch "$ROOT"/var/log/lastlog &&
|
||
|
cp dropbearmulti "$ROOT"/bin || exit 1
|
||
|
for i in "$ROOT"/bin/{ssh,dropbear,scp,dropbearkey}
|
||
|
do
|
||
|
ln -s dropbearmulti $i || exit 1
|
||
|
done
|
||
|
cleanup
|
||
|
|
||
|
rm -rf zlib-*
|
||
|
|
||
|
# user root password root, user guest no password
|
||
|
echo -e 'root:$1$939UTPzb$/PfVYAsF2Hqi/AQ3UBjbK/:::::::\nguest::::::::' > "$ROOT"/etc/shadow &&
|
||
|
chmod 600 "$ROOT"/etc/shadow &&
|
||
|
|
||
|
echo 'netcat -p 22 -L dropbear -iRB &' > "$ROOT"/etc/rc/dropbear &&
|
||
|
|
||
|
# file to run on host to ssh into guest
|
||
|
echo 'ssh -o "UserKnownHostsFile=/dev/null" -o "StrictHostKeyChecking=no" ${1:+$1@}127.0.0.1 -p 2222' > "$OUTPUT"/ssh2dropbear.sh &&
|
||
|
chmod +x "$OUTPUT"/ssh2dropbear.sh
|
||
|
|
||
|
# Forward 127.0.0.1:2222 into qemu instance
|
||
|
QEMU_MORE="-nic user,hostfwd=tcp:127.0.0.1:2222-:22"
|