* root disk!
@ 2002-10-14 17:49 Miguel Bolanos
2002-10-14 19:10 ` Paul Nasrat
0 siblings, 1 reply; 3+ messages in thread
From: Miguel Bolanos @ 2002-10-14 17:49 UTC (permalink / raw)
To: elks
Hi all!
i have been trying to create an elks root disk, but when i run 'make root'
on the elkscmd dir, it mounts the minixfs to /mnt/elks/ it runs the script
/mnt/elks/dev/MAKEDEV, but it gets executed i get the folling error:
(cd /mnt/elks/dev ; ./MAKEDEV)
ERROR: "/dev/MAKESET" script missing, unable to continue.
make: *** [mount_rootfs] Error 1
root@athena:/ELKS/elkscmd#
i tryed changing the path to the MAKESET script on my rootfs_template/dev/MAKEDEV
file, to point to /mnt/elks/dev/MAKESET, but i still get the same error
with the only difference that it gives me the new path to the MAKESET
script.
Any ideas?
2 additional things that i would like to mention is that i have realized
is that the current documentation on how to create root disks for elks is
not good enought i have found some issues that are not documented, such
as... /mnt/elks must exist because it is needed to mount the minixfs
there, the error is very obvious but still i belive it should be on the
papers, as well i found that it runs /bin/test, but test is actually a is
a shell builtin so of course it cant be found under that path, solved this
by creating a dummy script under /bin/test:
#! /bin/sh
test
that way it will be found and executed, for some un experienced users this
could be a problem, this is the farest i have been able to get, thanks in
advice for all your help.
--
Miguel A. Bolanos
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: root disk!
2002-10-14 17:49 root disk! Miguel Bolanos
@ 2002-10-14 19:10 ` Paul Nasrat
2002-10-16 8:39 ` jb1
0 siblings, 1 reply; 3+ messages in thread
From: Paul Nasrat @ 2002-10-14 19:10 UTC (permalink / raw)
To: elks
On Mon, Oct 14, 2002 at 11:49:15AM -0600, Miguel Bolanos wrote:
> Hi all!
>
> i have been trying to create an elks root disk, but when i run 'make root'
> on the elkscmd dir, it mounts the minixfs to /mnt/elks/ it runs the script
> /mnt/elks/dev/MAKEDEV, but it gets executed i get the folling error:
Umm, yes elkscmd is a bit b0rked atm - keep meaning to look at it.
It's halfway between being runnable on elks itself - hence /bin/test and
calls to MAKESET, etc.
I've haven't been using elkscmd, rather I've make a minix filesystem
using
dd if=/dev/zero of=myroot bs=1024 count=1440
/sbin/mkfs.minix -n14 myroot 1440
mount -t minix -o loop myroot /mnt/elks
Then I take harry's prebuilt image (link on elks.sf.net) and mount that.
mount -t minix -o loop root /mnt/elksroot
Use rsync/cp to replicate the filesystem and add my own binaries on as
necessary.
> 2 additional things that i would like to mention is that i have realized
> is that the current documentation on how to create root disks for elks is
> not good enought i have found some issues that are not documented, such
> as... /mnt/elks must exist because it is needed to mount the minixfs
Umm, there are two other ways of making elkscmd images other than via
loopback - ramdisk and floppy. I haven't tried either but they're in
the Make.defs file for elkscmd.
> there, the error is very obvious but still i belive it should be on the
> papers, as well i found that it runs /bin/test, but test is actually a is
> a shell builtin so of course it cant be found under that path, solved this
> by creating a dummy script under /bin/test:
Test isn't built in for ash/sash the shells that elks use, MAKESET is an
elks shell based script rather than a bash script. I guess just using
test would work as elks will have /bin in the PATH and bash will do the
right thing.
If I have time I'll have a poke around elkscmd tomorrow.
If you want a root disk - grab the images from Harry's site, if you want
to customise one, you can do so by following my instructions.
Paul
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: root disk!
2002-10-14 19:10 ` Paul Nasrat
@ 2002-10-16 8:39 ` jb1
0 siblings, 0 replies; 3+ messages in thread
From: jb1 @ 2002-10-16 8:39 UTC (permalink / raw)
To: Paul Nasrat; +Cc: elks
On Mon, 14 Oct 2002, Paul Nasrat wrote:
> Umm, yes elkscmd is a bit b0rked atm - keep meaning to look at it.
>
...
>
> If I have time I'll have a poke around elkscmd tomorrow.
I've been accumulating some notes to myself about problems I've had
with elkscmd; it's probably half gibberish, but maybe you would find it
useful.
-------- cut -------- cut -------- cut -------- cut -------- cut --------
------------------------------------------------------------------------------
SOURCE PACKAGES:
elks-0.1.1.tar.gz, elkscmd_20020501.tar.gz, elksnet-0.1.1.tar.gz,
Dev86src-0.16.0.tar.gz
CVS PATCHES:
(none)
COMPILED UNDER:
Red Hat 7.0 Linux, kernel 2.2.16-22
------------------------------------------------------------------------------
Problems compiling elkscmd_20020501.tar.gz (with Dev86src-0.16.0.tar.gz,
elks-0.1.1.tar.gz and elksnet-0.1.1.tar.gz) under Red Hat 7.0 linux,
kernel 2.2.16-22 --
1. The Red Hat RPM installation of dev86-0.15.0-5 does *NOT* appear to be
sufficient to make ELKS images.zip (at least). I found it necessary to
download, untar, make and install Dev86src-0.16.0.tar.gz.
2. Untarring "elks-0.1.1.tar.gz" creates the directory "elks-0.1.1/", but
elkscmd expects the corresponding directory to be named "elks/". This
problem can be fixed with a symbolic link in the directory containing the
erroneous name:
ln -s elks-0.1.1 elks
3. There are some include files that can't be found for ps.c, tnn.c and
net.c. Per msg01620.html from the mail archives, issue the following
commands, where "<MyElksDir>" is the complete path to the directory
containing the symbolic link "elks" (see 2., above):
cd /usr/bcc/include
rm -rf arch linuxmt
ln -s <MyElksDir>/include/arch .
ln -s <MyElksDir>/include/linuxmt .
4. Several directories can't be found:
/mnt/elks/
../linux-86/
../linux-86/bootblocks
The first must(?) be created manually (as root?), assuming /mnt already
exists, with:
mkdir /mnt/elks
The second two can be handled with a symbolic link to the directory in
which the dev86 source code resides. Assuming Dev86src-0.16.0.tar.gz was
untarred to the directory in which the elkscmd subdirectory resides, then
issue this command in that directory:
ln -s dev86-0.16.0 linux-86
5. The "full5" image isn't produced because line 223 of "elkcmd/Makefile"
should refer to mount_full5fs instead of mount_full3fs, and lines 227 and
228 shoud refer to FULL5_TARGET_FS instead of FULL3_TARGET_FS; that is,
the full5 target should read:
full5: mount_full5fs $(ELKS_DIR)/arch/i86/boot/Image $(FD_BSECT) $(KHELPER)
@for i in $(DIRS); do make -C $$i rfs ; done
cp $(ELKS_DIR)/arch/i86/boot/Image $(TARGET_MNT)/boot/linux
cp $(KHELPER) $(TARGET_MNT)/boot/boot
umount $(FULL5_TARGET_FS)
dd if=$(FD_BSECT) of=$(FULL5_TARGET_FS) bs=512 count=2 conv=notrunc
instead of:
full5: mount_full3fs $(ELKS_DIR)/arch/i86/boot/Image $(FD_BSECT) $(KHELPER)
@for i in $(DIRS); do make -C $$i rfs ; done
cp $(ELKS_DIR)/arch/i86/boot/Image $(TARGET_MNT)/boot/linux
cp $(KHELPER) $(TARGET_MNT)/boot/boot
umount $(FULL3_TARGET_FS)
dd if=$(FD_BSECT) of=$(FULL3_TARGET_FS) bs=512 count=2 conv=notrunc
Since "images-0.1.0.zip" contains "full3", but not "full5" I suspect that
this problem remained unsolved (or undetected?) prior to elkscmd_20020501.
6. When full3 or full5 is compiled, the Makefile tries to copy yacc to the
nonexistent directory /mnt/elks/usr/bin instead of /mnt/elks/bin. Change in
elkscmd/byacc/Makefile:
cp -p $(PROGRAM) $(TARGET_MNT)/usr/bin/$(PROGRAM)
to:
cp -p $(PROGRAM) $(TARGET_MNT)/bin/$(PROGRAM)
7. When full3 or full5 is compiled, bc is copied to /bin instead of
/mnt/elks/bin, and therefore ALTERS THE HOST'S /bin DIRECTORY instead of
being placed in the floppy image!
Change in elkscmd/bc/Makefile:
BASEDIR = ..
MIN_BIN =
to:
BASEDIR = ..
include $(BASEDIR)/Make.defs
MIN_BIN =
Note: There's still something wrong because fbc, but not bc is compiled.
8. Lines 118-119 of elkscmd/Makefile:
$(FD_BSECT):
make -C $(MINIX_BOOT) bin
generate this error:
make[1]: *** No rule to make target `bin'. Stop.
Per 1226.html from the message board archives, "bin" must be changed to
"bootbin"; i.e., the second line should read:
make -C $(MINIX_BOOT) bootbin
9. There are some undefined symbols, such as _setsid. Per 0337.html from
the message board archives, copy the file
elks/arch/i86/kernel/syscall.dat
to
linux-86/libc/syscall/syscall.dev86
then issue the commands "make", "make other", "make install" and "make
install-other" from the linux-86 directory.
10. When comb_net is compiled, ttn.c tries to include the non-existent
and, apparently, unnecessary file "netdb.h". Delete this line from
elkscmd/inet/telnet/ttn.c:
#include <netdb.h>
------------------------------------------------------------------------------
------------------------------------------------------------------------------
In the "stty" program "print_flags()" displays graphic characters instead
of strings. The problem may actually be in Dev86 0.16.0 because the output
appears correct after compiling and running the same source code with
"gcc" (from egcs-2.91.66) under RedHat 7.0.
------------------------------------------------------------------------------
------------------------------------------------------------------------------
------------------------------------------------------------------------------
------------------------------------------------------------------------------
root: [min_rfs]
cp -p date pwd printenv test /mnt/elks/bin
cp: writing `/mnt/elks/bin/date': No space left on device
cp: writing `/mnt/elks/bin/pwd': No space left on device
cp: writing `/mnt/elks/bin/printenv': No space left on device
cp: writing `/mnt/elks/bin/test': No space left on device
make[1]: *** [min_rfs] Error 1
------------------------------------------------------------------------------
------------------------------------------------------------------------------
The system time wrong after boot (CMOS clock not read properly?).
The "clock" program prints an incorrect time; it appears to always be
Sun Feb 02 11:10:25 2053
------------------------------------------------------------------------------
------------------------------------------------------------------------------
full3 and full5 should have more files, including networking
------------------------------------------------------------------------------
------------------------------------------------------------------------------
I'll bet you developers aren't getting some errors as we newbies because
you aren't compiling from fresh installations (including dev86, which
seems to be missing netdb.h)!
------------------------------------------------------------------------------
------------------------------------------------------------------------------
To people posting messages:
A. Messages should always specify versions.
B. Messages should have more descriptive "Subject".
C. Start a new chain if the topic discussed doesn't match the "Subject".
------------------------------------------------------------------------------
------------------------------------------------------------------------------
The message board could use a local search. Google works, but returns many
redundant links (i.e., a particular message, the same message in the
sorted-by-date list, the same message in the sorted-by-thread list, etc.)
------------------------------------------------------------------------------
------------------------------------------------------------------------------
The documentation for using elksemu seems to be incomplete and misleading;
however, I found that after executing these three commands as root:
/sbin/insmod binfmt_aout
/sbin/insmod binfmt_misc
echo ':i86-elks:M::\x01\x03\x20\x00:\xff\xff\xff\x83:/lib/elksemu:' \
> /proc/sys/fs/binfmt_misc/register
Elks executables (that are not otherwise incompatible with my
installation) can be invoked like any "normal" Linux command.
------------------------------------------------------------------------------
------------------------------------------------------------------------------
### ALREADY SENT TO MAILING LIST ###
The "more" program from elkscmd_20020501.tar.gz doesn't (generally) work
correctly correctly because the upper bits of "int ch" aren't necessarily
cleared. If any happen to be non-zero, the control-character tests will
fail to set "line" or "col" properly. This can be corrected by changing
the declaration of "ch" in elkscmd/file_utils/more.c from:
int ch;
to:
char ch;
------------------------------------------------------------------------------
------------------------------------------------------------------------------
-------- cut -------- cut -------- cut -------- cut -------- cut --------
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2002-10-16 8:39 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-10-14 17:49 root disk! Miguel Bolanos
2002-10-14 19:10 ` Paul Nasrat
2002-10-16 8:39 ` jb1
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox