diff options
author | Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar> | 2011-06-18 18:38:58 -0300 |
---|---|---|
committer | Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar> | 2011-06-18 18:38:27 -0300 |
commit | 85d243ff5836fc17416c65dca8a9e8b4e9d915bc (patch) | |
tree | 78b3ec86fea064580c43966da866d46e31ab7007 /configs/releng/root-image/etc/rc.d | |
parent | 4a1bd4c7697bdc7aa89eca04009d868e4dd39cb4 (diff) | |
download | archiso32-85d243ff5836fc17416c65dca8a9e8b4e9d915bc.tar.xz |
[archiso] Use dm-snapshot instead of aufs2 (A.K.A. "The Big Commit")
* Use device mapper + snapshot module, instead union layer filesystem.
* A block-level approach vs vfs-level.
* No more unofficial (Linux) things.
* More memory is needed.
* Refactor mkarchiso.
* Refactor hooks/archiso.
* Fix install/archiso_pxe_nbd
(due recent change in mkinitcpio-0.6.15 on checked_modules()/all_modules())
[Thanks Dave for the improved workaround]
* New configs/releng to build official images.
* Works with a Bash script instead of Makefile.
(better control and easy to maintain)
* Remove configs/syslinux-iso.
* Remove archiso2dual script. Integrate functionality in configs/releng.
* New configs/baseline to build the most basic live medium or use as template.
* New README (draft). [Thanks Dieter for fixing english grammar]
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
Diffstat (limited to 'configs/releng/root-image/etc/rc.d')
-rwxr-xr-x | configs/releng/root-image/etc/rc.d/archiso | 48 | ||||
-rw-r--r-- | configs/releng/root-image/etc/rc.d/functions.d/automated_script | 25 |
2 files changed, 73 insertions, 0 deletions
diff --git a/configs/releng/root-image/etc/rc.d/archiso b/configs/releng/root-image/etc/rc.d/archiso new file mode 100755 index 0000000..1429516 --- /dev/null +++ b/configs/releng/root-image/etc/rc.d/archiso @@ -0,0 +1,48 @@ +# vim: set ft=sh: +. /etc/rc.conf +. /etc/rc.d/functions + +do_makeuser () +{ + stat_busy "Making the default user arch" + addgroups="audio,disk,optical,wheel" + useradd -m -p "" -g users -G $addgroups arch + stat_done +} + +do_locale_gen () +{ + stat_busy "Generating locales..." + sed -i "s/#\(${LOCALE/[@.]*}\)/\1/" /etc/locale.gen + /usr/sbin/locale-gen > /dev/null + stat_done +} + +# If an alternate console was specified on the kernel command line, +# start agetty on it too. +do_special_console() +{ + cmdline_console="$(kernel_cmdline console)" + [ $? -ne 0 ] && return + + dev="${cmdline_console%%,*}" + args="${cmdline_console##*,}" + baud="${args%%[neo]*}" && baud="${baud:-"9600"}" + [ "x${args}" != "x${args%%r}" ] && rts="-h" + + + stat_busy "Starting agetty on console: ${cmdline_console}" + echo "${dev}" >> /etc/securetty + echo "z0:2345:respawn:/sbin/agetty ${rts} ${baud} ${dev} linux" >> /etc/inittab + /sbin/telinit q + stat_done +} + +case "$1" in + start) + do_locale_gen + do_makeuser + do_special_console + ;; +esac +exit 0 diff --git a/configs/releng/root-image/etc/rc.d/functions.d/automated_script b/configs/releng/root-image/etc/rc.d/functions.d/automated_script new file mode 100644 index 0000000..edb8ea3 --- /dev/null +++ b/configs/releng/root-image/etc/rc.d/functions.d/automated_script @@ -0,0 +1,25 @@ +. /etc/archiso/functions + +automated_script () +{ + script="$(kernel_cmdline script)" + if [[ -n "$script" ]]; then + stat_busy "Configuring $script" + if [[ "$script" =~ ^http:// || "$script" =~ ^ftp:// ]]; then + wget "$script" -q -O /tmp/startup_script >/dev/null + rt=$? + else + cp "$script" /tmp/startup_script + rt=$? + fi + if [ $rt -eq 0 ]; then + chmod +x /tmp/startup_script + echo -e '\nif [ $(tty) = "/dev/tty1" ]; then\n /tmp/startup_script\nfi\n' >> /root/.bash_profile + stat_done + else + stat_fail + fi + fi +} + +add_hook multi_end automated_script |