summaryrefslogtreecommitdiffstats
path: root/remote/rootfs
diff options
context:
space:
mode:
authorSimon Rettberg2014-07-04 14:46:20 +0200
committerSimon Rettberg2014-07-04 14:46:20 +0200
commitd1f5aedd76df437a08f3283fa00bc8a9dab7fa2b (patch)
tree8c046eeaf8e874b479b95964b2bf410365cff438 /remote/rootfs
parentremove hardcoded /bin/rm call. Relative calls work in services files (diff)
downloadtm-scripts-d1f5aedd76df437a08f3283fa00bc8a9dab7fa2b.tar.gz
tm-scripts-d1f5aedd76df437a08f3283fa00bc8a9dab7fa2b.tar.xz
tm-scripts-d1f5aedd76df437a08f3283fa00bc8a9dab7fa2b.zip
"Fedora Support", step 1 ->
Several changes: 1) Make sure /bin /sbin /lib and /lib64 are ALWAYS symlinks to /usr/XXX, no matter what the current distribution does. 2) Make sure nobody and nogroup exist. 3) Fix various modules making assumptions that are not true on every distro. 4) Add symlinks to kdm module since fedora is looking for kdmrc in yet another spot. 5) Add detection of fedora, support its package manager What still breaks: dnbd3 Other distros might not work now, they need adaption to changed logic in some modules.
Diffstat (limited to 'remote/rootfs')
-rw-r--r--remote/rootfs/rootfs-stage31/data/inc/activate_sysconfig1
-rwxr-xr-xremote/rootfs/rootfs-stage31/data/init4
-rw-r--r--remote/rootfs/rootfs-stage31/module.build4
-rw-r--r--remote/rootfs/rootfs-stage32/data/etc/terminfo/l/linux (renamed from remote/rootfs/rootfs-stage32/data/lib/terminfo/l/linux)bin1790 -> 1790 bytes
-rw-r--r--remote/rootfs/rootfs-stage32/data/etc/terminfo/x/xtermbin0 -> 3371 bytes
-rw-r--r--remote/rootfs/rootfs-stage32/data/etc/terminfo/x/xterm-256colorbin0 -> 3437 bytes
-rw-r--r--remote/rootfs/rootfs-stage32/module.build11
-rw-r--r--remote/rootfs/rootfs-stage32/module.conf.fedora18
8 files changed, 29 insertions, 9 deletions
diff --git a/remote/rootfs/rootfs-stage31/data/inc/activate_sysconfig b/remote/rootfs/rootfs-stage31/data/inc/activate_sysconfig
index 036e90ad..5a97d7ac 100644
--- a/remote/rootfs/rootfs-stage31/data/inc/activate_sysconfig
+++ b/remote/rootfs/rootfs-stage31/data/inc/activate_sysconfig
@@ -75,6 +75,7 @@ HEREEND
#
fetch_sysconfig
+. "${CONFIG}-remote"
fetch_config_files
update_sysconfig
true
diff --git a/remote/rootfs/rootfs-stage31/data/init b/remote/rootfs/rootfs-stage31/data/init
index f49b3000..699c68ff 100755
--- a/remote/rootfs/rootfs-stage31/data/init
+++ b/remote/rootfs/rootfs-stage31/data/init
@@ -80,7 +80,9 @@ bench_event "STAGE32" "Downloaded stage 3.2"
# copy files needed for stage3.2 to FUTURE_ROOT
echo "Copying busybox etc. to stage32..."
-tar -cp "/bin" "/sbin" "/inc/functions" | tar -xp -C "${FUTURE_ROOT}/opt/openslx/"
+cp -a "/usr/bin" "/usr/sbin" "${FUTURE_ROOT}/opt/openslx/"
+mkdir -p "${FUTURE_ROOT}/opt/openslx/inc"
+cp -a "/inc/functions" "${FUTURE_ROOT}/opt/openslx/inc/"
# set the SLX_ROOT_PASS if given in config
if [ ! -z "$SLX_ROOT_PASS" ]; then
diff --git a/remote/rootfs/rootfs-stage31/module.build b/remote/rootfs/rootfs-stage31/module.build
index c9346603..bc45b6fd 100644
--- a/remote/rootfs/rootfs-stage31/module.build
+++ b/remote/rootfs/rootfs-stage31/module.build
@@ -4,7 +4,7 @@ fetch_source() {
}
build() {
- local COPYLIST BIN_LOCATION DRM_MODULES FILE BIN MODNAME PCI_FILE ALIAS VENDOR DEVICE
+ local COPYLIST BIN_LOCATION DRM_MODULES FILE BIN MODNAME PCI_FILE ALIAS VENDOR DEVICE LIB
COPYLIST="list_binaries_and_files"
[ -e "$COPYLIST" ] && rm -f "$COPYLIST"
for BIN in $REQUIRED_BINARIES; do
@@ -14,7 +14,7 @@ build() {
done
mkdir -p "$MODULE_BUILD_DIR/lib"
- find /lib /lib64 /usr/lib /usr/lib64 \( -name "libnss_dns*" -o -name "libresolv*" \) -exec cp -a {} "$MODULE_BUILD_DIR/lib/" \;
+ find /lib /lib64 /usr/lib /usr/lib64 \( -name "libnss_dns*" -o -name "libresolv*" \) >> "$COPYLIST"
tarcopy "$(cat "$COPYLIST" | sort -u)" "$MODULE_BUILD_DIR"
diff --git a/remote/rootfs/rootfs-stage32/data/lib/terminfo/l/linux b/remote/rootfs/rootfs-stage32/data/etc/terminfo/l/linux
index 48d722f8..48d722f8 100644
--- a/remote/rootfs/rootfs-stage32/data/lib/terminfo/l/linux
+++ b/remote/rootfs/rootfs-stage32/data/etc/terminfo/l/linux
Binary files differ
diff --git a/remote/rootfs/rootfs-stage32/data/etc/terminfo/x/xterm b/remote/rootfs/rootfs-stage32/data/etc/terminfo/x/xterm
new file mode 100644
index 00000000..438b1581
--- /dev/null
+++ b/remote/rootfs/rootfs-stage32/data/etc/terminfo/x/xterm
Binary files differ
diff --git a/remote/rootfs/rootfs-stage32/data/etc/terminfo/x/xterm-256color b/remote/rootfs/rootfs-stage32/data/etc/terminfo/x/xterm-256color
new file mode 100644
index 00000000..b934be06
--- /dev/null
+++ b/remote/rootfs/rootfs-stage32/data/etc/terminfo/x/xterm-256color
Binary files differ
diff --git a/remote/rootfs/rootfs-stage32/module.build b/remote/rootfs/rootfs-stage32/module.build
index 86a47fd4..90820f3f 100644
--- a/remote/rootfs/rootfs-stage32/module.build
+++ b/remote/rootfs/rootfs-stage32/module.build
@@ -40,7 +40,7 @@ build() {
pinfo "Searching libraries from config file in system... (could take some time)"
for LIB in ${REQUIRED_LIBRARIES}
do
- # lib + lib64: Ugly hack, will be replaced by a better solution
+ # lib + lib64: Ugly hack, will be replaced by a better solution
for LIB_LOCATION in $(find /lib/ /lib64/ -name "${LIB}.so*")
do
get_link_chain "${LIB_LOCATION}" >> "${FILELIST}"
@@ -89,11 +89,8 @@ post_copy() {
# set terminal to linux as it defaults to xterm which messes up ssh sessions
add_env TERM "linux"
- # copy static files
- cp -r "${MODULE_DIR}"/data/* "${TARGET_BUILD_DIR}" || perror "Copying static files from data/* failed."
-
# quick fix for /etc/fstab
- echo "# no configuration" >> "${TARGET_BUILD_DIR}/etc/fstab"
+ [ ! -e "${TARGET_BUILD_DIR}/etc/fstab" ] && echo "# no configuration" > "${TARGET_BUILD_DIR}/etc/fstab"
# link /etc/mtab, needed for systemd
[ ! -e "${TARGET_BUILD_DIR}/etc/mtab" ] && ln -s "/proc/self/mounts" "${TARGET_BUILD_DIR}/etc/mtab"
@@ -103,8 +100,10 @@ post_copy() {
# quick fix for missing group in /etc/group
add_group "lock"
+ add_group "nogroup"
+ add_user "nobody"
- # setup root accoun
+ # setup root account
USER=root add_user
DEMO_ID="$(USER=demo PASSWORD=demo USERHOME=/home/demo USERSHELL=/bin/bash add_user)"
diff --git a/remote/rootfs/rootfs-stage32/module.conf.fedora b/remote/rootfs/rootfs-stage32/module.conf.fedora
new file mode 100644
index 00000000..d714a2c7
--- /dev/null
+++ b/remote/rootfs/rootfs-stage32/module.conf.fedora
@@ -0,0 +1,18 @@
+REQUIRED_INSTALLED_PACKAGES="
+ ntpdate
+ nfs-utils
+ xfsprogs
+ squashfs-tools
+ jfsutils
+ curl
+ xvidtune
+ xterm
+"
+REQUIRED_CONTENT_PACKAGES="
+"
+REQUIRED_DIRECTORIES="
+ /usr/$LIB64/xtables
+"
+REQUIRED_FILES+="
+ /usr/share/X11/app-defaults/Xvidtune
+"