This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Headless (Serial Console) Installation?

Is it possible?  I'm attempting to install on a device which has no video card.  I can see the options over serial once it boots - 

"boot:" prompt and instructions about Enter, F1 and F3.  But after that nothing shows on the serial console.

Is it possible to perform the install this way?


This thread was automatically locked due to age.
Parents
  • I guess no but I made this script some time ago to automate ASG ISO installations. You can use the installer.ini file to burn-in custom settings into the modified ISO.

    Basically you run it on a Linux box:

    sudo asg2asi.sh asg-9.004-33.1.iso


    This will produce a modified, automated ISO that you can burn or put on an ASI/SUSI stick. If you don't want to further customize the ISO, delete the installer.ini file and it will use the defaults (except timezone).

    asg2asi.sh
    #!/bin/bash

    CWD=`pwd`
    BASE="/tmp/$$.asg2asi"
    ISO=`basename $1`
    ISOPATH="`dirname $1`/$ISO"
    ISOTYPE=`echo $ISO | cut -d '-' -f 1`
    ISONAME=`echo $ISO | cut -d '-' -f 2-`
    BISO="$BASE/iso"
    BPATCH="$BASE/patched"

    on_die() {
      echo "Interrupting..."
      cd "$CWD"
      if [ -e "$BISO" ]; then
        sudo umount "$BISO"
      fi
      exit 1
    }

    trap 'on_die' TERM
    trap 'on_die' KILL
    trap 'on_die' INT

    if [ ! -e "$ISOPATH" ]; then
      echo "Please specify an existing ASG ISO file: asg-*.iso"
      on_die
    fi

    if [ ! "$ISOTYPE" = "asg" ]; then
      echo "Sorry, only ASG ISOs supported"
      on_die
    fi

    if [ -e "$CWD/installer.ini" ]; then
      echo "Using custom installer.ini"
      INI="$CWD/installer.ini"
    fi

    if [ -e "$CWD/70-persistent-net.rules" ]; then
      echo "Using custom 70-persistent-net.rules"
      UDEV="$CWD/70-persistent-net.rules"
    fi

    # Make sure we're clean
    rm -rf "$BASE"

    echo "Copy contents of ISO to Patching Area: '$BPATCH'"
    mkdir -p "$BISO"
    mkdir -p "$BPATCH"
    sudo mount -o loop "$ISOPATH" "$BISO"
    cp -a "$BISO"/* "$BPATCH"

    echo "Patch initramfs"
    mkdir -p "$BPATCH/patched-initramfs"
    chmod 755 "$BPATCH/isolinux"
    chmod 644 "$BPATCH/isolinux"/*
    mv "$BPATCH/isolinux/initramfs.gz" "$BPATCH/patched-initramfs"
    cd "$BPATCH/patched-initramfs"
    zcat initramfs.gz | (while true; do cpio -m -i -d -H newc --no-absolute-filenames 2> /dev/null || exit; done)
    rm -f initramfs.gz
    if [ ! "$UDEV" = "" ]; then
      echo "Integrating custom 70-persistent-net.rules"
      mkdir -p "$BPATCH/patched-initramfs/etc/bootstrap/postinst.d"
      cat > "$BPATCH/patched-initramfs/etc/bootstrap/postinst.d/77-nicsort.sh"  /dest/etc/udev/rules.d/70-persistent-net.rules  /dev/null | gzip -9 > initramfs.gz
    mv initramfs.gz "$BPATCH/isolinux/initramfs.gz"
    rm -rf "$BPATCH/patched-initramfs"

    echo "Patch isolinux.cfg"
    chmod 660 "$BPATCH/isolinux/isolinux.cfg"
    sed -i "s/APPEND/APPEND auto ini\=file\:\/\/\/install\/installer\.ini/" "$BPATCH/isolinux/isolinux.cfg"
    sed -i "s/TIMEOUT 300/TIMEOUT 10/" "$BPATCH/isolinux/isolinux.cfg"

    # Add installer.ini
    if [ "$INI" = "" ]; then
      echo "Integrating default installer.ini: 192.168.0.1/24 [eth0], US, GMT+1 [UTC]"
      cat > "$BPATCH/installer.ini" 


    installer.ini
    [global]
    finish   = reboot
    checksum = on

    [network]
    interface = eth0
    ipaddr    = 192.168.0.3
    netmask   = 255.255.252.0

    [regional]
    timezone = Europe/Berlin
    keyboard = DE
    utc      = on
Reply
  • I guess no but I made this script some time ago to automate ASG ISO installations. You can use the installer.ini file to burn-in custom settings into the modified ISO.

    Basically you run it on a Linux box:

    sudo asg2asi.sh asg-9.004-33.1.iso


    This will produce a modified, automated ISO that you can burn or put on an ASI/SUSI stick. If you don't want to further customize the ISO, delete the installer.ini file and it will use the defaults (except timezone).

    asg2asi.sh
    #!/bin/bash

    CWD=`pwd`
    BASE="/tmp/$$.asg2asi"
    ISO=`basename $1`
    ISOPATH="`dirname $1`/$ISO"
    ISOTYPE=`echo $ISO | cut -d '-' -f 1`
    ISONAME=`echo $ISO | cut -d '-' -f 2-`
    BISO="$BASE/iso"
    BPATCH="$BASE/patched"

    on_die() {
      echo "Interrupting..."
      cd "$CWD"
      if [ -e "$BISO" ]; then
        sudo umount "$BISO"
      fi
      exit 1
    }

    trap 'on_die' TERM
    trap 'on_die' KILL
    trap 'on_die' INT

    if [ ! -e "$ISOPATH" ]; then
      echo "Please specify an existing ASG ISO file: asg-*.iso"
      on_die
    fi

    if [ ! "$ISOTYPE" = "asg" ]; then
      echo "Sorry, only ASG ISOs supported"
      on_die
    fi

    if [ -e "$CWD/installer.ini" ]; then
      echo "Using custom installer.ini"
      INI="$CWD/installer.ini"
    fi

    if [ -e "$CWD/70-persistent-net.rules" ]; then
      echo "Using custom 70-persistent-net.rules"
      UDEV="$CWD/70-persistent-net.rules"
    fi

    # Make sure we're clean
    rm -rf "$BASE"

    echo "Copy contents of ISO to Patching Area: '$BPATCH'"
    mkdir -p "$BISO"
    mkdir -p "$BPATCH"
    sudo mount -o loop "$ISOPATH" "$BISO"
    cp -a "$BISO"/* "$BPATCH"

    echo "Patch initramfs"
    mkdir -p "$BPATCH/patched-initramfs"
    chmod 755 "$BPATCH/isolinux"
    chmod 644 "$BPATCH/isolinux"/*
    mv "$BPATCH/isolinux/initramfs.gz" "$BPATCH/patched-initramfs"
    cd "$BPATCH/patched-initramfs"
    zcat initramfs.gz | (while true; do cpio -m -i -d -H newc --no-absolute-filenames 2> /dev/null || exit; done)
    rm -f initramfs.gz
    if [ ! "$UDEV" = "" ]; then
      echo "Integrating custom 70-persistent-net.rules"
      mkdir -p "$BPATCH/patched-initramfs/etc/bootstrap/postinst.d"
      cat > "$BPATCH/patched-initramfs/etc/bootstrap/postinst.d/77-nicsort.sh"  /dest/etc/udev/rules.d/70-persistent-net.rules  /dev/null | gzip -9 > initramfs.gz
    mv initramfs.gz "$BPATCH/isolinux/initramfs.gz"
    rm -rf "$BPATCH/patched-initramfs"

    echo "Patch isolinux.cfg"
    chmod 660 "$BPATCH/isolinux/isolinux.cfg"
    sed -i "s/APPEND/APPEND auto ini\=file\:\/\/\/install\/installer\.ini/" "$BPATCH/isolinux/isolinux.cfg"
    sed -i "s/TIMEOUT 300/TIMEOUT 10/" "$BPATCH/isolinux/isolinux.cfg"

    # Add installer.ini
    if [ "$INI" = "" ]; then
      echo "Integrating default installer.ini: 192.168.0.1/24 [eth0], US, GMT+1 [UTC]"
      cat > "$BPATCH/installer.ini" 


    installer.ini
    [global]
    finish   = reboot
    checksum = on

    [network]
    interface = eth0
    ipaddr    = 192.168.0.3
    netmask   = 255.255.252.0

    [regional]
    timezone = Europe/Berlin
    keyboard = DE
    utc      = on
Children