Page 1 of 1

cannot install to RAM stick

Posted: Sun Nov 02, 2008 7:34 pm
by pjlbyrne
Hello,

I am trying to run mm_local_install to put an image on a USB stick. If someone could please help......

This is what happens:

Code: Select all

root@lucy:/home/patrick/minimyth#  sh mm_local_install . sdb file:///home/patrick/minimyth/mm21
ln: creating symbolic link `mm_local_helper_old': File exists
local: 695: 'file:///home/patrick/minimyth/mm21/helper.tar.bz2'.: bad variable name
info: mm_local_helper_old: fetching

Making a bootable flash device based on the following information:
    Flash device                    : /dev/sdb
    Flash device vendor             : Kingston
    Flash device model              : DataTraveler II
    MiniMyth configuration directory: ./conf
    MiniMyth distribution URL       : file:///home/patrick/minimyth/mm21
    MiniMyth version                : 0.21.0-59
Continue [y/N]? y


local: 695: 'file:///home/patrick/minimyth/mm21/ram-minimyth-0.21.0-59.tar.bz2.md5'.: bad variable name
info: mm_local_helper_new: fetching
local: 695: 'file:///home/patrick/minimyth/mm21/ram-minimyth-0.21.0-59.tar.bz2'.: bad variable name
info: mm_local_helper_new: fetching
umount: /dev/sdb: not mounted
mkfs.msdos 2.11 (12 Mar 2005)
mkfs.msdos: unable to open /dev/sdb
syslinux: this doesn't look like a valid FAT filesystem
mount: /dev/sdb already mounted or //tmp/mm_local_install/minimyth busy
umount: //tmp/mm_local_install/minimyth: not mounted
MiniMyth install was successful.
root@lucy:/home/patrick/minimyth# 
I have downloaded the files from http://minimyth.org/download/stable/latest/ to the mm21 directory. Can someone please interpret the output of this script? I get the 'bad variable' name error if I leave the url unspecified. Nothing gets written to the RAM stick even though the scipts says it was 'successful'.

Host system is running Ubuntu 8.10. If I get a boot image I hope to stick it on an old Epia M6000.

Thanks,
Patrick Byrne

Posted: Mon Nov 03, 2008 11:12 pm
by pjlbyrne
Perhaps this may be relevant:

https://bugs.launchpad.net/ubuntu/+sour ... bug/139097

--
This is not a bug. "local" is a bash-specific feature which is not defined in the POSIX standard for sh (the POSIX shell).

If you want to run scripts that require bash-specific features, then you should change them to use #!/bin/bash at the top; by using #!/bin/sh you are agreeing that your shell script uses POSIX-compliant features only and will run with a POSIX standard shell.
--

Posted: Tue Nov 04, 2008 2:33 am
by Pablo
pjlbyrne wrote:Perhaps this may be relevant:

https://bugs.launchpad.net/ubuntu/+sour ... bug/139097

--
This is not a bug. "local" is a bash-specific feature which is not defined in the POSIX standard for sh (the POSIX shell).

If you want to run scripts that require bash-specific features, then you should change them to use #!/bin/bash at the top; by using #!/bin/sh you are agreeing that your shell script uses POSIX-compliant features only and will run with a POSIX standard shell.
--
In the abstract, I agree that scripts calling #!/bin/sh should use the least common denominator. However, in practice, I do not agree. There suggestion is not practical. There are multiple shells in the bash family (including ash and dash), all of which support the very useful 'local'. So, which one should be referenced?

The 'local' built-in is broken in the dash shell, so they use the excuse that 'local' built-in is not part of the POSIX shell standard so lets just remove it. The dash shell is a decedent of the ash shell, both of which are in the bash family. Both the bash and ash shells support the 'local' built-in.

The implementers of dash should fix their implementation. Alternatively, they could rename their shell so that people know that it has abandon its ash roots.