Linux
-
DJGPP ist doch GCC nur ein Port auf Windows und wird auch für OS dev benutzt.
also in der tar.gz war keine doku drin, sondern nur source und das makefile.
-
Warum zum Teufel willst du den Linux Kernel 1.0 kompilieren???
Wenn es daum geht, eine bootfähiges Linux auf eine Diskette zu bringen, dafür gibt es Lösungen mit aktuelleren Kernels.Martin
-
???? schrieb:
Ich hab den DJGPP und Win98 und Linux kernel 1.0 source.
Ich glaube nicht das dat funktionieren wird. Das ist ein Windowsport und erstellt somit W32 Binaries.
Martin G schrieb:
Warum zum Teufel willst du den Linux Kernel 1.0 kompilieren???
Wenn es daum geht, eine bootfähiges Linux auf eine Diskette zu bringen, dafür gibt es Lösungen mit aktuelleren Kernels.Martin
Würde ich aber auch sagen!
Greets
-
nein mit den rohdaten kann man die bin einfach auf eine bootdisk kopieren vom DJGPP und die laufen: funzt, hab ich schon mit Protectedmode tutorials ausprobiert.
wieso Linux 1.0? Ganz einfach um ihn auseinander zu nehmen und daraus zu lernen.
-
*push*
ach leute ich dachte ihr seit Linuxgurus
-
schau dir doch das Makefile an, welche Optionen das anbietet.
> cat Makefile | grep "^[a-z]*:"
-
aus dem makefile werde ich nicht schlau, da ich bis jetzt sehr gut ohne ausgekommen bin.
# # Makefile for linux. # If you don't have '-mstring-insns' in your gcc (and nobody but me has :-) # remove them from the CFLAGS defines. # AS86 =as -0 -a CC86 =cc -0 LD86 =ld -0 AS =gas LD =gld LDFLAGS =-s -x -M CC =gcc CFLAGS =-Wall -O -fstrength-reduce -fomit-frame-pointer -fcombine-regs CPP =gcc -E -nostdinc -Iinclude ARCHIVES=kernel/kernel.o mm/mm.o fs/fs.o LIBS =lib/lib.a .c.s: $(CC) $(CFLAGS) \ -nostdinc -Iinclude -S -o $*.s $< .s.o: $(AS) -c -o $*.o $< .c.o: $(CC) $(CFLAGS) \ -nostdinc -Iinclude -c -o $*.o $< all: Image Image: boot/boot tools/system tools/build tools/build boot/boot tools/system > Image sync tools/build: tools/build.c $(CC) $(CFLAGS) \ -o tools/build tools/build.c chmem +65000 tools/build boot/head.o: boot/head.s tools/system: boot/head.o init/main.o \ $(ARCHIVES) $(LIBS) $(LD) $(LDFLAGS) boot/head.o init/main.o \ $(ARCHIVES) \ $(LIBS) \ -o tools/system > System.map kernel/kernel.o: (cd kernel; make) mm/mm.o: (cd mm; make) fs/fs.o: (cd fs; make) lib/lib.a: (cd lib; make) boot/boot: boot/boot.s tools/system (echo -n "SYSSIZE = (";ls -l tools/system | grep system \ | cut -c25-31 | tr '\012' ' '; echo "+ 15 ) / 16") > tmp.s cat boot/boot.s >> tmp.s $(AS86) -o boot/boot.o tmp.s rm -f tmp.s $(LD86) -s -o boot/boot boot/boot.o clean: rm -f Image System.map tmp_make boot/boot core rm -f init/*.o boot/*.o tools/system tools/build (cd mm;make clean) (cd fs;make clean) (cd kernel;make clean) (cd lib;make clean) backup: clean (cd .. ; tar cf - linux | compress16 - > backup.Z) sync dep: sed '/\#\#\# Dependencies/q' < Makefile > tmp_make (for i in init/*.c;do echo -n "init/";$(CPP) -M $$i;done) >> tmp_make cp tmp_make Makefile (cd fs; make dep) (cd kernel; make dep) (cd mm; make dep) ### Dependencies: init/main.o : init/main.c include/unistd.h include/sys/stat.h \ include/sys/types.h include/sys/times.h include/sys/utsname.h \ include/utime.h include/time.h include/linux/tty.h include/termios.h \ include/linux/sched.h include/linux/head.h include/linux/fs.h \ include/linux/mm.h include/asm/system.h include/asm/io.h include/stddef.h \ include/stdarg.h include/fcntl.h
wie compiliere ich den denn mit dem DJGPP??
-
Wieso benutzt du nicht direkt Linux um den Kernel zu kompilieren ?
Willst du uns unbdeingt eine Machbarkeitsstudie vorlegen oder was ?
Das war absichtlich zynisch gemeint, ich hoffe dir ist klar das sich uns der Sinn deines Handelns nicht ganz erschliesst.Ausserdem ist in der Regel ein Blick in linux/Documentation/Changes angebracht.
Da steht was man mindestens(für eine Basis Entwicklungs Umgebung) braucht um den Kernel erfolgreich übersetzen zu können.
-
kingruedi schrieb:
cat Makefile | grep "^[a-z]*:"
cat | grep?
Und das von Dir?
-
nman schrieb:
cat | grep?
Und das von Dir?Fuer jede Aufgabe ein Tool, mach ich auch so. Sonst wirds unlogisch, wenn man mehrere Filter hintereinanderschaltet.
cat foo | filter1 | filter2 | filter3
sieht IMHO weitaus logischer aus als
filter1 foo | filter2 | filter3
-
kann SG1 nur zustimmen
obwohl ich mir grep filter file angewöhnen will