From: Phil Goembel <phil-goembel@wi.rr.com>
To: Riley Williams <Riley@Williams.Name>
Cc: Linux ELKS <Linux-8086@vger.kernel.org>
Subject: Re: ELKS Development/FAQ Questions
Date: 01 Aug 2003 09:05:54 -0500 [thread overview]
Message-ID: <1059746752.15148.7870.camel@castle> (raw)
In-Reply-To: <BKEGKPICNAKILKJKMHCAKEAKFCAA.Riley@Williams.Name>
[-- Attachment #1: Type: text/plain, Size: 5713 bytes --]
Hi again Riley,
Thanks for taking the time to reply.
On Thu, 2003-07-31 at 01:01, Riley Williams wrote:
> Hi Phil.
>
> > Ok. I'd like to help with the ELKS website, and with the
> > documentation. But my main interest is to help with
> > development of the ELKS code.
> >
> > I have virtually no experience with the Linux development
> > environment, but I do have experience in cross-development
> > for embedded microprocessor systems (in DOS and Win32
> > environments)
>
> You need to remember here that the tools used for ELKS are of
> no use for Linux even though they are for the same processor.
> This is because ELKS only uses the x86 processors in what is
> called "Real Mode" since the 8086 that ELKS is primarily aimed
> at has no other mode, whereas Linux uses it exclusively in
> "386 Protected Mode" and, whilst the actual opcodes are mainly
> the same, the environment they are used in, and the assumptions
> the tools need to make, are completely different.
>
I understand the difference between "Real" mode and "Protected"
mode. That is one reason why I have some reservations about mixing
"Real" mode development tools into the same directories as the native
"Protected" mode tools and libraries.
But, as I have seen from recent posts to the ELKS list, it might
be worthwhile to add this to the FAQ. I am also also thinking it
might be helpful to explain why programming for the x86 "Real" mode
is so different from programming for other MMU-less architectures
(like the "Dragonball", e.g.).
> > I am trying to follow the FAQ in setting up the environment
> > so that I can compile the ELKS kernel, but have almost
> > immediately run into a problem.
> >
> > The FAQ is telling me to install the Dev86 package in the
> > root (/) directory. I don't want to do this, and I see no
> > reason that I should have to.
> >
> > I would much rather do all of my cross development in my
> > home directory, with my standard user privileges, not root
> > privileges. I feel this would be much safer, especially
> > since I already have some tools installed that have the same
> > name as the Dev86 tools. I don't know where they came from,
> > and I'd rather not clobber them.
>
> Have you ever installed the bin86 package? If so, that's an old
> version of the dev86 package, and installing the dev86 package
> will just install more recent versions of all of the same tools.
>
Actually, I appear to have dev86-0.15.5 installed. Looks like I
installed it as an RPM package about 2 years ago. Is this version
too old?
Is there an RPM package for the latest version?
If not, would there be any interest in having one?
I have created some simple RPM packages before, and am also intent on
learning how to create Debian packages (when I said I'm "virtually
ignorant" above, I was referring to setting up and troubleshooting
problems in a GNU tool-chain - I'm usually at a complete loss when
things like "make configure", "make dep", and "make" start spewing out
errors).
> The Linux C compiler is "gcc" and the associated assembler and
> loader are "as" and "ld" respectively. The ELKS compiler is "bcc"
> and its associated assembler and loader are "as86" and "ld86"
> respectively. As a result, it is not possible to interfere with
> one by upgrading the tools associated with the other.
>
> > Is it possible to set up everything in ~/? If so, how
> > is it done? What reasons are there for me NOT to do it that
> > way? If I can't set up everything in ~/, please explain why?
>
> >From a purely practical viewpoint, as long as the relevant tools
> are in a directory in the PATH environment variable, and no
> earlier directory in that variable contains tools with the same
> name, it doesn't actually matter where they are. However, it is
> NOT a good idea to put a user directory ahead of the system
> binary directory.
>
I've read before that it is a bad idea to put a user directory
ahead of the system binary directories, but never an explanation.
Why is this a bad idea?
Does it have something to do with the possibility of a malicious
third-party placing trojans in the user's directories with the same name
as a system binary?
One of my reasons for wanting to install the tools in my user
directory was because I thought that it would be safer than
installing code of uncertain origin in the system binary directories.
I don't like using root privileges if I don't have to, but I can
change my habits if there are compelling reasons to do so.
> The standard place to put personal binaries is in the directory
> ~/bin with the same directory appended to the END of the standard
> PATH variable with an entry of...
>
> if [ -d ~/bin ]; then
> export PATH=${PATH}:~/bin
> fi
>
> ...in your ~/.bashrc file. This ensures that the said directory
> is only added if it actually existed when you logged on.
>
My plan was to have a script to set up a different development
environment (tool chain) depending what project I wish to
work on. Then I normally would not have ~/bin in my PATH
except in the one terminal window I'm using for builds.
Or maybe, once I understand the GNU toolchain better, I
will set things up so that "make configure" or "./configure"
will set up macros with the correct paths for each tool?
> > I will gladly update the ELKS FAQ with any answers you can
> > give me.
>
> Hopefully, the above will help you.
>
> Best wishes from Riley.
> ---
> * Nothing as pretty as a smile, nothing as ugly as a frown.
Everything you've provided has been a help. Thank you.
Regards,
Phil
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2003-08-01 14:05 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-07-24 19:58 Web language codes Riley Williams
2003-07-31 0:33 ` ELKS Development/FAQ Questions Phil Goembel
2003-07-31 6:01 ` Riley Williams
2003-07-31 9:56 ` Raghavan
2003-07-31 21:30 ` Phil Goembel
2003-07-31 21:41 ` Paul Nasrat
2003-08-01 14:19 ` Phil Goembel
2003-08-01 14:05 ` Phil Goembel [this message]
2003-08-01 22:42 ` Riley Williams
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1059746752.15148.7870.camel@castle \
--to=phil-goembel@wi.rr.com \
--cc=Linux-8086@vger.kernel.org \
--cc=Riley@Williams.Name \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox