Start integration of void-installer and start conversion to non-busybox utils.
This commit is contained in:
parent
ab5201f3ba
commit
44423c3700
4
.gitignore
vendored
4
.gitignore
vendored
@ -1 +1,3 @@
|
||||
void-mklive.sh
|
||||
installer.sh
|
||||
mklive.sh
|
||||
mkrootfs.sh
|
||||
|
2
COPYING
2
COPYING
@ -1,5 +1,3 @@
|
||||
Simplified BSD:
|
||||
|
||||
# Copyright (c) 2009-2013 Juan Romero Pardines.
|
||||
# All rights reserved.
|
||||
#
|
||||
|
16
Makefile
16
Makefile
@ -1,17 +1,23 @@
|
||||
GITVER := $(shell git rev-parse HEAD)
|
||||
VERSION = 0.12
|
||||
VERSION = 0.13
|
||||
PREFIX ?= /usr/local
|
||||
SBINDIR ?= $(PREFIX)/sbin
|
||||
SHAREDIR ?= $(PREFIX)/share
|
||||
DRACUTMODDIR ?= $(PREFIX)/lib/dracut/modules.d/01vmklive
|
||||
|
||||
all:
|
||||
sed -e "s|@@MKLIVE_VERSION@@|$(VERSION) $(GITVER)|g" mklive.sh.in > mklive.sh
|
||||
SHIN += $(shell find -type f -name '*.sh.in')
|
||||
SCRIPTS += $(SHIN:.sh.in=.sh)
|
||||
|
||||
%.sh: %.sh.in
|
||||
sed -e "s|@@MKLIVE_VERSION@@|$(VERSION) $(GITVER)|g" $^ > $@
|
||||
|
||||
all: $(SCRIPTS)
|
||||
|
||||
install: all
|
||||
install -d $(DESTDIR)$(SBINDIR)
|
||||
install -m755 mklive.sh $(DESTDIR)$(SBINDIR)/void-mklive
|
||||
install -m755 void-mkrootfs.sh $(DESTDIR)$(SBINDIR)/void-mkrootfs
|
||||
install -m755 mkrootfs.sh $(DESTDIR)$(SBINDIR)/void-mkrootfs
|
||||
install -m755 installer.sh $(DESTDIR)$(SBINDIR)/void-installer
|
||||
install -d $(DESTDIR)$(DRACUTMODDIR)
|
||||
install -m755 dracut/*.sh $(DESTDIR)$(DRACUTMODDIR)
|
||||
install -d $(DESTDIR)$(SHAREDIR)/void-mklive
|
||||
@ -19,7 +25,7 @@ install: all
|
||||
install -m644 isolinux/*.cfg* $(DESTDIR)$(SHAREDIR)/void-mklive
|
||||
|
||||
clean:
|
||||
-rm -f mklive.sh
|
||||
-rm -f *.sh
|
||||
|
||||
dist:
|
||||
@echo "Building distribution tarball for tag: v$(VERSION) ..."
|
||||
|
7
README
7
README
@ -1,7 +1,7 @@
|
||||
void-mklive - The Void Linux live image maker
|
||||
|
||||
This is a simple shell script to build a live image for the
|
||||
Void linux distribution. The images contain the void-installer package
|
||||
This is a simple shell script to build a live image for the Void
|
||||
Linux distribution. The images contain a simple dialog-based installer
|
||||
to be able to install Void linux to storage disks.
|
||||
|
||||
The generated image can be booted from BIOS and EFI systems (dual boot).
|
||||
@ -34,4 +34,7 @@ Options:
|
||||
Take a look at the configuration file (~/mklive.conf) to tweak some
|
||||
default parameters in the generated image.
|
||||
|
||||
Additionally void-mkrootfs generates a rootfs tarball suitable for unpacking
|
||||
on a directory ready to 'chroot'.
|
||||
|
||||
-- Juan RP <xtraeme@gmail.com>
|
||||
|
1311
installer.sh.in
Normal file
1311
installer.sh.in
Normal file
File diff suppressed because it is too large
Load Diff
41
mklive.sh.in
41
mklive.sh.in
@ -1,4 +1,7 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# vim: set ts=4 sw=4 et:
|
||||
#
|
||||
#-
|
||||
# Copyright (c) 2009-2013 Juan Romero Pardines.
|
||||
# All rights reserved.
|
||||
@ -41,8 +44,8 @@ error_out() {
|
||||
write_etc_motd() {
|
||||
cat >> "$ROOTFS/etc/motd" <<_EOF
|
||||
###############################################################################
|
||||
Autogenerated by void-mklive "@@MKLIVE_VERSION@@"
|
||||
-------------------------------------------------------------------------------
|
||||
Autogenerated by void-mklive "@@MKLIVE_VERSION@@"
|
||||
###############################################################################
|
||||
|
||||
Welcome to the Void Linux Live system, you have been autologged in.
|
||||
This user has full sudo(8) permissions without any password, be careful
|
||||
@ -50,9 +53,11 @@ executing commands through sudo(8).
|
||||
|
||||
To start the installation please type:
|
||||
|
||||
$ sudo void-installer
|
||||
$ sudo void-installer
|
||||
|
||||
and follow the on-screen instructions. Thanks for trying Void Linux.
|
||||
and follow the on-screen instructions. Thanks for using Void Linux.
|
||||
|
||||
http://www.voidlinux.eu
|
||||
|
||||
###############################################################################
|
||||
_EOF
|
||||
@ -92,8 +97,7 @@ _EOF
|
||||
chmod 644 "$1"
|
||||
}
|
||||
|
||||
usage()
|
||||
{
|
||||
usage() {
|
||||
cat <<_EOF
|
||||
Usage: $(basename $0) [options]
|
||||
|
||||
@ -137,6 +141,8 @@ install_packages() {
|
||||
if [ -f $ROOTFS/usr/lib/systemd/system/NetworkManager.service ]; then
|
||||
systemd-nspawn -D $ROOTFS systemctl enable NetworkManager.service >>$LOGFILE 2>&1
|
||||
fi
|
||||
|
||||
install -Dm755 /usr/sbin/void-installer $ROOTFS/usr/sbin/void-installer
|
||||
}
|
||||
|
||||
generate_initramfs() {
|
||||
@ -145,31 +151,16 @@ generate_initramfs() {
|
||||
$XBPS_INSTALL_CMD -r $ROOTFS/kernel_temp -y \
|
||||
base-system void-mklive >>$LOGFILE 2>&1
|
||||
|
||||
# Install some required utilities from util-linux.
|
||||
install -Dm755 $ROOTFS/kernel_temp/usr/bin/mount "$ROOTFS/usr/bin/mount"
|
||||
install -Dm755 $ROOTFS/kernel_temp/usr/sbin/agetty "$ROOTFS/usr/sbin/agetty"
|
||||
install -Dm755 $ROOTFS/kernel_temp/usr/bin/lsblk "$ROOTFS/usr/bin/lsblk"
|
||||
# Install stdbuf from coreutils, required by void-installer.
|
||||
install -Dm755 $ROOTFS/kernel_temp/usr/bin/stdbuf "$ROOTFS/usr/bin/stdbuf"
|
||||
install -Dm755 $ROOTFS/kernel_temp/usr/libexec/coreutils/libstdbuf.so \
|
||||
"$ROOTFS/usr/libexec/coreutils/libstdbuf.so"
|
||||
|
||||
chroot $ROOTFS/kernel_temp /usr/bin/dracut --no-hostonly \
|
||||
--add " dmsquash-live vmklive " --${COMPRESSTYPE} \
|
||||
--add "drm dmsquash-live vmklive" --omit "caps" \
|
||||
--add-drivers "xfs vfat ext2 ext3 ext4 btrfs" --${COMPRESSTYPE} \
|
||||
"/boot/initrd.lz" $KERNELVERSION >>$LOGFILE 2>&1
|
||||
|
||||
mv $ROOTFS/kernel_temp/boot/initrd.lz $BOOT_DIR
|
||||
# We rely on pam now, so let's install the host login config.
|
||||
install -Dm644 $ROOTFS/kernel_temp/etc/pam.d/login \
|
||||
"$ROOTFS/etc/pam.d/login"
|
||||
# Remove pam_motd.so; busybox login already prints it.
|
||||
sed -e '/^.*pam_motd.so*/d' -i "$ROOTFS/etc/pam.d/login"
|
||||
}
|
||||
|
||||
copy_kernel_and_modules() {
|
||||
cp -a $ROOTFS/kernel_temp/boot/vmlinuz-$KERNELVERSION $BOOT_DIR/vmlinuz
|
||||
mkdir -p $ROOTFS/lib/modules
|
||||
cp -a $ROOTFS/kernel_temp/lib/modules/$KERNELVERSION $ROOTFS/lib/modules
|
||||
|
||||
# remove temporary rootfs.
|
||||
rm -rf $ROOTFS/kernel_temp
|
||||
@ -341,7 +332,7 @@ fi
|
||||
if [ -z "$PACKAGE_LIST" ]; then
|
||||
PACKAGE_LIST="base-system-live"
|
||||
else
|
||||
PACKAGE_LIST="base-system-live $PACKAGE_LIST"
|
||||
PACKAGE_LIST="$PACKAGE_LIST"
|
||||
fi
|
||||
if [ ! -f $SYSLINUX_DATADIR/isolinux.bin ]; then
|
||||
echo "Missing required isolinux files in $SYSLINUX_DATADIR, exiting..."
|
||||
@ -461,5 +452,3 @@ hsize=$(du -sh "$OUTPUT_FILE"|awk '{print $1}')
|
||||
info_msg "Created $(readlink -f $OUTPUT_FILE) ($hsize) successfully."
|
||||
|
||||
exit 0
|
||||
|
||||
# vim: set ts=4 sw=4 et:
|
||||
|
0
void-mkrootfs.sh → mkrootfs.sh.in
Executable file → Normal file
0
void-mkrootfs.sh → mkrootfs.sh.in
Executable file → Normal file
Loading…
x
Reference in New Issue
Block a user