diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | mkbootfs/ChangeLog | 22 | ||||
-rw-r--r-- | mkbootfs/Makefile | 32 | ||||
-rw-r--r-- | mkbootfs/mkbootfs.c | 184 |
4 files changed, 5 insertions, 238 deletions
@@ -1,3 +1,8 @@ +1999-12-14 Roland McGrath <roland@baalperazim.frob.com> + + * mkbootfs: Removed directory and all files. + They have long been obsolete. + 1999-11-18 Roland McGrath <roland@baalperazim.frob.com> * mach-defpager: New directory. See its ChangeLog. diff --git a/mkbootfs/ChangeLog b/mkbootfs/ChangeLog deleted file mode 100644 index 787943a2..00000000 --- a/mkbootfs/ChangeLog +++ /dev/null @@ -1,22 +0,0 @@ -Fri Jul 22 10:38:17 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu> - - * Makefile: Rewritten in accord with new scheme. - -Wed Jul 20 16:24:08 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu> - - * Makefile (mkbootfs): Put -n after hostname for compat with - old broken rsh. - Use gcc literally instead of MIGHOSTCC. - -Tue Jul 5 14:22:00 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu) - - * Makefile (SRCS): New variable. - -Fri May 6 13:25:47 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu) - - * Makefile (mkbootfs): Use MIGHOSTCC instead of CC. - -Thu May 5 19:06:21 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu) - - * Makefile (mkbootfs): Call rsh with -n flag. - diff --git a/mkbootfs/Makefile b/mkbootfs/Makefile deleted file mode 100644 index df5af560..00000000 --- a/mkbootfs/Makefile +++ /dev/null @@ -1,32 +0,0 @@ -# -# Copyright (C) 1993, 1994 Free Software Foundation -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2, or (at -# your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -dir := mkbootfs -makemode := misc - -SRCS = mkbootfs.c - -include ../Makeconf - -all: mkbootfs - -mkbootfs: mkbootfs.c - rsh $(mighost) -n cd `pwd` \; gcc mkbootfs.c -o mkbootfs - -clean: - rm -f mkbootfs *.o - diff --git a/mkbootfs/mkbootfs.c b/mkbootfs/mkbootfs.c deleted file mode 100644 index e3ad7137..00000000 --- a/mkbootfs/mkbootfs.c +++ /dev/null @@ -1,184 +0,0 @@ -/* Make a bootstrap filesystem from a filesystem and an exec server - Copyright (C) 1993, 1994 Free Software Foundation - -This file is part of the GNU Hurd. - -The GNU Hurd is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -The GNU Hurd is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with the GNU Hurd; see the file COPYING. If not, write to -the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ - -/* Written by Michael I. Bushnell. */ - -/* The job is to write a .o corresponding to the exec server. This - .o contains the following symbols: - - _execserver_text_size - _execserver_data_size - _execserver_bss_size - _execserver_text - _execserver_data - _execserver_start - - The .o will then be linked along with the rest of the filesystem, which - will spawn an execserver with the right bits when it starts. - - The text should be loaded at 0x10000 and the data at - 0x10000 + _execserver_text_size and the bss cleared at - 0x10000 + _execserver_text_size + _execserver_data_size. - */ - -/* This is non-general, and only intended for the i386 Mach 3.0 with - its own weird format. It expects the header files to be from such a - Mach system as CMU sets them up. */ - -#include <a.out.h> -#include <stdio.h> -#include <sys/file.h> - -/* Usage: mkbootfs execserver newdoto */ - -main (int argc, char **argv) -{ - int execserver, newdoto; - struct exec a, newa; - unsigned long foo; - void *buf; - struct nlist n; - - signal (0, 0); - - if (argc != 3) - { - fprintf (stderr, "Usage: %s execserver newdoto\n", argv[0]); - exit (1); - } - - execserver = open (argv[1], O_RDONLY); - if (execserver == -1) - { - perror (argv[1]); - exit (1); - } - - newdoto = open (argv[2], O_WRONLY | O_CREAT | O_TRUNC, 0666); - if (newdoto == -1) - { - perror (argv[2]); - exit (1); - } - - read (execserver, &a, sizeof (struct exec)); - - /* Write the new data segment to the new file. */ - lseek (newdoto, sizeof (struct exec), L_SET); - - /* First, _execserver_text_size */ - foo = a.a_text + sizeof (struct exec); - write (newdoto, &foo, sizeof foo); - - /* Next, _execserver_data_size */ - write (newdoto, &a.a_data, sizeof a.a_data); - - /* Next, _execserver_bss_size */ - write (newdoto, &a.a_bss, sizeof a.a_bss); - - /* Next, _execserver_text */ - buf = malloc (a.a_text + sizeof (struct exec)); - lseek (execserver, 0, L_SET); - read (execserver, buf, a.a_text + sizeof (struct exec)); - write (newdoto, buf, a.a_text + sizeof (struct exec)); - free (buf); - - /* Next, _execserver_data */ - buf = malloc (a.a_data); - read (execserver, buf, a.a_data); - write (newdoto, buf, a.a_data); - free (buf); - - /* Finally, _execserver_start */ - write (newdoto, &a.a_entry, sizeof a.a_entry); - - /* We have no relocation information */ - - /* Now, write the symbol table */ - n.n_un.n_strx = 50; - n.n_type = N_DATA | N_EXT; - n.n_value = 0; - - /* First, _execserver_text_size */ - write (newdoto, &n, sizeof (n)); - n.n_value += sizeof (foo); - - /* Now, _execserver_data_size */ - n.n_un.n_strx += 50; - write (newdoto, &n, sizeof (n)); - n.n_value += sizeof (foo); - - /* Now, _execserver_bss_size */ - n.n_un.n_strx += 50; - write (newdoto, &n, sizeof (n)); - n.n_value += sizeof (foo); - - /* Now, _execserver_text */ - n.n_un.n_strx += 50; - write (newdoto, &n, sizeof (n)); - n.n_value += a.a_text + sizeof (struct exec); - - /* Now, _execserver_data */ - n.n_un.n_strx += 50; - write (newdoto, &n, sizeof (n)); - n.n_value += a.a_data; - - /* Now, _execserver_start */ - n.n_un.n_strx += 50; - write (newdoto, &n, sizeof (n)); - n.n_value += sizeof (foo); - - /* Now, we have to write out the string table */ -#define DOSTRING(x) \ - write (newdoto, x, strlen (x) + 1); \ - lseek (newdoto, 50 - strlen (x) - 1, L_INCR); - - foo = 350; /* six strings and the beginning */ - write (newdoto, &foo, sizeof foo); - lseek (newdoto, 50 - sizeof foo, L_INCR); - - DOSTRING ("_execserver_text_size"); - DOSTRING ("_execserver_data_size"); - DOSTRING ("_execserver_bss_size"); - DOSTRING ("_execserver_text"); - DOSTRING ("_execserver_data"); - DOSTRING ("_execserver_start"); - - lseek (newdoto, -1, L_INCR); - foo = 0; - write (newdoto, &foo, 1); - - /* Now write out the header */ - a.a_magic = OMAGIC; - a.a_data = - (4 * sizeof (int) + a.a_text + a.a_data + sizeof (struct exec)); - a.a_text = 0; - a.a_bss = 0; - a.a_syms = 6 * sizeof n; - a.a_entry = 0; - a.a_trsize = 0; - a.a_drsize = 0; - lseek (newdoto, 0, L_SET); - write (newdoto, &a, sizeof a); - - exit (0); -} - - - |