Use /data if it exists and is writeable, otherwise use /usr/tmp to
[bootcd.git] / build.sh
index bff2262..c150605 100755 (executable)
--- a/build.sh
+++ b/build.sh
@@ -100,12 +100,19 @@ FULL_VERSION_STRING="$PLC_NAME BootCD $BOOTCD_VERSION"
 
 echo "* Building images for $FULL_VERSION_STRING"
 
-# From within a myplc chroot /tmp is too small to build
-# all possible images, whereas /data is part of the host
+# From within a myplc chroot /usr/tmp is too small 
+# to build all possible images, whereas /data is part of the host
 # filesystem and usually has sufficient space.  What we
 # should do is check whether the expected amount of space
 # is available.
-[ -d /data ] && BUILDTMP=/data || BUILDTMP=/tmp
+BUILDTMP=/usr/tmp
+if [ -d /data ] ; then
+       isreadonly=$(mktemp /data/isreadonly.XXXXXX)
+       if [ $? -eq 0 ] ; then
+               rm -f "$isreadonly"
+               BUILDTMP=/data
+       fi
+fi
 
 # Root of the ISO and USB images
 echo "* Populating root filesystem..."
@@ -378,11 +385,17 @@ popd
 # update etc/inittab to start with pl_rsysinit
 sed -i 's,pl_sysinit,pl_rsysinit,' etc/inittab
 
+# modify inittab to have a serial console
+echo "T0:23:respawn:/sbin/agetty -L ttyS0 9600 vt100" >> etc/inittab
+# and let root log in
+echo "ttyS0" >> etc/securetty
+
 #calculate the size of /tmp based on the size of /etc & /var + 8MB slack
 etcsize=$(du -s ./etc | awk '{ print $1 }')
 varsize=$(du -s ./etc | awk '{ print $1 }')
 let msize=($vsize+$esize+8192)/1024
 
+
 # generate pl_rsysinit
 cat > etc/rc.d/init.d/pl_rsysinit <<EOF
 #!/bin/sh
@@ -530,14 +543,14 @@ cp ${BUILDTMP}/cramfs.img $tmp/
 
 # Use syslinux instead of isolinux to make the image bootable
 cat >$tmp/syslinux.cfg <<EOF
-SERIAL 0 115200
+SERIAL 0 9600
 PROMPT 0
 TIMEOUT 120
 DISPLAY pl_version
 DEFAULT serial
 LABEL serial
        KERNEL kernel
-       APPEND ramdisk_size=$cramfs_size initrd=cramfs.img root=/dev/ram0 ro  console=ttyS0,115200n8
+       APPEND ramdisk_size=$cramfs_size initrd=cramfs.img root=/dev/ram0 ro  console=ttyS0,9600n8
 EOF
 umount $tmp
 rmdir $tmp