amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.


.
  Je Seite
Nur Titel anzeigen
.


Archiv 'Publikationen'


01.Nov.2022



Linux-Anleitung: Nutzung der Fienix-Distribution auf dem X5000, Teil 2
Im ersten Teil der Anleitung zur Nutzung der Linux-Distribution "Fienix" auf dem X5000 berichtete Amiga-News.de-Redakteur Daniel Reimann, wie man sich dazu einen USB-Stick unter Windows vorbereitet. Hier nun die Fortsetzung:

Starten von Fienix

Nachdem der USB-Stick in einen freien USB-Port gesteckt wurde, können wir den X5000 hochfahren. Sobald der Boing Ball anfängt sich zu drehen, am besten zweimal die "M"-Taste drücken. Mit dem ersten Drücken gelangen wir ins "AmigaOne Early Startup Control"-Menü...


...und mit dem zweiten Tastendruck in das Kommandozeilenmenü. Solange der "Linux"-Button im Control-Menü noch nicht konfiguriert ist (dritter Teil), spart das etwas Zeit. Nun folgendes eingeben:

usb reset

Er wird unter anderem nach Speichermedien gesucht. Ich habe bei mir folgenden (Sonder?)Fall: an meinem Tower sind vorn zwar mehrere USB-Ports angebracht, aber nur zwei können verwendet werden. Damit ich einen für den USB-Stick freihabe, habe ich in den anderen die Tastatur vom Mac angeschlossen und in die wiederum meine USB-Maus. Die muss ich aber vor dem Ausführen von "usb reset" abstöpseln, da sie ansonsten als weiteres Speichermedium erkannt wird. Nun die folgenden Zeilen eingeben:

setenv bootargs root=LABEL=FIENIX-DISK
fatload usb 0:1 1000000 uImage-6.0
fatload usb 0:1 1c00000 cyrus-p5020.dtb
fatload usb 0:1 2000000 uInitrd-5.10
bootm 1000000 2000000 1c00000


Der Kernel wird geladen und Fienix gestartet. Nach der Eingabe rattern etliche Zahlenkolonnen über den Bildschirm, aber letztlich sollte dann das Anmeldefenster erscheinen:


Hier tippen wir folgendes:

Username: fienix
Password: fienixPW

Sieht gut aus! Und ich suche gleich mal, wo man Screenshots aufnehmen kann. Ah, unter "Accessories"...:


Standardmäßig ist kein Textverarbeitungsprogramm enthalten. Das muss man sich, und natürlich auch viele weitere Software, über den Paketmanager "Synaptic Package Manager" installieren. Zu finden ist er unter "Administration":


Auf den ersten Abi-Word-Eintrag mit der rechten Maustaste klicken und "Mark for installation" auswählen:


Daraufhin wird man gefragt, ob man damit verbundene weitere Paket-Abhängigkeiten installieren möchte. Wollen wir, wodurch auch die beiden unteren Einträge markiert werden:


Jetzt oben auf "Apply" gehen und die Pakete werden installiert. Bevor wir neu booten, wollen wir schauen, ob es geklappt hat und suchen unter "Office" nach dem entsprechenden Eintrag. Passt: "AbiWord" ist gelistet:


Nach dem Neustart testen wir AbiWord kurz an: funktioniert!


Im dritten Teil der Anleitung wollen wir schauen, wir der Drucker einsatzbereit gemacht wird und wie wir die Linux-Taste im "AmigaOne Early Startup Control"-Menü so konfigurieren, dass wir uns das Eintippen der Anweisungen zukünftig sparen können. (dr)

[Meldung: 01. Nov. 2022, 05:57] [Kommentare: 1 - 28. Nov. 2022, 07:43]
[Per E-Mail versenden]  [Druck-Version]  [ASCII-Version]
30.Okt.2022



Gastbeitrag: Trevors persönlicher Rückblick auf die Amiga37
Zur vor zwei Wochen stattgefundenen Amiga37 reiste Trevor Dickinson extra aus Neuseeland an, um A-EON und AAA Technology zu präsentieren. Wir haben ihn um seine Eindrücke von seinem Aufenthalt in Deutschland und der Messe gebeten, die er uns nachfolgend geschildert hat. Herzlichen Dank an Trevor.

Amiga37 - Die Show des Jahrhunderts!

Ich bin gerade wieder in Neuseeland angekommen, nachdem ich an der Amiga 37 in Mönchengladbach teilgenommen habe. Was kann ich über Amiga 37 sagen? Wow, was für eine Show! Mit über 1400 Anmeldungen ist es sicherlich die bisher größte Amiga-Veranstaltung des 21. Jahrhunderts.

Es war mein erster internationaler Flug seit Covid-19 Neuseeland Anfang 2020 abgeriegelt hat und meine erste Amiga-Show seit Amiga Ireland im Januar desselben Jahres. Abgesehen davon, dass ich die Amiga 37 im Namen von A-EON Technology gesponsert habe, habe ich eine gemeinsame Präsentation mit Enrico Vidale von ACube über die Amiga Next-Generation Szene gehalten. Ich bin mir sicher, dass es zahlreiche Berichte und Updates von Leuten geben wird, die an der Messe teilgenommen haben, daher werde ich nur einige meiner persönlichen Erlebnisse der Amiga 37 schildern und hervorheben.

In der Hoffnung, einen Teil des unvermeidlichen Jetlags zu überwinden, kam ich am Donnerstag in Düsseldorf an, ein paar Tage vor der Hauptveranstaltung. Ich traf mich mit Matthew Leaman am Flughafen, bevor ich den Zug nach Mönchengladbach nahm. Wir hatten im Hotel Leonardo gebucht, das mir von Markus Tillmann empfohlen worden war. Nach ein paar Drinks in der Hotelbar zogen wir uns auf unser Zimmer zurück, um den Scotch Whisky zu probieren, den ich mitgebracht hatte. Obwohl wir kurz nach Mitternacht relativ früh schlafen gingen, wachte ich einige Stunden später auf und konnte nicht wieder einschlafen. Am nächsten Tag arbeitete ich ein wenig an meiner Präsentation für die Messe und am Abend besuchten wir die Amiga 37 Pre-Party und genossen kostenlose Pizza und eine offene Bar. Es war großartig, all meine Amiga-Freunde nach fast 2 Jahren der Isolation aufgrund internationaler Reisebeschränkungen wieder zu treffen. Ich habe sogar einige neue kennengelernt. Alle waren in Feierlaune, was durch eine großzügige offene Bar und reichlich Suppe und Pizza noch verstärkt wurde. Am Ende des Abends gingen Matthew und ich mit Dave Haynie und Costel Mincea zurück in unser Hotelzimmer, um den Whisky zu Ende zu trinken. Es war 4:00 Uhr morgens, als Costel und Dave abreisten :) Wie war das noch mit der Überwindung des Jetlags?

Nach 3 Stunden Schlaf standen wir auf, frühstückten und machten uns auf den Weg zum Kunstwerk-Center, das eine 25-minütige Taxifahrt entfernt war. A-EON Technology, Amiga Kit und Amedia Computer teilten sich einen gemeinsamen Stand unter AAA Technology, einem Joint Venture, das sie gegründet haben, um Amiga-Hardware und -Software in Europa zu verkaufen. Laurent und Frank von Amedia hatten eine große Auswahl an klassischer Amiga-Hardware und -Software sowie X5000-Computersysteme zum Verkauf mitgebracht. Zwei X5000-Systeme wurden mit den neuesten Versionen von AmigaOS 4.1 und MorphOS eingerichtet. Der bei A-EON ansässige Linux-Experte und Beta-Tester Christian Zigotzky stellte seine MorphOS-Festplatte zur Verfügung, und er und seine Frau Nadine halfen mit dem AAA Technology Display. Es war schön zu sehen, dass beide Betriebssysteme der nächsten Generation auf dem X5000 laufen.

Amedia hatte zwei arbeitsreiche Tage und konnte ein X5000/40-System auf der Messe und ein weiteres online verkaufen. An einem Punkt des Wochenendes hatte Christian ein Problem mit seiner MorphOS-Festplatte. Mit Hilfe von Frank Mariak und dem MorphOS-Team konnten sie das Problem beheben und das X5000-System wieder zum Laufen bringen. Das MorphOS-Team hatte an seinem Stand auch ein X5000 mit MorphOS, das einen Großbildschirm ansteuerte. Sie zeigten auch eine Beta-Version von MorphOS Power-Up v3.13 auf einem A4000D, der mit einem Phase5 Cyberstorm PPC-Beschleuniger mit 420 MHz, einem G-Rex 4000D PCI-Bus, einer 4dfx Voodoo 3-Grafikkarte und einer X-Surf-Ethernet-Karte ausgestattet war.

Der Amiga Future Stand, betreut von Andreas Magerl, befand sich in der Nähe der AAA Technology Ausstellungsfläche und präsentierte Petro Tyschtschenko als besonderen VIP-Gast. Ich hatte ein nettes Gespräch mit Petro und er zeigte mir stolz eine große Auswahl an Fotos aus der Zeit, als Commodore Deutschland den Fußballverein Bayern München sponserte. Er sagte, dass Commodore die Mannschaft in der Zeit von 1984-89 mit rund 16 Millionen DM gesponsert hat. Er überreichte mir eine signierte Kopie des Mannschaftsfotos von Bayern München.

Das Apollo-Team hatte einen umfangreichen und beeindruckenden Stand mit einer Vielzahl von Vampire V4- und Beschleuniger-Karten ausgestellt. Da ich seit kurzem ein neues V4-System besitze, schenkten sie mir ein Ersatzbatteriemodul, das ich mit nach Neuseeland nehmen konnte.

Ich hatte ein langes Gespräch mit Sean Donohue von My Retro Computer Ltd, der seine von C64 und VC20 inspirierten "Brotbüchsen"-PCs vorführte, auf denen die neueste Version des Linux-basierten Commodore Vision OS läuft. Nach dem Tod von Barry Altman kaufte Sean viele der Vermögenswerte von Commodore USA und erwarb die Gehäuseformen, die Website und einige Lagerbestände. Wir sprachen über seine kürzlich erfolgreich abgeschlossenen Kickstarter- und Indiegogo-Kampagnen, bei denen 564 Unterstützer £157.078 für die Herstellung von offiziell lizenzierten C64-PCs mit Commodore-Branding im C64-"Brotbüchsen"-Gehäuse gesammelt haben, womit sein ursprüngliches Finanzierungsziel von £25.000 übertroffen wurde. Wenn Sie seine Kickstarter-Kampagne verfolgt haben, wissen Sie, dass sie aufgrund einer Klage von Commodore Industries (auch bekannt als Commodore Engineering) wegen geistigen Eigentums vorübergehend ausgesetzt wurde. Nach einer Intervention von Eugene Van Os von der Commodore Corporation BV, der bestätigte, dass My Retro Computer lizenziert und berechtigt ist, die Marke Commodore zu verwenden, erlaubte Kickstarter jedoch die Fortsetzung der Kampagne. Laut Sean ist das leider nicht das Ende der Anfechtungen durch andere Dritte, die Einwände gegen sein C64-Gehäusedesign haben.

Neben Costel war auch Timothy De Groote, ein weiterer ehemaliger Direktor von Hyperion Entertainment, am Samstag auf der Messe anwesend. Wir hatten ein kurzes Gespräch über die Zukunft von Hyperion und nutzten die Gelegenheit für ein Foto. Hey, wer hat denn 3 weise Affen gesagt? ;) Ben Hermans, der Hauptgesellschafter von Hyperion Entertainment, war ebenfalls auf der Messe. Er und Matthew Leaman hatten eine Diskussion über mehrere wichtige Themen. Ich ermutigte Ben, sich mit Michael Battilana von der Amiga Corporation/Cloanto zu treffen, um zu sehen, ob sie eine gemeinsame Basis finden könnten, um ihre rechtliche Sackgasse zu überwinden. Sie hatten am Samstagnachmittag ein langes persönliches Treffen, an dem ich als Beobachter teilnahm. Auch hier wurden viele Fragen erörtert. Ich bin mir nicht sicher, ob es zu positiven Ergebnissen führen wird, aber zumindest haben sie sich darauf geeinigt, weiter zu reden.

Es gab so viele coole und interessante Hardware- und Software-Projekte zu sehen, darunter auch einige hervorragende Retro-Klassiker, die zum Verkauf standen. Das Akiko 32, ein Mini-ITX-Motherboard für Hobbyentwickler, war zusammen mit einer tragbaren Version, die in ein Laptop-Gehäuse eingebaut ist, zu sehen. Marvin Droogsma, der umtriebige MC von Amiga 30 Amsterdam, hatte eine erstaunliche Sammlung von verpackten Retro-Amiga-Systemen zum Verkauf, von denen ich viele noch nie zuvor gesehen habe. Unglücklicherweise reiste ich aus Neuseeland nur mit Handgepäck an, so dass ich ihm keines der Systeme abnehmen konnte!

Natürlich ging es bei der Amiga 37 nicht nur um den Ausstellungsbereich der Hersteller. Ein kontinuierliches Programm von Präsentationen lief das ganze Wochenende über mit solchen Koryphäen wie den ursprünglichen Amiga-Entwicklern Dave Haynie und Ron Nicholson zusammen mit Jon Hare, Tim Wright, Mike Clarke aus der Spieleindustrie und vielen anderen. David Pleasance, der ehemalige Geschäftsführer von Commodore UK und mein Co-Autor der 'From Vultures to Vampire'-Trilogie, enthüllte Pläne für seine Commodore Amiga Global Alliance (AGA) Initiative, seinen ehrgeizigen Plan, eine zentralisierte Ressource und Informationsdatenbank bereitzustellen, die die gesamte Amiga-Gemeinschaft von Enthusiasten, Entwicklern, Händlern und Magazinen zusammenbringt. Bitte besuchen Sie seine vorläufige Webseite für weitere Informationen.

Abgesehen von den Ausstellungen und Präsentationen ist die Amiga37 auch eine Gelegenheit für Amiga-Enthusiasten, Kontakte zu knüpfen und etwas Triple-A-Spaß zu genießen. Das Buffet-Abendessen am Samstagabend war sehr gut besucht, mit reichlich Essen und gutem deutschen Bier. Bevor wir unser Abendessen verzehrten, hatte ich das Privileg, eine kurze Ansprache zu halten, um Markus und seinem Team für die Organisation der Amiga37 zu danken und um der Gemeinschaft dafür zu danken, dass sie den Amiga-Traum am Leben erhalten.

Nach dem Abendessen ging es weiter zur Retro-Party bei Projekt42. Ich muss zugeben, dass ich unter einer Kombination aus Jetlag und Schlafmangel litt und mich kurz vor Mitternacht mit Ron Nicholson davonschlich, während Mike Clarke uns zurück zu unserem Hotel begleitete. Ich bin trotzdem um 3 Uhr morgens aufgewacht.

Meine Präsentation mit Enrico war die letzte Veranstaltung der Show am Sonntag und ich war überrascht, wie viele Leute noch da waren, um unseren Vortrag zu hören. Wir sprachen über unsere jeweiligen Amiga Next-Generation-Reisen und skizzierten unsere gemeinsamen Pläne für die Veröffentlichung des A1222 Plus, Enrico sprach auch über die letzte Sam460 LE-Produktionsserie und enthüllte Details über ein PowerPC-Notebook, das ACube für das GNU/Linux Open Hardware PowerPC-Projekt entwickelt. Während unserer Präsentation machte ich eine beiläufige Bemerkung darüber, dass ich AmigaOS 4 nicht auf einem PC laufen sehen möchte. Ich glaube wirklich, dass jeder Computer, der den Amiga-Namen tragen will, ein komplettes System mit Branding sein sollte. Mir persönlich ist es egal, ob es auf einem 68k, PowerPC, ARM oder sogar x86 läuft, aber es muss aussehen und sich anfühlen wie ein Amiga-System. Einfach AmigaOS 4 auf irgendeiner PC-Hardware laufen zu lassen, macht es IMHO nicht zu einem Amiga. Wenn Sie nicht mit mir übereinstimmen, ist das Ihr gutes Recht und wir werden uns darauf einigen müssen, nicht übereinzustimmen. Am Ende der Show hatte ich das Privileg, Markus ein spezielles gerahmtes Amiga37-Gedenkposter zu überreichen, das von allen VIP-Teilnehmern unterzeichnet wurde. Es waren ein paar hektische Tage, aber ich hatte immer noch Zeit, um von Andy Caulfield von Bedrooms to Billions für sein neuestes Filmprojekt interviewt zu werden.

Nachdem die Amiga37 zu Ende war, traf sich eine Gruppe von uns, darunter Dave Haynie und Ron Nicolson, zu einem Abschiedsessen, und nach dem Essen landeten wir in der Lobby unseres Hotels für ein paar Drinks, bevor wir uns verabschiedeten.

Es gibt zu viele Amiga-Leute, um sie in diesem kurzen Bericht zu erwähnen, aber hier sind einige, an die ich mich erinnere, mit denen ich gesprochen habe: Stephen Leary - Terrible Fire Accelerators, Stephen Jones - Checkmate Digital, die unvergleichlichen Dan Wood & Ravi Abbot, Marcel Franquinet - A1200. net, John Hertel von ReAmiga fame, Jan Zahurancik - Amikit, Dimitris Panokostas - AmiBerry, Adam Spring - Remotely Interested podcast, David 'Skateman' Koelman OS4 & Linux Tester, und George Sokianos - OS4 Entwickler, Steven Fletcher - The Commodore Story, Tomasz Marcinkowski - Warp/Pixel Magazine, Jens Schönfeld - Individual Computers, Daniel Müßener - Golden Code - plus alle anderen, mit denen ich gesprochen habe, aber deren Namen ich nicht mehr weiß! Ihr wisst, wer ihr seid. ;-)

Zum Schluss möchte ich mich noch bei demjenigen bedanken, die mir eine kleine Flasche Jägermeister geschenkt hat, um meine trockene Kehle anzufeuchten. Es wird Sie freuen zu hören, dass Dave Haynie mir geholfen hat, sie auszutrinken. Außerdem vielen Dank an Tony Schiffbauer aus Pittsburgh, der mich, Michael Battilana und Ravi Abbot am Montagmorgen zurück zum Düsseldorfer Flughafen gefahren hat.

Amiga37, was für ein Ereignis! (dr)

[Meldung: 30. Okt. 2022, 05:27] [Kommentare: 6 - 05. Nov. 2022, 14:45]
[Per E-Mail versenden]  [Druck-Version]  [ASCII-Version]
29.Okt.2022



AmigaOS 4.1: Einführung in das Software Development Kit V54.16, Teil 2 (Update)
Vor gut drei Wochen hatten wir den ersten Teil der von Josef Wegner geschriebenen Einführung in das kürzlich von Hyperion Entertainment aktualisierte Software Development Kit (SDK) V54.16 veröffentlicht. Hier nun der zweite Teil:

"AmigaOS 4.1 SDK 54.16 - Wie installiert man das?

Im zweiten Artikel werde ich zeigen, wie man das SDK installiert. Da ich leider nicht auf jede individuelle Konfiguration eingehen kann, gehe ich davon aus, dass AmigaOS 4.1 Final Edition Update 2 installiert ist, d.h. das Update 2 ist bereits eingespielt. Allerdings ist es irrelevant, ob weitere Software oder der Enhancer 2.2 installiert ist.

Was braucht man für die Installation?

Wie im ersten Absatz erwähnt, sollte das Update 2 von AmigaOS 4.1 Final Edition installiert sein. Daneben braucht man:
  • ausreichend Zeit; auf einem PPC-Amiga benötigt die Installation 10 - 20 Minuten Zeit
  • 200 - 920 MB freien Speicher auf einem NGFS oder SFS Laufwerk (am besten ein weiteres Laufwerk neben dem Systemlaufwerk) für das installierte SDK
  • 350 - 400 MB zusätzlich frei auf einem (anderen) Laufwerk zum Entpacken des Archivs
  • das Installationsarchiv
Gibt es Dinge, die ich vor der Installation tun sollte?

Ja, es gibt ein bis zwei Dinge, die man machen sollte, bevor man das SDK installiert:

Als erstes sollte man eine Kopie von seiner S:User-Startup machen. Anscheinend gibt es einen Fehler im Installer-Programm oder Installer-Script, dass die letzte Zeile aus der User-Startup gelöscht wird. Nach der Installation beide Dateien vergleichen, und sicherstellen, dass nichts fehlt.

Das zweite ist, falls ein älteres SDK installiert ist, sollte man das alte aus seiner s:User-Startup-Datei entfernen oder auskommentieren. Es handelt sich dabei um folgende Zeilen:

;BEGIN AmigaOS 4.1 SDK
assign SDK: Work:SDK
execute SDK:S/sdk-startup
;END AmigaOS 4.1 SDK


Diese Zeilen löschen oder das assign/excute mit einem ; auskommentieren. Als nächstes sollte man den Amiga neustarten und schließlich das alte SDK-Verzeichnis löschen, verschieben oder umbenennen.

Jetzt am besten das Installationsarchiv von Hyperions Webseite herunterladen und ggf. auf den Amiga transferieren. Der zweite Schritt ist das Entpacken des Installers dorthin, wo man ausreichend Platz hat: das geht zum Beispiel mit dem Standardprogramm Unarc von AmigaOS 4.1. Natürlich geht auch Archiver vom Enhancer 2.2, oder dem Kommandozeilentool "LhA". Jenachdem, was installiert ist. Ich persönlich bevorzuge die Kommandozeile, also führe ich folgendes aus:

13. > Temp: > lha -a x SHARE:SDK-54.16.lha

Die Option "-a" bewirkt, dass LhA die Attribute (Datum, Permissions) wiederherstellt. "x" steht für extrahieren der Dateien mit vollem Pfad. Der letzte Teil sagt LhA, wo das Installationsarchiv gespeichert ist.

Das Entpacken des Installationsarchivs alleine dauert schon 3-4 Minuten. Genügend Zeit, um sich einen Kaffee für den nächsten Schritt zu holen. Der nächste Schritt ist den Installer "Install SDK" im frisch entpackten Verzeichnis "SDK_Install" zu starten:


Und dann die Bestandteile des SDKs auswählen:


Eine volle Installation mit allen vier GCC-Versionen braucht allerdings etwas mehr als 900 MB. Auf einem NG-System (SAM, X1000, oder X5000) sollte es keine Platzprobleme geben. Auf Classic-System sollte man sich auf einen der vier GCCs beschränken. Das spart etwa 500MB und einiges an Zeit bei der Installation. Eine vollständige Installation mit allen vier GCCs dauert etwa 10 Minuten auf meinem X5000. Auf Classic-Systemen oder WinUAE sind es deutlich mehr. Nach der erfolgreichen Installation...


...sollte man überprüfen, ob noch alles in seiner S:User-Startup-Datei steht, und dieser neuer Eintrag am Ende hinzugekommen ist. Falls alles mit der User-Startup in Ordnung ist, und man folgenden Eintrag am Ende findet,

;BEGIN AmigaOS 4.1 SDK assign SDK: Work:SDK execute SDK:S/sdk-startup ;END AmigaOS 4.1 SDK

kann man den Amiga neustarten und nächsten Abschnitt überspringen. Im übernächsten Kapitel werden wir das SDK testen und das erste Programm kompilieren.

Was mache ich, wenn es nicht funktioniert hat?

Kein Speicherplatz? Am sichersten ist es, das nicht fertig installierte SDK zu löschen. Dann kann das SDK entweder mit weniger Optionen installieren, auf einem anderem Laufwerk installieren, oder das Laufwerk aufräumen und dann noch einmal probieren.

Fehler im Archiv? Das hatte ich bei einer Installation. Lösung war wie oben, Fehlversuch löschen und noch einmal probieren.

Fehler beim Entpacken des Installationsarchivs oder beim Schreiben der Dateien? Stellt bitte sicher, dass das SDK auf einem lokalen Laufwerk installiert wird, das am Besten mit SFS oder NGFS formatiert ist. Bitte auch kein geteiltes Laufwerk in (Win)UAE benutzen. Falls dies bereits der Fall ist, und es weiterhin Fehler gibt, sollte man das Laufwerk auf Fehler prüfen. Beim NGFS geht das mit dem Befehl:

NGFCheck Work:

Wobei Work: entweder der Volumenname oder der Gerätename des Laufwerks ist.

So, SDK ist installiert. Und was jetzt?




Jetzt können wir endlich mal das SDK ausprobieren. Im Artikel 1 wurde ja gesagt, das SDK kommt mit mehrenen GCCs und dem VBCC. Also schauen wir, ob alle funktionieren. Falls mindestens ein GCC installiert wurde, können wir mit folgendem Befehl sehen, ob der GCC gefunden wird, und welche Version vom GCC aktuell benutzt wird:

gcc -v

....gcc version 8.4.0 (adtools build 8.4.0)


Das SDK hat mehrere GCCs. Wie kann ich den GCC wechseln?

Benutzt dazu das Tool "set_defGCC" in SDK:Tools. Dieses Verzeichnis liegt nicht im Suchpfad, daher muss man entweder mit der Workbench oder dem vollen Pfad öffnen.

sdk:Tools/set_defGCC

Es erscheint ein kleines Fenster, wo man zwischen den vier GCC-Versionen wählen kann. Man kann aber die Version auch direkt in der Shell angeben. Dazu hängt man die gewünschte Version hinter den Befehl. Um den GCC 11 auszuwählen, gibt man in der Shell ein:

4. > Workbench: > sdk:Tools/set_defGCC 11
4. > Workbench: > gcc -v
...gcc version 11.2.0 (adtools build 11.2.0)

Aber Vorsicht, man kann auch einen GCC wählen, der nicht installiert ist. In diesem Fall findet die Shell keinen GCC mehr. Zum Lösen ruft man das Tool noch einmal auf und wählt einen installierten GCC. Falls auch der VBCC installiert ist, kann man diesen mit folgendem Befehl testen:

vc -v
vc frontend for vbcc (c) in 1995-2020 by Volker Barthelmann
No objects to link

Jetzt können wir endlich das erste Testprogramme kompilieren und starten. Wie üblich schreiben wir ein HelloWorld-Programme in Standard-C, das ohne Codeänderungen auch auf einem anderen System kompilieren und laufen würde.

Die folgenden Zeilen in dem Editor der Wahl eingeben und als "hello.c" irgendwo speichern. Bitte die Zeilennummern weglassen!

RAM Disk:Shared/Sources/hello/hello.c
1 #include <stdio.h>
2 int main(void)
3 {
4 printf("Hallo Welt!\n");
5 return (0);
6 }

Zum Kompilieren und Starten in einer Shell folgendes ausführen:

Für den GCC:
3. > RAM Disk:Shared/Sources/hello > gcc hello.c -o hello
3. > RAM Disk:Shared/Sources/hello > hello
Hallo Welt!

Mit dem VBCC:
3. > RAM Disk:Shared/Sources/hello > vc hello.c -o hello
3. > RAM Disk:Shared/Sources/hello > hello
Hallo Welt!

Was habe ich gerade gemacht?

Ich möchte hier jetzt nicht so zu tief in die Struktur und Eigenheiten von C eintauchen. Aber ich versuche kurz zu erklären, welche Zeile was im Programm tut.
  • Zeile 1: Das ist kein C-Befehl, sondern ein Befehl für den C-Präprozessor eine andere Datei names stdio.h einzubinden. Der Präprozessor bereitet den Programmkode für weitere Kompilierschritte vor und verbessert den Funktionsumfang, die Schreibweise und die Lesbarkeit des eingegebenen Codes. Neben dem Einbinden von sogenannten Headern, kann der Präprozessor Konstanten definieren und später im Code ersetzen, Kommentare entfernen, oder Codeteile ein- und ausblenden (bedingtes Kompilieren). Die Datei stdio steht für "STanDard Input Output" und enthält die Funktionsdefinition für die Methode "printf". Diese Methode gibt den übergebenen String auf der Kommandozeile aus. Das Programm würde auch ohne diesen Präprozessorbefehl kompilieren und laufen. Allerdings würde der Kompiler Warnungen ausgeben.

  • Zeile 2: Das die Deklaration der Einstiegsfunktion. Damit C weiß, wo das Programm beginnt, muss man anders wie bei Skriptsprachen dies definieren. Bei C geschieht es dadurch, dass man die Hauptfunktion (=main) definiert. Diese muss die entweder die Form

    int main(void)
    oder
    int main(int argc, char **argv)

    haben. Die erste Form ignoriert die Parameter beim Programmaufruf, beim zweiten werden die Anzahl der Parameter (int argc) und ein Array der Parameter als C-Strings an die Methode übergeben.

  • Zeile 3 und 6: Die geschweiften Klammern definieren einen Codeblock. Damit sagen wir dem Kompiler, dass alles dazwischen (Zeile 4 + 5) Bestandteil der Funktion ist.

  • Zeile 4: Hier rufen wir eine Methode der C-Standardbibliothek auf, die den String auf der Shell ausgibt.

  • Zeile 5: Das Schlüsselwort "return" setzt den Rückgabewert der Funktion. Eine return-Anweisung beendet die Ausführung einer Funktion und gibt die Steuerung an die aufrufende Funktion zurück.Der Wert 0 bedeutet: alles in Ordnung. Man sollte immer einen Rückgabewert setzten, aber erforderlich wie bei Java ist es nicht.
Nicht alles wird wird für ein lauffähiges Programm benötigt. Wenn man viele Warnungen vom Kompiler haben (und ignorieren) will, kann man das Programm auch viel kürzer schreiben:

main(void) { printf("Hallo Welt!\n"); }

Fehlt bei C der Rückgabe- oder Variablentyp, so nimmt C einfach int (Ganzzahltyp).

Bekannte Probleme
  • Ich bekomme beim Starten des kompilierten Programms einen GrimReaper!

    Versuche das Programm auf einem anderen Laufwerk zu kompilieren. Das passiert zum Beispiel, wenn du das Programm auf einem geteilten Host-Laufwerk unter WinUAE kompilierst. Das Linken der erzeugten Objektdateien schlägt ohne Meldung fehl. Das was rauskommt, ist kein echtes Programm, und ziemlich schnell wird ein ungültiger PPC-Assemblerbefehl ausgeführt, was den GrimReaper auf den Plan ruft.

  • Ich habe das Testprogramm versucht zu debuggen, aber bekomme einen komischen SIGBUS error:

    3. > RAM Disk:Shared/Sources/hello > gcc -gstabs hello.c -o hello
    3. > RAM Disk:Shared/Sources/hello > hello
    Hallo Welt!
    3. > RAM Disk:Shared/Sources/hello > gdb hello
    ....Starting program: /RAM Disk/Shared/Sources/hello/hello...
    ...Program received signal SIGBUS, Bus error.
    0x00000000 in ?? ()
    (gdb)

    Das ist kein Problem vom SDK oder GDB, sondern ein Fehler im X5000-Kernel. Es gibt einen Beta-Kernel, wo dieses Problem behoben ist, der ist aber nicht öffentlich zugänglich.
Was kann ich machen, bis der dritte Artikel erscheint?

Erstmal freut mich, dass Ihr es bis hier her geschafft habt. Folgende Links könnten interessant sein:
  • Im offiziellen Hyperion Wiki findet man einige (englische) Tutorials, die für den Einstieg in die AmigaOS 4.1-Entwicklung hilfreich sind. Das deutsche Original des Programming AmigaOS 4 Tutorials findet man in den alten Ausgabe der Amiga Future.
  • Retrocoding: Amiga, C, graphics.library und timer.device ist ein deutsches Tutorial. Leider muss man den Kode etwas anpassen, um ihn auf AmigaOS 4.1 kompilieren zu können. Trotzdem ist es ein schöner Einstieg in die generelle Amiga-Programmierung.
  • Peter John "pjhutch" Hutchisons englisches Amiga C Tutorial ist den Lesern von Amiga-News.de bereits bekannt (amiga-news.de berichtete)
  • Will man eher Plattform-unabhängiges C schreiben, dann bietet sich "The C Book" an, wovon es auch eine freie Version gibt.
Soviel für den zweiten Teil. Im dritten Teil steigen wir etwas tiefer in die Syntax von C ein."

Update: (29.10.2022, 19:50, dr)

Der hauptverantwortliche Entwickler des SDK, George 'walkero' Sokianos, hat interessierterweise das Tutorial gelesen und bedankt sich ausdrücklich für Josefs Engagement. Darüberhinaus hat er noch drei Ergänzungen, die wir gerne hier anfügen:
  • Viele Informationen darüber, wie das SDK eingerichtet ist und wie die Compiler verwendet werden können, sind in der PDF-Datei "Introduction" enthalten, die sich im Installationsordner befindet. Für die Leute, die nicht mit dem SDK vertraut sind, ist es zu empfehlen, dieses Dokument zu lesen.
  • Verschiedene GCC-Versionen können verwendet werden, indem die Binärdatei mit der spezifischen Version im Namen verwendet wird, d.h. gcc-11 oder gcc-6.
  • Wenn AmiCygnix installiert ist, muss der Benutzer sicherstellen, dass die Zeilen, die in user-startup hinzugefügt werden, vor den AmiCygnix-Zeilen stehen, um Probleme mit der Software zu vermeiden.
(dr)

[Meldung: 29. Okt. 2022, 06:59] [Kommentare: 5 - 30. Okt. 2022, 06:48]
[Per E-Mail versenden]  [Druck-Version]  [ASCII-Version]
1 58 110 ... <- 115 116 117 118 119 120 121 122 123 124 125 -> ... 130 557 990

.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.