-
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?
-
Oh, should have mentioned this is Knoppix v6.2.1.
-
Senior Member
registered user
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
-

Originally Posted by
klaus2008
Note: FWIW, the path has changed from
Code:
cd /mnt/hda1/knx/master/boot/isolinux
to
Code:
cd /mnt-system/boot/syslinux/
Cheers!
Krishna
-
Ah, thank you. I think that was the clue I needed.
-
Senior Member
registered user

Originally Posted by
brodbd
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.
-

Originally Posted by
kl522
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
-
Thanks for the suggestion. I may just do that. It would have the added benefit of working for any localization, too.
-
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
-
Forum Rules

Fujinet 1.7.1 Atari 400 800 800XL 130XE 65XE XEGS Assembled, Tested, Working
$99.99

Atari 400 / 800 Computer Memory Module 16K RAM PCB CX853 - Works Perfectly
$18.95

Vintage 1984: Super Sketch G2300 For Atari Home Computer
$72.00

GreaseWeazle v4 board USB floppy drive adapter Retro All Formats
$35.00

Vintage Atari 1050 Disk Drive w/ SIO Cable & 32 Games/Programs - UNTESTED
$67.76

A8PicoCart Multicart for Atari 800xl /65xe / 130xe / XEGS
$16.95

VTG Atari 800XL Home Computer Retro System Console Untested Parts Repair Only
$119.99

Atari 1200 XL home computer with original owners guide and power supply power on
$255.00

Atari 850 Interface Module For ATARI 400/800 Computer Vintage Tested
$50.00

Atari 400 Home Computer System includes Power Cord G2U
$159.99