This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Portable Cygwin on a CD


There was something on this quite recently, but it turned out to be mainly
about licensing issues. I'm only interested in getting something to work for
personal use. If that can be managed, then I'll worry about licensing
issues, if any. (If it sounds it, that remark isn't intended to be either
arrogant or cheeky. It just seems to be a sensible order to do things in.)

I've a requirement, or at least, a desire,  to run a Cygwin application
whilst sitting at other people's Windows machines, without formally
installing Cygwin on those machines. I've got a CD containing moderately
sparse directories /bin, /etc, /home, /tmp, /usr. It's been built
incrementally, adding anything whose absence is identified through a msg box
when something I want to run fails to do so. The directory /bin contains
choice exe's and dll's. The directories /etc and /home make things work in a
familiar manner. The directory /usr/local contains a small application,
along with associated files. Bash history is turned off in ~/.bash_profile
so that nothing tries to write to the CD, but can be diverted to a: or c:
from the keyboard; similarly any log-files built by the application.

The whole shebang is initiated by simply putting the CD into any Windows
machine and "Run"ing the command

    l:\bin\bash

(OR, for a nicer look'n'feel, l:\bin\rxvt -e /bin/bash --login -i) where l:
is the CD drive letter.

The only not entirely simple aspect of the thing is, or seems to be, the
requirement to type the command

    mount -f "l:/" "/"

at some point after starting up. I've tried any number of ways of automating
this to take place early in /etc/profile or ~/.bash_profile (mount -f
"$HOMEDRIVE" "/" or whatever, but HOMEDRIVE isn't known until it's mounted
...). The requirement for this line is basically that Cygwin needs to be
told the drive letter of the CD drive. (Or, if Cygwin doesn't, then system()
calls from within the application certainly do.)

Well, that's what's intended, and it works quite beautifully in a 98
machine. Those of you more used than I am to the hideous imposed
architectures of identities, administrators, privileges, etc (and
understanding them a lot better, since you could hardly understand them
worse, believe me) will not be surprised to be told that simply walking up
to somebody else's NT or XP machine and inserting the CD and starting it up,
leads to a failure of the mount command described above, signified by the
message

    mount: /: permission denied

Can anybody please help me make progress, either by telling me of any
switches for the mount command that will attend to the access problems
implied by the above error message or (just as good, though depressing)
letting me know that I'm on a hiding to nothing and that in an environment
where most machines are NT / 2K / XP and not 98, there are always going to
be insur-mount-able problems of this kind in attempting to run a portable
Cygwin application?

(Quick thought: if I put everything under l:\Cygwin rather than l:\, would
that make a difference at all?)

Thank you.

Fergus


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]