Re: About compiling the kernel
yyy.h" error. But right now i tested with the default options and i get the same error: undefined symbol: _do_mknod undefined symbol: _sys_listen undefined symbol: _sys_accept undefined symbol: _sys_bind undefined symbol: _xd_init ld86: text segment too large for 16bit make[1]: *** [boot/system] Error 2 make: *** [Image] Error 2 You can't get the same error, becuase the guy who released kernel sources (Al) is probably sane enough :) not to include too many stuff in the kernel by default to make it larger than 64 KB (which indeed is segment size limit). And these errors look like as if you included (non-existent) socket support and (again, non-existent) XT HD support in the kernel via "make config". Blaz Antonic
Re: About compiling the kernel
i'm conpiling the elks kernel on a Redat6.1 system. I get the following error: undefined symbol: _do_mknod undefined symbol: _sys_listen undefined symbol: _sys_accept undefined symbol: _sys_bind undefined symbol: _xd_init ld86: text segment too large for 16bit make[1]: *** [boot/system] Error 2 make: *** [Image] Error 2 Could anyone help me with this stuff? What does it mean? You obviously included some of the stuff that doesn't exist in config. Compile kernel with default options. Blaz Antonic
Re: A question
cases even ELKS code is too complicated. Alan has pointed this out with the #ifdef madness and other very little used options. Most of IFDEFs were there due to bugs in the source .. old code was just #if 0ed out and replaced with new one. At least that's what i did in parts of kernel i touched; Al then included whole patch (or file), without removing old code. Anyway, it was harmless. on a personal basis. I doubt that ELKS has ever run more than 15 processes, for instance. No, it probably hasn't. I had some 10 running but then again i was only testing it. If there was _any_ daemon present it would occupy another process slot, ... bye, Ab
Re: embedded system without filesystem
Should I give this a try, or would it be a waste of time, because I can never mount a root filesystem? You don't need FS for such application. Kernel should work without FS; you just need some way of telling it where the program's CS begins in memory-mapped ROM/flash. bye, Ab
Re: ELKS to do?
Risking getting another message from Topica .. port of the ELKS machine. It seems to work fine both ways at the 9600 bps that is the default using 'cat /dev/ttyS0' though cat seems awfully slow. How do I set the ports to other speeds, other than modifying the kernel source? There is a function that should read (and the counterpart that should write) rs structure (record holding serial port information) from/to kernel space. It can be accessed via ioctl() calls but i think it is buggy; actually i never tested it because i only had 1 test machine and modem behaved in weird way on my box (i used it as "remote terminal"); i just submitted the file to Al who incorporated it into kernel source because driver was working without this feature just as well. Check out serial.c file (in arch/i86/drivers/char directory) for details. It is commented afaik. If you have any question feel free to ask me. bye, Ab
Re: keyboard error?
I have an IBM ps/2 8525 (an 8086 CPU). The booting of ELKS works well except by some problems when trying to mount the hard disk (I think it's toasted because don't works even with DOS). But the real problem comes when the Login prompt appears. I can't write noting. The keyboard is completly dead. I have a PS/2 enhanced keyboard with 104 keys. I don't acutally have _any_ PS/2 machine, but other people do. In my personal opinion (and i am willing to bet on it) recompiling kernel (and using BIOS driver instead of direct one) would do the trick. If you look from the other point - IBM didn't really invent the BIOS (GR did), but they relied heavily on their BIOS being competitive advantage in ()then developing) PC market. BIOS povides standard access to system devices to any OS (or program) and i guess DOS uses BIOS to get keyboard input. If BIOS is designed to work exactly the same on each and every 100% compatible box (and especially IBM) then BIOS console driver should work on any box with IBM compatible BIOS (and IBM BIOS surely is IBM compatible). So my suggestion to all the people that encountered this particular problem with this particual IBM machine was to recompile the kernel with BIOS console driver instead of direct one. Sadly enough no1 ever took those 5 minutes that are needed to recompile ELKS kernel, they just kept whining for on and on. I hope you will be the first one to try and prove me right (or wrong). Anyway. it won't take you more than 5 minutes on any reasonably fast machine, like P200 or something) to prove or disprove my theory and crush my faith in BIOS compatibility. And no, i don't need any examples refering to incompatible BIOSes of some sort, i do believe that keyboard input is one of most basic and simplest bits to write. bye, Ab
Re: Location of ELKS Archive?
If someone with networking knowledge was prepared to get this rolling I am sure I could contribute. Excuse me, but I am a bit confused! I thought there was some sort of TCP/IP implementation project going on??? Is there a separate site and/or mailing list for this project. Is there some one who is responsible coordinating for this? I'm sorry about all my clueless questions here, but I i'd really like to know You have right to be confused :-) There is no (public) TCP/IP for ELKS project and never was one. There were only few people claiming they would do something but have vanished without a trace (or with some excuse). People were enthusiastic about TCP stack but (IMO) noone got anywhere near. No1 released their work so others could contribute so that makes me think that they haven't achieved anything. But it is free project, no1 was paying them so no1 can blame them for quitting. I agree with them, ELKS in 2000 makes much less sense than it would in 1996 .. and that's the main reason some of them stopped from what i know. Development of ELKS was similar to ln function .. it was progressing quickly at he beginning but almost completely stopped later. That's why i said the other day that ELKS (as a project) is dead. ELKS (as source) is still avaliable to public and should remain that way. bye, Ab
Re: 8086/88 80286 ||| 80386 80486 Pentium ...
I have a 386 AND a 486 that I am unable to bring up on Linux because the current version requires more than 8 MB ram. The setup that I want requires the greater security that Linux brings over bloat 95-2k. Currently, I am waiting with baited -- er, held -- breath for ELKS to have networking capability. :-) Funny, indeed. Now go get one of 2.0.x kernels. I had one of these booting on 386/40 with 8 MB ram + swap. It wasn't fast but it worked. bye, Ab
Re: ramdisk/shell problem?
I'm using 0.0.81 elks and I'm trying to make a ramdisk with the ramdisk utils. When I enter ramdisk, it says something like usage blablabla, but when I give options such as suggested by that, it says ramdisk:no such file or directory. Now I thought this might be a shell problem, so let me add that I use sash, but ash also gives the problem. What to do? I use ash and it works fine. Make sure you have compiled RAMdisk support into your kernel. Make sure you have /dev/ramX entries in place. Use correct command line; "ramdisk /dev/ram0 make 64" (without "") works fine on my box. Same goes for other sizes. Don't let ramdisk occupy too much of your memory space otherwise kernel (shell ?) will crash and/or you won't be able to run any programs. If you have done everything as suggested please send me the output you get from rmaidsk utility. Since you want to understand kernel it might be helpful for you to enable debugging in ramdisk code. Make sure that DEBUG is #defined in file ./arch/i86/drivers/block/rd.c and not #undefed anywhere after that line. This screen dump is even more helpful than ramdisk messages. If you have any further questions regarding rd.c please contact me directly. bye, Ab
Re: I can't compile this
: Next time be nice and go with default settings. Isn't Vladimir the guy who wants the bios console though? That still works doesn't it? In that case he should enable only one console driver. That's kinda like him wanting to drive two cars at the same time but not be able to decide in which car is he going to seat. bye, Ab
Re: Some q's
Hmm. I guess I haven't seen such bare LCD panels. IMO it's not worth the trouble to try to work out the interface (electrical, timing) for them but to make sure you have the integrated LCD controller to match the panel. Unless one likes to play with hardware. I have two of such here :) Mono STN LCD, seems liek it was produced for Dell but somehow ended in my hands (i guess it didn't meet some quality requirements). Anyway, i have the docs and i'll mostlikely use them for VT100 emulators. BTW: very offtopic question: does any by any chance have a good (i mean GOOD) description of parallel ports ?? By this i don't mean bit assignment - i mean voltage levels (TTL ?), max. current (load) on pins, max. propagation etc. I'm asking because i don't have PCI LPT controller and i need 3 LPT ports in one box. So the only solution is to make a dual LPT controller (i have one ISA slot avaliable) and since ISA is very simple i thought that 3 74LS245 per port (3*8 lines, i will only use them in one direction, hardwired) with simple address decoder should do (i don't have PAL programmer). bye, Ab
Re: ELKS 0.0.81 available from ftp.ecs.soton.ac.uk
This is unverified, but I think the Basic-hook is still there, untouched. But some of the EPROM area reserved for Basic has been used for the setup subprograms. So we are back to the usual problem, where in the 640 kB should we put or own EPROM. Nowhere. There is a memory area meant for ROMs above 640 KB. It is called UMB. That's where VGA BIOS, Network card boot ROM, special (SCSI and alike) adapter BIOS ROMs are. All you have to do is to insure your ROM image uses correct format (utils in netboot package create correct images from executable binaries) and BIOS will do the rest of the job - it will detect the ROM, fetch its size and start address and start executing code from it. It is up to you (ROM) to return control to BIOS (and let it boot normaly) or execute kernel and boot into your OS (that's the way you want it if you imaplnt a ROM inthere). bye, Ab
Re: Fdisk
I am new to linux, I know a bit like. But what is a "bda" device? tom BIOS driven HD device. It is explained in the FAQ afaik, the one you haven't read. bye, Ab
Re: ELKS 0.0.78 released
I just tried it and found the same thing on a ps2. It's the keyboard that it has a problem with. With the comb image it mounts the root disk fine, runs init fine, then you can't login because of the keyboard. I have already suggested to use BIOS console instead of direct one on PS/2 machines long time ago, but noone tried it. DOS uses BIOS IMO and if DOS works ELKS should work too. So, disable dircon and enable bioscon support in config, recompile and try again. Please let us know whether it works or not (in case it does it should be added to the faq). What is so special about ps/2 keyboards? They have blue electrons running thru their chips :-) bye, Ab
Re: microwin
protocol is set with environment variables (they don't work yet with ELKS, I have a patch coming) or a recompile of mwin/src/drivers/mou_ser.c. Of course they do. My mouse is attached to second serial port (/dev/ttys1) so default code wouldn't work (nothing happened when i moved mouse, of course). When i did "export MOUSE_PORT=/dev/ttys1" (without quotes) in ash prompt it worked fine afterwards. bye, Ab
Re: Recent kernel updates
Could people give me a few hints on this? What exactly would you like to know ? Make some interface to kernel - special (character ?) device that allows nothing but read()/write() and ioctl() (and of course, mandatory open/release :-))). Whenever you attempt to pas a packet (IP packet) to network layer you simply write to this device, by using select() on it you will be able to notice new packets (in separate, child process maybe). ioctl() will be there to help you set any parameters you might need. This device driver would then take care of passing this packet of yours to network interface. You'd mostlikely have to do packet queues in your program, you don't want to use ekrnel space for that (even though i think one should be able to squeeze basic stack in remaining 4-5 KB). bye, Ab
Re: new rrd.c ?
Blaz, I see what MAY be an error, at least an inconsistency. I think you need to add a multiply 4 (*4) to the calculation like you did in the printf. - Larry Mittman fprintf(stdout, "ramdisk: rounding size up to %d KB ...\n", ((size / 4) + 1) * 4); size = size / 4 + 1; *** } else { size = size / 4; *** No, actually the size passed to ioctl() is in 4 KB blocks since pages are 4 KB wide. Output is multiplied by 4 to show size in 1 KB blocks, not 4 KB. Any other suggestions ? Please try it out ... Oh, and BTw, i forgot to tell you what the bug i am encountering actually does: when ioctl() with arg that isn't multiple of 64/4 is called whole ioctl() finishes its job, it hangs right after printing "about to exit(0); text (and _before_ ramdisk could output its info about disk created). Its weird, really :-) bye, Ab
Re: Compiling elkscmd
Thomas D Stewart wrote: I downloaded dev and elks to make the kernal. Made and ran the kernal with no probs. I then downloaded elkscmd and tryed to compile it, i am pritty new to linux so i am not sure what is wrong. These are the errors that i get when i do "make all":- Thomas D. Stewart, either get yourself some english teacher or new surname. Ja ? /usr/bcc/lib/bcc/i86/libc.a(utent.o); using definition in utent.o undefined symbol: _setsid Change syscall.dat file somewhere in linux-86 subdirs with one that comes with 0.0.77 kernel and recompile libc. I can compile programs with setsid() here without problems. bye, Ab
Re: Capabilities
I really don't see where this is a problem. User level processing does not need hardware memory protection; it could be implemented as a strictly software solution. For example, a table defined within the OS giving the user and the level. Then, all memory access could interrogate this table and give pseudo memory level security. And how are you going to make sure the program you are about to execute isn't going to do anything malicious ?? Rewrite kernel CS, DS, other programs' memory space, interrupt table or something else ?? By software control ??? How are you going to find out whether the binary you are attempting to run uses standard library calls or not (= uses some other code that violates system integrity) ?? Such code can be hidden in less than 50 bytes of code and covered pretty good. Any user can write ownprogram that allows him to rewrite important structures in memory (kernel DS) and thereby give him root access or just hang the system. bye, Ab
Re: Announcing Micro-Win
BTW: Why is it that on some machines (286/8086) elks boots, and freezes after displaying login: Any clues? Yes, solar activity is especially high now (solar maximum that appears every 11 years is at its top now) and some machines are easily disturbed by electro-magnetic flux that solar spots create. Combined with high environmental temperatures and static electricity that comes from plastic computer covers and ion-rich metals which are used in some chips (CPU for example) they sometimes interfere with electron-free materials those chips are wrapped into (ceramic, plastic packages) and this causes severe disturbance that causes occasional (unpredictable) electric state changes (voltage reversion, or DF diode effect). This stops the current flow and computer freezes. bye, Ab Yes, it would actually help if you provided some information with this question. How the hell is anyone supposed to know why on earth your box freezes every now and then ?? You could at least provide more data if you are unable to find out where exactly this hang occurs. and BTW: replies concerning blank lines in this message will be redirected to /dev/null :)
Re: Error message
I've got elks-0.0.75.tar.gz, and compile. Then I got the error message like following. missconfiguration of bcc? I don't know the reason. First, do not use any of direct drivers. Use BIOS HD and FD driver. Second, i'll have a look at that code tomorrow. I'll get back with results. Mostlikely it is some bug in compiler (or some mistake done by yours trully). bye, Ab
Re: Embedded MS-Windows NT
(3) Microsoft begins embedded NT beta Microsoft today rolled out the first beta release of its Windows NT Embedded 4.0 operating system to more than 350 Oh, the wonders of hardware industry .. all the improvements they make, the capacities they reach, the dies of memory chips theat tend to be smaller and smaller, ... But i guess no "embedded" thing is small enough for that. bye, Ab
Re: Boot success on PCjr
8086s later. I've got an IBM PS/2 model 30 which I believe currently has keyboard problems under ELKS, there are probably going to be a handful of Just out of curiosity: has anyone with this infamous model 30 ever tried BIOS console driver ? As far as i know it is supposed to be working now and if this is really HW difference issue (between model 30 PS/2 and other machines) i would assume that use of BIOS functions should help (that's why BIOS was used for, wasn't it ?). bye, Ab