From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tommy McCabe Subject: Bugs (and some fixes) Date: Mon, 12 Apr 2004 07:19:35 -0700 (PDT) Sender: linux-8086-owner@vger.kernel.org Message-ID: <20040412141935.38878.qmail@web11706.mail.yahoo.com> Mime-Version: 1.0 Return-path: List-Id: Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-8086@vger.kernel.org The linker won't link any code segments larger than 64KB. (Fix: Use a different compiler, maybe the one from FreeDOS or Minix) The kernel prints out lots of 0's mixed in with the boot messages on bootup. (Fix: Remove the single quotes around the 0 in line 139 of elks/kernel/printk.c) elks/arch/i86/boot/setup.S won't compile. (Fix: Remove the parentheses in line 588 of the file) The more recent versions of ld86 won't link the kernel. (Fix: Switch the order around in lines 107-111 of elks/arch/i86/Makefile) The Makefile for elkscmd doesn't pause so you can log in as root to mount the images. MAKEDEV/SET bugs: 1. The MAKESET script is located in the same directory as the MAKEDEV script, not in /dev. (Fix: Edit line 17 of the script to say ./MAKESET) 2. test may be in /usr/bin instead of /bin (like on my machine). (Fix: Edit line 22 of the script to remove the /bin) 3. There is no such thing as a "d" type device. (Fix: Replace all of the "d" type devices in the script with "b" (block) type devices) 4. The MAKEDEV script includes devices even when the kernel has no support for them. 5. The script produces devices for all 64 possible partitions, which consumes a lot of space. (Fix: Edit the numbers being passed to MAKEDEV to have only 16 partition devices, which is all most people need, or even 4 partitions, for the smaller drives of older machines) 6. The MAKESET script is supposed to be run using ash, a shell which a lot of distros don't have. (Fix: Edit the first line of MAKESET to say /bin/bash) Not many distros have the folder /mnt/elks included. (Fix: Edit line 162 of elkscmd/Make.defs) The as86_encap script, necessary for compiling the bootblocks folder, is in /usr/lib/bcc, which isn't an executable path. (Fix: Move the script to /usr/bin, or at least have a symlink) The dev86/bootblocks source is required for the images to compile. (Fix: Incorporate the required part of that code into the elkscmd/ tree) The file "version.h", included in the bootblocks file "montior.c", is missing. (Fix: Have the version.h file prebuilt and included in the bootblocks directory) The file elkscmd/sys_utils/ps.c is expecting to include files in /usr/lib/bcc/include/linuxmt that are really in elks/include/linuxmt. (Fix: 1. Copy the files over; 2. Automatically copy the files over; 3. Edit ps.c to look for the files in the right place) The Makefile in elkscmd/sys_utils expects to copy swapon and meminfo, which as far as I know do not exist. The Makefile in elkscmd/file_utils tries to copy the nonexistent program "l". (Fix: I think it's a spelling error; change l to ln in line 42 of the makefile) Attempting to compile ash returns this: gcc -O2 mksignames.c -o mksignames In file included from /usr/include/bits/sigcontext.h:28, from /usr/include/signal.h:326, from mksignames.c:52: /usr/include/asm/sigcontext.h:79: error: parse error before '*' token /usr/include/asm/sigcontext.h:82: error: parse error before '}' token make[1]: *** [mksignames] Error 1 In elkscmd/disk_utils/mkfs.c, #define usage() fatal_error("Usage: mkfs /dev/name blocks # Max blocks=65535\n",16) at line 165 returns "'#' operator should be followed by a macro argument name " errors when the function is used elsewhere. The characters from lines 447-460 of elkscmd/levee/editcor.c are blank, thus returning compiler errors. Compiling elkscmd/sys_utils/login results in "* redefined in file /usr/lib/bcc/libc.a(utent.o); using definition in utent.o " errors. By default, the root image doesn't have enough inodes for the devices and not enough space on the image for extra inodes. elksnet/ktcp/vjhc.c has about ten billion bugs, so much that I had to use a pager to see what was going on. Here's a sample: vjhc.c:117.19: error: need ')' vjhc.c:119.1: error: need ';' vjhc.c:119.1: error: need variable name vjhc.c:117.3: error: need ';' vjhc.c:117.21: error: ip_vjhc_compress already declared vjhc.c:118.12: error: pkt already declared vjhc.c:120.1: error: need variable name vjhc.c:121.8: error: need ';' vjhc.c:130.3: error: need variable name vjhc.c:130.5: error: need ';' vjhc.c:130.10: error: need ')' vjhc.c:130.10: error: need ';' vjhc.c:130.10: error: need variable name vjhc.c:130.16: error: need ';' vjhc.c:130.18: error: need ';' vjhc.c:130.18: error: need variable name vjhc.c:130.21: error: need ';' vjhc.c:130.21: error: need variable name vjhc.c:130.24: error: need ';' vjhc.c:130.24: error: need variable name vjhc.c:130.27: error: need ';' vjhc.c:130.27: error: need variable name vjhc.c:130.29: error: need ';' vjhc.c:130.29: error: need variable name vjhc.c:131.2: error: need ';' vjhc.c:131.2: error: need variable name When I try to compile elksnet/screen/ansi.c; I get more errors, here's a sample: /home/tommy/elks/elksnet/screen:42.26: error: bh_active not in argument list /home/tommy/elks/elksnet/screen:43.24: error: bh_mask not in argument list /home/tommy/elks/elksnet/screen:45.32: error: need ')' /home/tommy/elks/elksnet/screen:45.32: error: bh_base not in argument list /home/tommy/elks/elksnet/screen:45.32: error: need ';' /home/tommy/elks/elksnet/screen:45.33: error: need variable name /home/tommy/elks/elksnet/screen:45.34: error: not in argument list /home/tommy/elks/elksnet/screen:49.31: error: need ')' /home/tommy/elks/elksnet/screen:49.32: error: need variable name /home/tommy/elks/elksnet/screen:49.33: error: not in argument list /home/tommy/elks/elksnet/screen:55.32: error: fd_set not in argument list /usr/lib/bcc/include/stdio.h:62.33: error: FILE not in argument list /usr/lib/bcc/include/stdio.h:70.21: error: stdin not in argument list /usr/lib/bcc/include/stdio.h:71.22: error: stdout not in argument list /usr/lib/bcc/include/stdio.h:72.22: error: stderr not in argument list /usr/lib/bcc/include/stdio.h:102.23: error: setvbuf not in argument list /usr/lib/bcc/include/stdio.h:106.26: error: setbuffer not in argument list /usr/lib/bcc/include/stdio.h:108.21: error: fgetc not in argument list /usr/lib/bcc/include/stdio.h:109.21: error: fputc not in argument list /usr/lib/bcc/include/stdio.h:111.22: error: fclose not in argument list /usr/lib/bcc/include/stdio.h:112.22: error: fflush not in argument list /usr/lib/bcc/include/stdio.h:113.23: error: fgets not in argument list /usr/lib/bcc/include/stdio.h:115.23: error: fopen not in argument list /usr/lib/bcc/include/stdio.h:116.24: error: fdopen not in argument list /usr/lib/bcc/include/stdio.h:117.26: error: freopen not in argument list /usr/lib/bcc/include/stdio.h:123.21: error: fputs not in argument list /usr/lib/bcc/include/stdio.h:124.20: error: puts not in argument list /usr/lib/bcc/include/stdio.h:126.22: error: printf not in argument list /usr/lib/bcc/include/stdio.h:127.23: error: fprintf not in argument list /usr/lib/bcc/include/stdio.h:128.23: error: sprintf not in argument list screen.h:97.8: error: compiler limit exceeded - too many local symbols (101) __________________________________ Do you Yahoo!? Yahoo! Tax Center - File online by April 15th http://taxes.yahoo.com/filing.html