login
Header Space

 
 

Patching boot image (was Re: Making the file system)

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
Date: Friday, March 13, 1992 - 6:27 pm

In article <Steve.007x@nyongwa.cam.org> Steve@nyongwa.cam.org (Steve Robbins) writes:
               [ ... ]


I agree;  I have included an MSDOS extended version of Linus's 'edit'
program below; first the uuencoded executable, and then the source.
It is overkill, but is an attempt to help someone who is just starting.

Al - aclark@netcom.com - My opinions are my own.
      *** Practice random kindness and senseless acts of beauty! ***

pboot.uue - send binary mode to MSDOS system, or edit to remove
control M's and send text mode converting from unix to MSDOS
(which will add the control M's back in).

======================== cut here ========================================
begin 644 pboot.exe
M35JP`!@``0`@`#4`___X`H``````````(@````$`^R!R:@$`````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
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
M"D1I=FED92!E<G)O<@T*06)N;W)M86P@<')O9W)A;2!T97)M:6YA=&EO;@T*
M`````````````````````````````````````````````````````*8,I@RF
M#```````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````4&)O;W0@+2!0871C:"!,:6YU>"!B;V]T(&EM
M86=E(&9O<B!H87)D(&1I<VL*`"`@16YT97(@:&%R9"!D:7-K('!A<G1I=&EO
M;B`*`"`@17AA;7!L97,Z(#`S,#(@/2`O9&5V+VAD,@H`("`@("`@("`@("`@
M,#,P,R`]("]D978O:&0S"@`@($5N=&5R(&AA<F0@9&ES:R!P87)T:71I;VXZ
M(``@("5S(&-O;G1A:6YS(&$@;F]N(&AE>"!D:6=I="`M(&%B;W)T:6YG"@`@
M(%!A=&-H:6YG(&)O;W0@:6UA9V4@9F]R(&AA<F0@9')I=F4@)7@*`$5N=&5R
M('-O=7)C92!F:6QE(&YA;64@*&]R(")Q=6ET(B!T;R!A8F]R="DZ(``E<P!Q
M=6ET`$5N=&5R(&1E<W1I;F%T:6]N(&9I;&4@;F%M93H@`"5S`')E860@97)R
M;W(@+2!O;FQY("5D(&)Y=&5S"@!C;VYT96YT<R!O9B`U,3`@/2`E>`H`=W)I
M=&4@97)R;W(@;VX@)7,Z(`!W<FET90`@=W)O=&4@<&%T8VAE9"!R96-O<F0M
M(&-O<'EI;F<@8F%L86YC92!O9B!F:6QE(`!W<FET92!E<G)O<B!O;B`E<SH@
M`'=R:71E`"!$;VYE("T@(G)A=W)I=&4B("5S('1O(&9L;W!P>0H`````$P("
M!`4&"`@(%!4%$_\6!1$"_________________P4%____________________
M_P__(P+_#_____\3__\"`@4/`O___Q/__________R/_____(_\3_P`3!1,%
M$P4````0````("`@("`@("`@(2$A(2$@("`@("`@("`@("`@("`@("`!0$!`
M0$!`0$!`0$!`0$!``@("`@("`@("`D!`0$!`0$`4%!04%!0$!`0$!`0$!`0$
M!`0$!`0$!`0$!$!`0$!`0!@8&!@8&`@("`@("`@("`@("`@("`@("`@(0$!`
M0"``````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M``````````````````````````````````````````````````````````D"
M``````````````(%```*`@$````````````2!0```@("````````````(@4`
M`$,"`P```````````#(%``!"`@0```````````!"!0````#_````````````
M4@4`````_P```````````&(%`````/\```````````!R!0````#_````````
M````@@4`````_P```````````)(%`````/\```````````"B!0````#_````
M````````L@4`````_P```````````,(%`````/\```````````#2!0````#_
M````````````X@4`````_P```````````/(%`````/\````````````"!@``
M``#_````````````$@8`````_P```````````"(&`````/\````````````R
M!@$@`B`"(`2@`J#_______________________________________\`0/__
M`````'!R:6YT('-C86YF(#H@9FQO871I;F<@<&]I;G0@9F]R;6%T<R!N;W0@
M;&EN:V5D#0H`#0`H;G5L;"D`,#$R,S0U-C<X.4%"0T1%1@`4%`$4%104%!0"
M`!0#!!0)!04%!04%!04%%!04%!04%!04%!0/%P\(%!04!Q06%!04%!04%!04
M#104%!04%!04%!00"@\/#P@*%!0&%!(+#A04$10,%!0-%!04%!04%````@("
M`@("`@(!`0$!`0("`@("`@("`@("`@("`@("`@$"`@("`P("`@($`@("`@(%
M!04%!04%!04%`@("`@("`@("`@<*%0H,"0(""P(4#@("`@(""`("$@("$`(0
M`@("`@(&!PH*"@P)`@(-`A$.$P("#P((`@(2`@("`@("`N@'\`<(""((,0A%
M"%<(9PA\"(X(JPB_",X(X@@``.\(_@@D"30)0@E3"60)=@D`````````````
M`````````````(@)E@FG"20`17)R;W(@,`!);G9A;&ED(&9U;F-T:6]N(&YU
M;6)E<@!.;R!S=6-H(&9I;&4@;W(@9&ER96-T;W)Y`%!A=&@@;F]T(&9O=6YD
M`%1O;R!M86YY(&]P96X@9FEL97,`4&5R;6ES<VEO;B!D96YI960`0F%D(&9I
M;&4@;G5M8F5R`$UE;6]R>2!A<F5N82!T<F%S:&5D`$YO="!E;F]U9V@@;65M
M;W)Y`$EN=F%L:60@;65M;W)Y(&)L;V-K(&%D9')E<W,`26YV86QI9"!E;G9I
M<F]N;65N=`!);G9A;&ED(&9O<FUA=`!);G9A;&ED(&%C8V5S<R!C;V1E`$EN
M=F%L:60@9&%T80!.;R!S=6-H(&1E=FEC90!!='1E;7!T960@=&\@<F5M;W9E
M(&-U<G)E;G0@9&ER96-T;W)Y`$YO="!S86UE(&1E=FEC90!.;R!M;W)E(&9I
M;&5S`$EN=F%L:60@87)G=6UE;G0`07)G(&QI<W0@=&]O(&)I9P!%>&5C(&9O
M<FUA="!E<G)O<@!#<F]S<RUD979I8V4@;&EN:P!-871H(&%R9W5M96YT`%)E
M<W5L="!T;V\@;&%R9V4`1FEL92!A;')E861Y(&5X:7-T<P!5;FMN;W=N(&5R
;<F]R`"5S.B`E<PH``-(!T@'9`7P1@1&!$8$1
`
end
=====================  cut here = source below ==================
/*
 *  pboot.c - patch bootimage before writing it to floppy using rawrite
 *            for MSDOS - turboc 
 *            Copyright Linus Benedict Torvalds and Al Clark
 *               (based on his edit program)
 *            Copy and modify freely for use with linux 
 *                 This is overkill, in an attempt to help
 *                 naive users.
 */

#include <alloc.h>
#include <bios.h>
#include <ctype.h>
#include <dir.h>
#include <dos.h>
#include <io.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
char tmp[512];
char fname[64];
char oname[64];
/*
0x300 - whole /dev/hd1 - don't use 
0x301 - /dev/hd1 - first partition on first drive
0x302 - /dev/hd2 - first partition on first drive
 */
atoh(s)    /* ascii to hex converter */
char *s;
{
        char *p;
        int c, j, i = 0;
        for (p = s; *(p+1) != '\0'; p++) {
                c = *p;
                if (isdigit(c))
                     j = (c - '0'); 
                else if (!isxdigit(c))
                     return(-1);  /* not hexidecimal */
                else if (c < 'a')  /* Upper case */
                        j = (c - 'A') + 10;
                else     /* lower case */
                        j = (c - 'a') + 10;
                i = 16 * i + j;
        }
        return(i);
}

void main(void)
{
        int i, num, fdin, fdout;
        char buf[16];
        short disk;
  fprintf(stderr,"Pboot - Patch Linux boot image for hard disk\n");
  fprintf(stderr,"  Enter hard disk partition \n");
  fprintf(stderr,"  Examples: 0302 = /dev/hd2\n");
  fprintf(stderr,"            0303 = /dev/hd3\n");
  fprintf(stderr,"  Enter hard disk partition: ");
  fgets(buf, 8, stdin);
  disk = atoh(buf);
  if (disk < 0) {
        fprintf(stderr, "  %s contains a non hex digit - aborting\n", buf);
        exit(1);
  }
  fprintf(stderr, "  Patching boot image for hard drive %x\n", disk);
  fprintf(stderr, "Enter source file name (or \"quit\" to abort): ");
  scanf("%s", fname);
  if (!strncmp(fname, "quit", 4)) exit(1);
  _fmode = O_BINARY;
  if ((fdin = open(fname, O_RDONLY)) <= 0) {
     perror(fname);
     exit(1);
  }
  fprintf(stderr, "Enter destination file name: ");
  scanf("%s", oname);
  _fmode = O_BINARY;
  if ((fdout = open(oname, O_RDWR | O_APPEND | O_CREAT)) <= 0) {
     perror(oname);
     exit(1);
  }
        if ((i = read( fdin,tmp,512)) !=512 ) {
                fprintf(stderr, "read error - only %d bytes\n", i);
                exit(1);
        }

        if (0xAA55 != *((unsigned short *)(tmp+510))) {
                fprintf(stderr, "contents of 510 = %x\n", *(tmp+510));
                exit(2);
        }
        *((unsigned short *)(tmp+508)) = disk;
        if (512 != write(fdout,tmp,512)) {
                fprintf(stderr, "write error on %s: ", oname);
                perror("write");
                exit(3);
        }
        fprintf(stderr, " wrote patched record- copying balance of file ");
        num = 1;
        while ((i=read(fdin,tmp,512)) > 0) {
                num++;
                putc('.', stderr);
                if (i != write(fdout,tmp,i)) {
                        fprintf(stderr, "write error on %s: ", oname);
                        perror("write");
                        exit(4);
                }
        }
        fprintf(stderr, " Done - \"rawrite\" %s to floppy\n", oname);
        exit(0);
}
-- 
Al - aclark@netcom.com - My opinions are my own.
      *** Practice random kindness and senseless acts of beauty! ***
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Patching boot image (was Re: Making the file system), Al Clark, (Fri Mar 13, 6:27 pm)
speck-geostationary