# HG changeset patch # User Pascal Bellard # Date 1418518381 -3600 # Node ID ab69381ebbcc14a9f337028dc34134e2f71673bc # Parent 6a951b1d106b0632f0396e9c72f5d09e465c6d49 linld: add linux 2.0-2.4 support diff -r 6a951b1d106b -r ab69381ebbcc linld/receipt --- a/linld/receipt Sat Dec 13 10:57:19 2014 +0100 +++ b/linld/receipt Sun Dec 14 01:53:01 2014 +0100 @@ -11,11 +11,21 @@ WEB_SITE="$BASE_SITE/README.txt" WGET_URL="$BASE_SITE/$TARBALL" +BUILD_DEPENDS="dosbox" + # Rules to configure and make the package. compile_rules() { mv DIST $src 2> /dev/null cd $src + patch -p0 < $stuff/load.u + sed -i 's/^@pause/rem &/' LINLD097/*.BAT + unix2dos > MAKE.BAT <boot_flag != 0xAA55) + die("No boot signature (55,AA). It's not a kernel"); +- if(first1k->header != HdrS) ++ if(first1k->header != HdrS) // starting linux 1.3.73 + die("No 'HdrS' signature (kernel is too old)"); +- if(first1k->version < 0x202) +- die("Loader protocol version is less than 2.02 (kernel is too old)"); + if(!(first1k->loadflags & 0x01)) + die("I can't load bzImages low"); + +@@ -414,7 +412,13 @@ + // Tell rm loader some info + + first1k->vid_mode = vid_mode; +- first1k->cmd_line_ptr = 0x98000; ++ if(first1k->version >= 0x202) { // starting linux 2.4.0-test3-pre3 ++ first1k->cmd_line_ptr = 0x98000; ++ } ++ else { ++ first1k->cl_magic = 0xA33F; ++ first1k->cl_ofs = 0x8000; ++ } + first1k->type_of_loader = 0xff; // kernel do not know us (yet :-) + // * will be called just before rm -> pm + first1k->realmode_switch_ofs = ofs(last_ditch);