Results 1 to 9 of 9

Thread: Persistent image creation prompt

  1. #1
    Junior Member
    Join Date
    Jun 2010
    Posts
    5

    Persistent image creation prompt

    I'd like to change the text at the persistent image creation prompt, because some of the users of my live CD find it confusing. (It gives sizes with a suffix, e.g. "400MB", but if you type the size with a suffix, image creation fails silently. I want to change the prompt to make it clear that you have to type in a pure number.) The problem is I'm having trouble finding the script responsible for doing persistent image creation. I've looked at the knoppix init scripts in /etc/init.d, and tried grepping phrases from the prompt, but haven't had any success. Can someone point me in the right direction?

  2. #2
    Junior Member
    Join Date
    Jun 2010
    Posts
    5
    Oh, should have mentioned this is Knoppix v6.2.1.

  3. #3
    Senior Member registered user
    Join Date
    Feb 2010
    Posts
    512
    You can find the init script inside the initial ramdisk minirt.gz. If you need help to extract minirt.gz and recreate it then you should read http://www.knoppix.net/wiki/Knoppix_...up_script_text

  4. #4
    Junior Member
    Join Date
    Jun 2010
    Posts
    5
    Ah, thank you. I think that was the clue I needed.

  5. #5
    Senior Member registered user
    Join Date
    Dec 2009
    Posts
    423
    Quote Originally Posted by brodbd View Post
    I'd like to change the text at the persistent image creation prompt, because some of the users of my live CD find it confusing. (It gives sizes with a suffix, e.g. "400MB", but if you type the size with a suffix, image creation fails silently. I want to change the prompt to make it clear that you have to type in a pure number.)
    Why don't you change it to accept both 400 ***AND*** 400MB ?

    You can consider using sed to accomplish the job :-

    Code:
                   $ echo 400MB | sed "s/[^0-9]//g"
                    400
    Code:
                    $ echo 400MB | sed "s/[0-9]//g"
                    MB
    By using sed, you can extract the number portion of the user input. If the user input something else other than 400MB and 400, you might want to prompt for error.

  6. #6
    Moderator Moderator
    Join Date
    Jan 2010
    Location
    Asheville, NC, USA
    Posts
    528
    Quote Originally Posted by klaus2008 View Post
    You can find the init script inside the initial ramdisk minirt.gz. If you need help to extract minirt.gz and recreate it then you should read http://www.knoppix.net/wiki/Knoppix_...up_script_text
    Note: FWIW, the path has changed from
    Code:
    cd /mnt/hda1/knx/master/boot/isolinux
    to
    Code:
    cd /mnt-system/boot/syslinux/


    Cheers!
    Krishna

  7. #7
    Moderator Moderator
    Join Date
    Jan 2010
    Location
    Asheville, NC, USA
    Posts
    528
    Quote Originally Posted by kl522 View Post
    Why don't you change it to accept both 400 ***AND*** 400MB ?

    You can consider using sed to accomplish the job :-

    Code:
                   $ echo 400MB | sed "s/[^0-9]//g"
                    400
    Code:
                    $ echo 400MB | sed "s/[0-9]//g"
                    MB
    By using sed, you can extract the number portion of the user input. If the user input something else other than 400MB and 400, you might want to prompt for error.
    This seems like a good addition, esp. for newbies; the prompt could say "Enter size (MB):"

    Cheers!
    Krishna

  8. #8
    Junior Member
    Join Date
    Jun 2010
    Posts
    5
    Thanks for the suggestion. I may just do that. It would have the added benefit of working for any localization, too.

  9. #9
    Junior Member
    Join Date
    Jun 2010
    Posts
    5
    Here's my attempt at a patch. It now accepts "MB" and "GB" as units (non-case-sensitive) and will loop until it gets valid input, is canceled, or times out. I didn't attempt to add error messages because I only speak English, so I wouldn't be able to properly localize them.

    Code:
    --- /mnt/sda1/knx/master/boot/isolinux/minirtdir/init    2010-07-02 12:59:57.000000000 +0000
    +++ ./init    2010-07-02 12:48:10.000000000 +0000
    @@ -531,12 +531,23 @@
     }
     
     createdata(){
    - local rc size avail
    + local rc size sizein sizeunits avail
      avail="$(df -m /mnt-system | awk '{size=$4}END{print size - 1}')"
      [ "$avail" -ge 200 ] 2>/dev/null || return 2
    - runknoppixchroot /usr/bin/dialog --timeout 10 --inputbox "\n${CREATEIMG1}${avail}${CREATEIMG2}\n" 16 75 2>/tmp/knoppix.size; rc="$?"
    - read size </tmp/knoppix.size; rm -f /tmp/knoppix.size
    - [ "$rc" = "0" -a "$size" -ge 200  -a "$size" -le "$avail" ] 2>/dev/null || return 3
    + until [ "$size" -ge 200  -a "$size" -le "$avail" ] ; do
    +  runknoppixchroot /usr/bin/dialog --timeout 10 --inputbox "\n${CREATEIMG1}${avail}${CREATEIMG2}\n" 16 75 2>/tmp/knoppix.size; rc="$?"
    +  read sizein </tmp/knoppix.size; rm -f /tmp/knoppix.size
    +  [ "x$sizein" = "x" -o "$rc" != "0" ] && return 3
    +  size="$(echo $sizein | sed 's/[^0-9]//g')"
    +  sizeunits="$(echo $sizein | sed 's/[^A-Za-z]//g' | awk '{print toupper($1)}')"
    +  if [ "x$sizeunits" != "x" ] ; then
    +   if [ $sizeunits = "GB" ] ; then
    +    size=$(($size*1024))
    +   elif [ $sizeunits != "MB" ]; then
    +    size=0
    +   fi
    +  fi
    + done
      runknoppixchroot /usr/bin/dialog --yes-label "${ENCRYPT}" --no-label "${NO_ENCRYPT}" --defaultno --yesno "${QUESTION_ENCRYPT}" 16 75 2>/dev/null; rc="$?"
      [ -b /dev/loop0 ]    || mknod -m 755 /dev/loop0 b 7 0
      [ -d /KNOPPIX-DATA ] || mkdir -m 755 /KNOPPIX-DATA

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


MegaRAID 9580-8i8e 16-port 12G SAS/SATA/NVMe 8GB PCIe RAID - 05-50076-00 picture

MegaRAID 9580-8i8e 16-port 12G SAS/SATA/NVMe 8GB PCIe RAID - 05-50076-00

$1619.30



BROADCOM 05-50077-01 PCI-E 4.0 x8 PCI-Express MegaRAID 9560-8i RAID Controller picture

BROADCOM 05-50077-01 PCI-E 4.0 x8 PCI-Express MegaRAID 9560-8i RAID Controller

$739.99



Broadcom 9600-24i Tri-Mode RAID Controller 4.0 NVMe SAS SATA NEW 05-50111-01003 picture

Broadcom 9600-24i Tri-Mode RAID Controller 4.0 NVMe SAS SATA NEW 05-50111-01003

$639.69



Intel VROC Premium RAID Controller Card PCIe Add-On Module VROCPREMMOD picture

Intel VROC Premium RAID Controller Card PCIe Add-On Module VROCPREMMOD

$265.00



Broadcom LSI 9305-16i 12Gbps SAS-3 PCIe x8 HBA 16-Ports Raid Controller picture

Broadcom LSI 9305-16i 12Gbps SAS-3 PCIe x8 HBA 16-Ports Raid Controller

$64.99



OWC Mercury Elite Pro Quad 4 Bay RAID Storage Enclosure USB 3.1 Gen 2 No Drives picture

OWC Mercury Elite Pro Quad 4 Bay RAID Storage Enclosure USB 3.1 Gen 2 No Drives

$149.95



Inspur LSI YZCA-00424-101 12Gbps SAS 3.0 RAID Controller CARD HBA  HDD picture

Inspur LSI YZCA-00424-101 12Gbps SAS 3.0 RAID Controller CARD HBA HDD

$14.99



OWC Mercury Elite Pro 2 Bay RAID Enclosure with USB 3.2  for Dual 3.5 inch HDDs picture

OWC Mercury Elite Pro 2 Bay RAID Enclosure with USB 3.2 for Dual 3.5 inch HDDs

$87.99



9300-8i LSI SAS3008 8-Port 12Gb PCIe IT mode ZFS FreeNAS unRAID 2*SFF-8643 US picture

9300-8i LSI SAS3008 8-Port 12Gb PCIe IT mode ZFS FreeNAS unRAID 2*SFF-8643 US

$49.50



EMC KTN-SL3 15-Bay Disk Array Enclosure w/2x 303-108-000E Cards, Dual PSU,No HDD picture

EMC KTN-SL3 15-Bay Disk Array Enclosure w/2x 303-108-000E Cards, Dual PSU,No HDD

$239.99