Ich beschäftige mich derzeit mit Linux auf 68K Prozessoren.
Wer hat Erfahrung mit 68K LInux ?
Wer hat schon mal Linux auf einem 68030/040/060 Rechner ausprobiert ?
Ich beschäftige mich derzeit mit Linux auf 68K Prozessoren.
Wer hat Erfahrung mit 68K LInux ?
Wer hat schon mal Linux auf einem 68030/040/060 Rechner ausprobiert ?
Ich hatte mich vor 20 Jahren mal mit dem uCLinux beschäftigt. Auf einem Dragonball (683xx).
Sollte auch noch hier rumliegen.
Er meint aber sicher "richtiges" Linux mit MMU, was ja ab 68020+PMMU oder ab 68030 laufen sollte.
Und nein, ich habe es nie ausprobiert.
Mein erstes Linux für Motorola/Freescale war mit PPC. Das ist heute noch im Einsatz bei Kunden.
Mit einem -zig Megahertz 68K wird es Dich sicher nicht umhauen, mit dem 500MHz PPC läuft es schon sehr gut inklusive hochauflösender Grafik und X.
Mit uCLinux hat ich mich auch schon beschäftigt, allerdings nicht auf dem 68328.
Derzeit bin ich damit beschäftigt, Linux auf meinen alten VME Bus Karten
mit 68030/040/060 Prozessoren auszuprobieren.
Für MVME147/167 ist es im noch im 2.6er Kernel Source enthalten. Spätere habe ich nicht nachgeschaut.
Für MVME147/167 ist es im noch im 2.6er Kernel Source enthalten. Spätere habe ich nicht nachgeschaut.
Ist auch noch im 3.x, 4.x und 5.x Kernel vorhanden.
Ich benutzte derzeit die Kernel Versionen 3.1.0 und 4.4.13
Wie bekommst Du die ganzen Utilities/Programme zusammen? Kernel ist ja nur 5% des Aufwandes
Das gibt es fertige 68k Root Filesysteme bzw komplette Distributionen
von Debian und Gentoo.
Nur den Kernel muss man an das entsprechende Board anpassen.
Ich benutze momentan stage3-m68k-20130509 bzw. stage3-m68k-20200409.
http://ftp.uni-kl.de/pub/linux…ge3-m68k-20130509.tar.bz2
https://sourceforge.net/projec…20200409.tar.bz2/download
Das wird momentan noch über NFS gemountet.
Und wo kompilierst Du den Kernel?
X86 Linux mit Crosskompiler?
Ich habe jetzt gewiss nicht vor dass auf dem PROTEUS 68020(+PMMU) zu machen, da gäbe es noch weitergehende Probleme die Software dann überhaupt drauf zu bringen; aber es interessiert mich einfach
Und wo kompilierst Du den Kernel?
X86 Linux mit Crosskompiler?
Genau so mache ich das.
LInux habe ich u.A. auf diese Karte portiert:
Die (VME Bus) Karte hat 16 MByte DRAM, 4 Mbyte Flash, 4 serielle Schnittstellen
einen 10 MBit Ethernet Anschluß, einen MC68LC060 und einen MC68360 Prozessor.
Der MC68360 wird im slave mode betrieben (CPU32+ Core disabled).
Die 68LC060 CPU hat dadurch vollen Zugriff auf alle internen Einheiten des MC68360
(Memory Controller, Ethernet Controller, Interrupt Comtroller, Timer, DMAs, serielle
Schnittstellen, SPI...).
Der Kernel wird über tftp ins DRAM geladen und dann gestartet.
Das Root Filesystem wird derzeit über NFS gemountet, da ich noch keinen funktionierenden
PCMCIA/CF Card Treiber habe.
Es läuft recht stabil, allerdings ohne graphische Benutzeroberfläche.
Nur die FPU Emulation im Linux Kernel funktioniert leider nicht.
Mich würde interessieren, ob jemand Linux/68K mal auf einem MAC, ATARI, AMIGA,
einer SUN oder auf einer Motorola MVME Karte ausprobiert hat ?
Ich hatte mich vor rund 25 Jahren mal mit Eagle-Linux beschäftigt. Das war eine Distribution angeblich für Amiga und wurde auf CD-ROM vertrieben. Habe ich nie zum Laufen bekommen, und wie man damals im Internet lesen konnte, war ich nicht der einzige. Die Version 1.0 der CD war schlicht nicht lauffähig auf fast allen Systemen. Auf den Patch habe ich nicht gewartet, sondern ich habe den Rat befolgt, das für 680x0 wesentlich besser optimierte NetBSD installiert. Aber auch das wurde schnell uninteressant, da es mit MacOS ein damals weitaus interessantes alternatives OS für den Amiga gab. Linux hatte ich dann auf erst wieder auf dem PC installiert, und zwar als es mit SuSE endlich eine benutzerfreundliche Variante und mit KDE (damals noch 0.9 oder so) auch endlich eine GUI gab, die den Namen auch verdient.
Der Amiga ist denke ich eine ganz nette Plattform um 68k Linuxe auszuprobieren. Debian gibt es z.B. auch für (potente) 68k-Amigas
https://wiki.debian.org/M68k/Installing
https://www.subsecret.dk/wiki/Linux_on_Amiga
Für die Amigas gibts auch das proprietäre AMIX und auch Netbsd oder Minix (ja ich weiß, kein Linux, aber "unixoid")
Wenn man nicht sehr viel investiert (68040/60, unterstützte Graka, unterstützt Netzwerkkarte, viel RAM, MMU,....) kommt man da nicht so weit, ausser emuliert.
Ich bin über Minix nicht hinaus gekommen (da gibts irgendwo einen Thread hier im Forum).
Auf dem A1200 habe ich mal Netbsd ausprobiert, aber das war dermaßen instabil, daß ich es schnell gelassen hab (mag aber an meinem damaligen Setup gelegen haben)
Für den Atari TT 68030 gibts auch ein Unix (kein Linux).
Ansonsten ist jdreesen ja mit viel Engagement und Herzblut dabei etwas unixoides auf SAGE/STRIDE wieder zu beleben.
https://www.reddit.com/r/vinta…0_running_netbsd_10_1995/
gabs grad vorgestern im "Bilderthread" bei /r
Ich habe 68k Linux im Aranym Emulator und im qemu ausprobiert.
Beides funktioniert sehr gut auf meinem Linux Host.
Im qemu-system-m68k wird ein Quadra 800 emuliert, auf dem der Linux Kernel 4.4.13 läuft.
Ansonsten ist jdreesen ja mit viel Engagement und Herzblut dabei etwas unixoides auf SAGE/STRIDE wieder zu beleben.
Na ja, beide mir versprochene Unistride Tapes sind noch nicht eingetroffen....Und dann ist da noch das Problem mit der unbekannte, handgestrickte MMU.
68K Unix gibt es zB. auch fur die HP9000/300 : HPUX und NetBSD.
http://www.linux-m68k.org/ hat auch schon langer kein Update mehr gehabt...
Danke für die Informationen.
>>Mit einem -zig Megahertz 68K wird es Dich sicher nicht umhauen.
Besonderes flott ist es nicht, aber doch schneller, als ich erwartet hatte.
Vor allen compilieren über NFS (10 MBit/s) geht ziemlich langsam.
Außerdem benötigt Linux sehr viel Speicherplatz. Allein der Kernel (4.4.13) ist 3.9 MByte groß !
Ich wollte eigentlich nur mal sehen ob ein relativ neuer Linux Kernel auf so einem alten Prozessor
überhaupt noch funktioniert.
NetBSD möchte ich auch irgendwann mal ausprobieren.
Inzwischen habe ich mit buildroot (https://buildroot.org/) ein neues Root Filesystem zusammengestellt.
Außerdem habe ich jetzt auch den CF Card (ATA) Treiber zum laufen gebracht.
Die Bootzeit von Linux (bis zum login) beträgt jetzt nur noch 12 Sekunden.
# cat /proc/cpuinfo
CPU: 68060
MMU: 68060
FPU: none(soft float)
Clocking: 65.2MHz
BogoMips: 130.45
Calibration: 652288 loops
#
# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 960740 119860 774860 13% /
devtmpfs 6004 0 6004 0% /dev
tmpfs 6064 0 6064 0% /dev/shm
tmpfs 6064 12 6052 0% /tmp
tmpfs 6064 16 6048 0% /run
# mount
/dev/root on / type ext4 (rw,relatime,data=ordered)
devtmpfs on /dev type devtmpfs (rw,relatime,size=6004k,nr_inodes=1501,mode=755)
proc on /proc type proc (rw,relatime)
devpts on /dev/pts type devpts (rw,relatime,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,relatime,mode=777)
tmpfs on /tmp type tmpfs (rw,relatime)
tmpfs on /run type tmpfs (rw,nosuid,nodev,relatime,mode=755)
sysfs on /sys type sysfs (rw,relatime)
# ifconfig
eth0 Link encap:Ethernet HWaddr 00:40:42:01:00:00
inet addr:192.168.0.100 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Base address:0xc00
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
# ping 192.168.0.38
PING 192.168.0.38 (192.168.0.38): 56 data bytes
64 bytes from 192.168.0.38: seq=0 ttl=64 time=10.000 ms
64 bytes from 192.168.0.38: seq=1 ttl=64 time=0.000 ms
^C
--- 192.168.0.38 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.000/5.000/10.000 ms
#
Alles anzeigen
# time ./fractal
000000011111111111111111122222233347E7AB322222111100000000000000000000000000000
000001111111111111111122222222333557BF75433222211111000000000000000000000000000
000111111111111111112222222233445C 643332222111110000000000000000000000000
011111111111111111222222233444556C 654433332211111100000000000000000000000
11111111111111112222233346 D978 BCF DF9 6556F4221111110000000000000000000000
111111111111122223333334469 D 6322111111000000000000000000000
1111111111222333333334457DB 85332111111100000000000000000000
11111122234B744444455556A 96532211111110000000000000000000
122222233347BAA7AB776679 A32211111110000000000000000000
2222233334567 9A A532221111111000000000000000000
222333346679 9432221111111000000000000000000
234445568 F B5432221111111000000000000000000
864332221111111000000000000000000
234445568 F B5432221111111000000000000000000
222333346679 9432221111111000000000000000000
2222233334567 9A A532221111111000000000000000000
122222233347BAA7AB776679 A32211111110000000000000000000
11111122234B744444455556A 96532211111110000000000000000000
1111111111222333333334457DB 85332111111100000000000000000000
111111111111122223333334469 D 6322111111000000000000000000000
11111111111111112222233346 D978 BCF DF9 6556F4221111110000000000000000000000
011111111111111111222222233444556C 654433332211111100000000000000000000000
000111111111111111112222222233445C 643332222111110000000000000000000000000
000001111111111111111122222222333557BF75433222211111000000000000000000000000000
000000011111111111111111122222233347E7AB322222111100000000000000000000000000000
real 0m 3.26s
user 0m 0.07s
sys 0m 3.18s
#
Alles anzeigen
# ./dhry21
Dhrystone Benchmark, Version 2.1 (Language: C)
Please give the number of runs through the benchmark: 1000000
Execution starts, 1000000 runs through Dhrystone
Execution ends
Register option selected? NO
Microseconds for one run through Dhrystone: 8.4
Dhrystones per Second: 119047.6
VAX MIPS rating = 67.756
#
Alles anzeigen
# cd /home/z80pack*/cpmsim
# rm auxin
# rm auxout
# mknod auxin p
# mknod auxout p
# ./cpm2
####### ##### ### ##### ### # #
# # # # # # # # ## ##
# # # # # # # # # # #
# ##### # # ##### ##### # # # #
# # # # # # # # #
# # # # # # # # # #
####### ##### ### ##### ### # #
Release 1.26, Copyright (C) 1987-2015 by Udo Munk
CPU speed is unlimited
Booting...
64K CP/M Vers. 2.2 (Z80 CBIOS V1.2 for Z80SIM, Copyright 1988-2007 by Udo Munk)
A>dir
A: DUMP COM : SDIR COM : SUBMIT COM : ED COM
A: STAT COM : BYE COM : RMAC COM : CREF80 COM
A: LINK COM : L80 COM : M80 COM : SID COM
A: WM COM : WM HLP : ZSID COM : MAC COM
A: TRACE UTL : HIST UTL : RESET COM : LIB80 COM
A: HIST COM : DDT COM : Z80ASM COM : CLS COM
A: SLRNK COM : MOVCPM COM : ASM COM : LOAD COM
A: XSUB COM : LIB COM : PIP COM : SYSGEN COM
A>i:
A>i:
I>cz dhryst1.c
C Vers. 1.06D Z80 (C) 1982 1983 1984 by Manx Software Systems
I>as dhryst1.asm
8080 Assembler Vers. 1.06D
I>ln dhryst1.o puterr.o c.lib m.lib
C Linker Vers. 1.06D
Base: 0100 Code: 1d49 Data: 016a Udata: 1700 Total: 0035b6
I>dhryst1
I>
Alles anzeigen
Leider ist die FPU Emulation für den 68LC060 im Linux Kernel nach wie vor unvollständig.
# ./whets
##########################################
Single Precision C/C++ Whetstone Benchmark
Calibrate
You just hit an unimplemented fpu instruction (fsin
)
Please report this to ....
You just hit an unimplemented fpu instruction (fcos
)
Please report this to ....
You just hit an unimplemented fpu instruction (fcos
)
Please report this to ....
You just hit an unimplemented fpu instruction (fcos
)
Please report this to ....
You just hit an unimplemented fpu instruction (fsin
)
Please report this to ....
You just hit an unimplemented fpu instruction (fsin
)
Please report this to ....
0.48 Seconds 1 Passes (x 100)
Alles anzeigen
FPU Emulation für den 68LC060 im Linux Kernel
Gut, die willst du tendenziell eh nicht verwenden.
Für jede Ausführung einer FPU Instruktion muss die CPU dann den Fault-Handler anspringen, einen Context-Switch in den Kernel machen, deine Instruktion emulieren und wieder zurück. Das kostet massig Performance.
Dann lieber die Software so kompilieren, dass sie ohne Floating-Point-Instruktionen auskommt (oder selbst einen Soft-FPU Teil enthält, wenn der Compiler sowas hinbiegen kann).