2 Fragen.

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
ChristianW
Beiträge: 39
Registriert: 03.07.2006 11:17:38

2 Fragen.

Beitrag von ChristianW » 03.07.2006 11:23:30

Hallo.

Ich habe mir mal aus Neugier die Linux kernel Source geladen. Nun wollte ich einfach mal schauen was so passiert. Ich habe aber auch was darüber gelesen, das der »make« Code benutzt werden muss, weil dort eine "MAKEFILE" ist. Nur was genau macht der »make« Code?

Dann wollte ich gerne noch wissen, wie ich in den loader von Linux eintragen kann, das mein 2. System (minix 3, welches ich einfach nur aus test zwecken installiert habe) beim Start auch auswählbar ist.
HDD [0]
- [0] Minix 3 Partition
- [1] Debian Partition
- [2] SWAP dingens :S
So in etwa wird das sein.
Wie kann ich meine minix Partition mit eintragen?

Christian

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22456
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 03.07.2006 11:49:01

Willomen im Forum. make ist ein Befehl , der wenn es File Namens MAKEFILE vorfindet nach den drin enhaltenen Anweisungen den Sourcecode übersetzt. (gcc. Linker usw. ) Das müßte man sonst alles von Hand machen. Häufig ist es aber so das Makefile erst erstellt werden muß.

Hat Minix einen eigenen Bootloader? Und welchen Bootloader setzt du den ein ?
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

ChristianW
Beiträge: 39
Registriert: 03.07.2006 11:17:38

Beitrag von ChristianW » 03.07.2006 12:05:53

Danke für die schnelle Antwort.
KBDCALLS hat geschrieben:make ist ein Befehl , der wenn es File Namens MAKEFILE vorfindet nach den drin enhaltenen Anweisungen den Sourcecode übersetzt. (gcc. Linker usw. ) Das müßte man sonst alles von Hand machen. Häufig ist es aber so das Makefile erst erstellt werden muß.
Ich hatte den »gcc« code benutzt und musste mit erschrecken feststellen das der code nicht funktioniert. Dannach habe ich es mit g++ versucht und es funktioniert. Den Unterschied kenn ich also nicht wirklich. Ich habe C++ und nicht C gelernt. Kann es sein das gcc für C Files ist, also normal »C« und g++ für C++ Files?

Und wieso sind MAKEFILE Dateien so seltsam aufgebaut? Es sieht auch wie switch in C, also wie die einzelnen cases.
Makefile hat geschrieben:...........
depend::
mkdep kernel
mkdep servers
mkdep drivers
cd kernel && $(MAKE) $@
cd servers && $(MAKE) $@
cd drivers && $(MAKE) $@
............
Ich verstehe den Aufbau leider nicht ganz. Gibt es dazu ein Tutorial? Am besten in deutsch.
KBDCALLS hat geschrieben:Hat Minix einen eigenen Bootloader? Und welchen Bootloader setzt du den ein ?
Ich weiß nicht recht ob minix einen eigenen Loader hat. Es wird auf jeden Fall, minix automatisch gestartet wenn nur minix drauf ist.
Ich habe momentan mit Linux den GRUB-Loader wenn ich mich nicht irre.

Christian

Benutzeravatar
mauser
Beiträge: 1854
Registriert: 27.01.2005 22:34:48

Beitrag von mauser » 03.07.2006 12:18:11

ChristianW hat geschrieben: Kann es sein das gcc für C Files ist, also normal »C« und g++ für C++ Files?
Jepp, dem ist so...
ChristianW hat geschrieben: Ich verstehe den Aufbau leider nicht ganz. Gibt es dazu ein Tutorial? Am besten in deutsch.
http://de.wikipedia.org/wiki/Make

Ansonsten gibts ja noch google...
mfg
mauser

ChristianW
Beiträge: 39
Registriert: 03.07.2006 11:17:38

Beitrag von ChristianW » 03.07.2006 12:43:13

mauser hat geschrieben:
ChristianW hat geschrieben: Kann es sein das gcc für C Files ist, also normal »C« und g++ für C++ Files?
Jepp, dem ist so...
Oha, das C von C++ so stark abscheift hätte ich nicht gedacht. Arbeitet C etwa nicht ohne main() Funktion?

mauser hat geschrieben:http://de.wikipedia.org/wiki/Make

Ansonsten gibts ja noch google...
mfg
mauser
Hmm... Nur was ich da nicht ganz verstehe, das da etwas über Linker und sowas steht. Ich habe ein Test-Programm compiliert und es war schon "Einsatzfähig".
Naja, ich lese den Artikel aber am besten erst bis zum Schluss durch. ;-)

Es wäre aber nett, wenn du, oder jemand anderen mir das mit der Eintragung im Loader erklären könntest, weil ich nicht gerne Linux nachdem ich Minix getestet habe extra neu installieren wollte.

Christian

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22456
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 03.07.2006 12:56:02

Falls Minix die möglichkeit besitzt seinen Bootloader in die Partiton zu schreiben wo mans hininstalliert ,als nicht nur in den MBR
dann könntest du Minix über den chainloader von Grub starten. Das könnte dann so aussehen.

Code: Alles auswählen

 title           minix
 root          (hd0,1)
 chainloader   +1

Ne zeitlang habe ich mal den Grub von SuSE so gestartet.

C war als erstes da , und C++ ist eine Erweiterung davon.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

Benutzeravatar
Schlingel
Beiträge: 355
Registriert: 18.01.2004 10:23:17
Wohnort: Spandau

Beitrag von Schlingel » 03.07.2006 13:04:13

ich weiss zwar nicht was minix ist aber normal kannste in deiner /boot/grub/menu.lst
unter

Code: Alles auswählen

### END DEBIAN AUTOMAGIC KERNELS LIST

# This is a divider, added to separate the menu items below from the Debian
# ones.

# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/hda1

title           debian hda1 
oot            (hd0,5)
kernel          /vmlinuz-2.6.17.1-s root=/dev/hda1 ro
boot
das andere OS eintragen musst natürlich wissen wo es liegt.
und oben

Code: Alles auswählen

# You can specify 'saved' instead of a number. In this case, the default entry
# is the entry saved with the command 'savedefault'.           
default         0
stellste ein welches als default gebootet werden soll.
Kernel/OS Linux 2.6.31.5-s64 [ Debian sid ]
CPU Info AMD Athlon 64 X2 Dual Core 6000+
Memory 2027.1MB
XFX GeForce 9600 GT

ChristianW
Beiträge: 39
Registriert: 03.07.2006 11:17:38

Beitrag von ChristianW » 03.07.2006 13:30:54

mauser hat geschrieben:
ChristianW hat geschrieben: Kann es sein das gcc für C Files ist, also normal »C« und g++ für C++ Files?
Jepp, dem ist so...
ChristianW hat geschrieben: Ich verstehe den Aufbau leider nicht ganz. Gibt es dazu ein Tutorial? Am besten in deutsch.
http://de.wikipedia.org/wiki/Make

Ansonsten gibts ja noch google...
mfg
mauser
Ich habe mal versucht eine Makefile zu erstellen, was aber irgendwie nicht ganz funktionieren will ^^

Code: Alles auswählen

CC?= c++
LD?= ld

prog: test1.obj test2.obj
	$(LD) -o prog test1.obj test2.obj

test1.obj: test1.c
	$(CC) -o test1.c test1

test2.obj: test2.c
	$(CC) -o test2.c test2
Als Meldung bekomme ich, wenn ich make prog eingebe:
make: *** Keine Regel vorhanden, um das Target »test1.c«,
benötigt von »test1.obj«, zu erstellen. Schluss.
Wäre nett wenn du mir sagen könntest, wie es richtige wäre.


-------------------
Zu dem anderen mit den Loader.
Ich werde es mal versuchen es in die Menu Liste mit einzutragen.
Danke :)




Christian

ChristianW
Beiträge: 39
Registriert: 03.07.2006 11:17:38

Beitrag von ChristianW » 03.07.2006 13:45:15

Schlingel hat geschrieben:ich weiss zwar nicht was minix ist aber normal kannste in deiner /boot/grub/menu.lst
unter

Code: Alles auswählen

### END DEBIAN AUTOMAGIC KERNELS LIST

# This is a divider, added to separate the menu items below from the Debian
# ones.

# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/hda1

title           debian hda1 
oot            (hd0,5)
kernel          /vmlinuz-2.6.17.1-s root=/dev/hda1 ro
boot
das andere OS eintragen musst natürlich wissen wo es liegt.
und oben

Code: Alles auswählen

# You can specify 'saved' instead of a number. In this case, the default entry
# is the entry saved with the command 'savedefault'.           
default         0
stellste ein welches als default gebootet werden soll.
Ich bin die Datei gerade am editieren, aber ich scheitere an »boot« und an »initrd«
Habe diesen Text schon hinzugefügt:

Code: Alles auswählen

title           Minix 3
root            (hd0,0)
kernel          /
initrd          /
savedefault
boot
Aber ich kenne den Pfad zum kenel nicht, genauso wenig wie initrd.
Aber weil es Automatisch gestartet ist, kann es sein, das ich das einfach weglassen kann? :roll:

Achja, als ich auf der Suche nach dem passenden Kernel Zeugs und so war, habe ich mal unter den Source von Minix geschaut. Hier sind die Files die in dem Ordner /minix/src/boot bestehen:

Code: Alles auswählen

.          bootblock.s  bootimage.c    jumpboot.s    mkfile.c
..         boot.c       doshead.s      Makefile      rawfs.c
addaout.c  boot.h       image.h        masterboot.s  rawfs.h
a.out2com  boothead.s   installboot.c  mkfhead.s
Hilft das vielleicht weiter?


Christian

Antworten