[lxc-devel] [lxc/master] plamo: Add support for Plamo-7.x
tenforward on Github
lxc-bot at linuxcontainers.org
Thu Mar 1 08:48:41 UTC 2018
A non-text attachment was scrubbed...
Name: not available
Type: text/x-mailbox
Size: 355 bytes
Desc: not available
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20180301/7c5eb853/attachment.bin>
-------------- next part --------------
From 06d3fe83ecb993b9820b76afec3499967a02c86b Mon Sep 17 00:00:00 2001
From: KATOH Yasufumi <karma at jazz.email.ne.jp>
Date: Wed, 28 Feb 2018 18:21:17 +0900
Subject: [PATCH] plamo: Add support for Plamo-7.x
Signed-off-by: KATOH Yasufumi <karma at jazz.email.ne.jp>
---
templates/lxc-plamo.in | 138 +++++++++++++++++++++++++++++++++++++++----------
1 file changed, 112 insertions(+), 26 deletions(-)
diff --git a/templates/lxc-plamo.in b/templates/lxc-plamo.in
index ec442ec3a..a469dc1b6 100644
--- a/templates/lxc-plamo.in
+++ b/templates/lxc-plamo.in
@@ -43,15 +43,6 @@ export PATH=$PATH:/usr/sbin:/usr/bin:/sbin:/bin
[ -r /etc/default/lxc ] && . /etc/default/lxc
-DLSCHEME=${DLSCHEME:-"http"}
-MIRRORSRV=${MIRRORSRV:-"repository.plamolinux.org"}
-MIRRORPATH=${MIRRORPATH:-"/pub/linux/Plamo"}
-CATEGORIES=${CATEGORIES-"00_base 01_minimum"}
-EXTRACTGRS=${EXTRACTGRS-""}
-IGNOREPKGS=${IGNOREPKGS-"grub kernel lilo linux_firmware microcode_ctl
- cpufreqd cpufrequtils gpm ntp kmod"}
-ADDONPKGS=${ADDONPKGS-"`echo contrib/Hamradio/{morse,qrq}`"}
-
download_plamo() {
# check the mini plamo was not already downloaded
if ! mkdir -p $ptcache ; then
@@ -127,7 +118,15 @@ install_plamo() {
# command into the lxc cache directory to keep the original uid/
# gid of files/directories.
echo "Installing 'installpkg' command into $dlcache/sbin..."
- ( cd $dlcache ; tar xpJf hdsetup-*.txz ; rm -rf tmp usr var )
+
+ if [ $majorver -ge 7 ]; then
+ pkgtool="pkgtools"
+ else
+ pkgtool="hdsetup"
+ fi
+
+ ( cd $dlcache ; tar xpJf "$pkgtool"-*.txz ; rm -rf tmp usr var )
+
sed -i "/ldconfig/!s@/sbin@$dlcache&@g" $dlcache/sbin/installpkg*
PATH=$dlcache/sbin:$PATH
echo "Installing packages to $rtcache..."
@@ -146,18 +145,18 @@ install_plamo() {
) 9> @LOCALSTATEDIR@/lock/subsys/lxc-plamo
}
-configure_plamo() {
+configure_plamo6() {
# suppress log level output for udev
sed -i 's/="err"/=0/' $rootfs/etc/udev/udev.conf
# /etc/fstab
cat <<- "EOF" > $rootfs/etc/fstab
- none /proc proc defaults 0 0
- none /sys sysfs defaults 0 0
- none /dev tmpfs defaults 0 0
- none /tmp tmpfs defaults 0 0
- none /dev/pts devpts gid=5,mode=620 0 0
- none /proc/bus/usb usbfs noauto 0 0
- none /var/lib/nfs/rpc_pipefs rpc_pipefs defaults 0 0
+ none /proc proc defaults 0 0
+ none /sys sysfs defaults 0 0
+ none /dev tmpfs defaults 0 0
+ none /tmp tmpfs defaults 0 0
+ none /dev/pts devpts gid=5,mode=620 0 0
+ none /proc/bus/usb usbfs noauto 0 0
+ none /var/lib/nfs/rpc_pipefs rpc_pipefs defaults 0 0
EOF
# /etc/inittab
cat <<- "EOF" | patch $rootfs/etc/inittab
@@ -173,16 +172,8 @@ configure_plamo() {
< c5:1235:respawn:/sbin/agetty 38400 tty5 linux
< c6:12345:respawn:/sbin/agetty 38400 tty6 linux
EOF
- # set the hostname
- echo "$name" > $rootfs/etc/HOSTNAME
- # set minimal hosts
- echo "127.0.0.1 localhost $name" > $rootfs/etc/hosts
# configure the network using the dhcp
echo "DHCP" > $rootfs/var/run/inet1-scheme
- # localtime (JST)
- ln -s ../usr/share/zoneinfo/Asia/Tokyo $rootfs/etc/localtime
- # disable pam_loginuid.so in /etc/pam.d/login (for libvirt's lxc driver)
- sed -i '/pam_loginuid/s/^/#/' $rootfs/etc/pam.d/login
# glibc configure
mv $rootfs/etc/ld.so.conf{.new,}
chroot $rootfs ldconfig
@@ -240,6 +231,82 @@ configure_plamo() {
return 0
}
+configure_plamo7() {
+ # fstab
+ cat <<- "EOF" >> $rootfs/etc/fstab
+ proc /proc proc defaults 0 0
+ tmpfs /run tmpfs defaults 0 0
+ sysfs /sys sysfs defaults 0 0
+ tmpfs /tmp tmpfs defaults 0 0
+ devpts /dev/pts devpts gid=5,mode=620 0 0
+ usbfs /proc/bus/usb usbfs noauto 0 0
+ EOF
+
+ # inittab
+ sed -i -e '/^1:2345/i c:1235:respawn:/sbin/agetty console 38400'\
+ -e '/^ca:/a pf::powerfail:/sbin/shutdown -h +0 "THE POWER IS FAILING"' \
+ -e '/^4:2345/d' \
+ -e '/^5:2345/d' \
+ -e '/^6:2345/d' $rootfs/etc/inittab
+
+ # tweak init script on startup
+ remove_init_S="S05modules S10eudev S20swap S30checkfs S35setclock S50eudev_retry S70console"
+ for f in $remove_init_S
+ do
+ rm -f $rootfs/etc/rc.d/rcS.d/"$f"
+ done
+
+ # remove init script in runlevel3
+ remove_init="rc3.d/S30sshd
+ rc6.d/K30sshd rc6.d/K35setclock rc6.d/S65swap rc6.d/S70mountfs
+ rc0.d/K30sshd rc0.d/K35setclock rc0.d/S65swap rc0.d/S70mountfs"
+ for f in $remove_init
+ do
+ rm -f $rootfs/etc/rc.d/"$f"
+ done
+
+ # Tweak rc script
+ sed -i -e '/wait_for_user/d' \
+ -e '/Press Enter to/d' \
+ $rootfs/etc/rc.d/init.d/rc
+
+ # network
+ cat <<- "EOF" > $rootfs/etc/sysconfig/ifconfig.eth0
+ ONBOOT="yes"
+ IFACE="eth0"
+ SERVICE="dhclient"
+ EOF
+
+ # initpkg
+ noexec="shadow netconfig7 eudev openssh"
+ for f in $noexec
+ do
+ rm -f $rootfs/var/log/initpkg/"$f"
+ done
+ pushd $rootfs
+ for f in var/log/initpkg/*
+ do
+ chroot $rootfs sh ./$f
+ done
+ popd
+}
+
+configure_plamo() {
+ # set the hostname
+ echo "$name" > $rootfs/etc/HOSTNAME
+ # set minimal hosts
+ echo "127.0.0.1 localhost $name" > $rootfs/etc/hosts
+ # localtime (JST)
+ ln -s ../usr/share/zoneinfo/Asia/Tokyo $rootfs/etc/localtime
+ # disable pam_loginuid.so in /etc/pam.d/login
+ sed -i '/pam_loginuid/s/^/#/' $rootfs/etc/pam.d/login
+ if [ $majorver -ge 7 ]; then
+ configure_plamo7
+ else
+ configure_plamo6
+ fi
+}
+
copy_configuration() {
ret=0
cat <<- EOF >> $path/config || let ret++
@@ -351,6 +418,25 @@ if [ `id -u` -ne 0 ] ; then
echo "This script should be run as 'root'."
exit 1
fi
+
+majorver=${release%.*}
+if [ $majorver -ge 7 ]; then
+ CATEGORIES=${CATEGORIES-"00_base"}
+ ADDONPKGS=${ADDONPKGS-""}
+else
+ CATEGORIES=${CATEGORIES-"00_base 01_minimum"}
+ ADDONPKGS=${ADDONPKGS-"`echo contrib/Hamradio/{morse,qrq}`"}
+fi
+
+DLSCHEME=${DLSCHEME:-"http"}
+MIRRORSRV=${MIRRORSRV:-"repository.plamolinux.org"}
+MIRRORPATH=${MIRRORPATH:-"/pub/linux/Plamo"}
+CATEGORIES=${CATEGORIES-"00_base 01_minimum"}
+EXTRACTGRS=${EXTRACTGRS-""}
+IGNOREPKGS=${IGNOREPKGS-"grub kernel lilo linux_firmware microcode_ctl
+ linux_firmwares cpufreqd cpufrequtils gpm ntp kmod kmscon"}
+ADDONPKGS=${ADDONPKGS-"`echo contrib/Hamradio/{morse,qrq}`"}
+
cache="${LXC_CACHE_PATH:- at LOCALSTATEDIR@/cache/lxc}"
ptcache=$cache/partial-${prog##*-}-$release-$arch
dlcache=$cache/cache-${prog##*-}-$release-$arch
More information about the lxc-devel
mailing list