Loongson Mini PC , Model 3A600, welches Linux

So ich hab mal den CPU Benchmark zum laufen bekommen. Er hatte 6 Stunden vorgeschlagen am Ende waren es dann über 13 Stunden bis er fertig war.

Ich hab auch mal direkt das XML angehängt.

Abgefeuert habe ich diesen Test

/usr/bin/phoronix-test-suite benchmark cpu

Mit der Testsuite kannst wirklich einiges anstellen, falls wer Zeit hat
 

Anhänge

  • Gefällt mir
Reaktionen: eastcoast_pete
rarp schrieb:
Mips oder Mipsel? Also Big-Endian vs Little-Endian.
Weder Debian mips noch mipsel wird auf dem Loongson 3A6000 laufen, das ist nämlich eine LoongArch64-CPU. Nur die älteren Loongson (bis zum 3A4000) sind little-endian MIPS

Hier gibt es Informationen zum passenden Debian-Port loong64: https://wiki.debian.org/Ports/loong64
 
  • Gefällt mir
Reaktionen: eastcoast_pete, Bigfoot29 und konkretor
So ich hatte heute mal wieder etwas Zeit und habe versucht die Virtualisierung für x86 ans laufen zu bekommen. Es war eine Compiler schlacht. Das installierte Linux doch etwas angestaubt ist.
Wieso mußte ich Qemu von Hand installieren? Laut Paketverwaltung sollte qemu-system-x86 installiert sein. Doch wer genau hinsieht wird feststellen es wird kein Binary mitgeliefert. Also heißt es, ich muss es selbst auf dem System compilieren. Bei Loonarch64, wird es mitgeliefert.


1731267459322.png


Folgende Software habe ich von Hand compiliert, da enweder gefehlt oder schon zu alt war.
  1. Python 3.8.18
  2. CMake 3.26.5
  3. glib 2.66.8
  4. libslirp 4.7.0
  5. QEMU (latest git version)
Zusätzlich wurden einige Python-Pakete via pip installiert:
  • meson
  • ninja
  • tomli

Nach der Compiler orgie, wars dann endlich soweit und ich konnte eine VM erstellen und darin Windows starten. Leider scheint die Performance direkt über Qemu so langsam zu sein, das es nicht lohnt diese einzusetzen. Ich hänge jetzt seit 30 Minuten beim Windows 11 iot LTSC Setup und schaue der Sanduhr zu. Ein Mint 22 war ebenso nicht wirklich zum Booten zu bewegen. Dafür habe ich mal ein Alpine gebootet und das klappte ohne Probleme.

auf der Cli die XML definierte. Ich habe sie mal angehängt.

virsh --connect qemu:///session define windows.xml
virsh --connect qemu:///session start windows
XML:
<domain type='qemu'>
  <name>windows</name>
  <memory unit='KiB'>8388608</memory>
  <vcpu>4</vcpu>
  <os>
    <type arch='x86_64' machine='pc'>hvm</type>
    <boot dev='cdrom'/>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='custom' match='exact'>
    <model>Nehalem</model>
  </cpu>
  <devices>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/home/konkretor/Downloads/iso/windows.qcow2'/>
      <target dev='vda' bus='virtio'/>
    </disk>
    <disk type='file' device='cdrom'>
      <source file='/home/konkretor/Downloads/iso/windows.iso'/>
      <target dev='hdc' bus='ide'/>
      <readonly/>
    </disk>
    <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'/>
    <video>
      <model type='vga'/>
    </video>
    <interface type='user'>
      <model type='virtio'/>
    </interface>
  </devices>
</domain>

Alpine bootet innerhalb von ein paar Sekunden
1731268090041.png

Der Kernel meint auf x86 Blech zu laufen

1731267459322.png


Die Loongson CPU hat definitv die Möglichkeit x86 Code zu beschleunigen. Siehe dazu den Eintrag lbt_x86
Ich habe es aber leider nicht bis jetzt geschafft mit meiner Qemu installation hier davon etwas profitieren zu können.

Bash:
 cat /proc/cpuinfo | grep -i "flags\|Features"
features                : cpucfg lam ual fpu lsx lasx crc32 lvz lbt_x86 lbt_arm lbt_mips
features                : cpucfg lam ual fpu lsx lasx crc32 lvz lbt_x86 lbt_arm lbt_mips
features                : cpucfg lam ual fpu lsx lasx crc32 lvz lbt_x86 lbt_arm lbt_mips
features                : cpucfg lam ual fpu lsx lasx crc32 lvz lbt_x86 lbt_arm lbt_mips
features                : cpucfg lam ual fpu lsx lasx crc32 lvz lbt_x86 lbt_arm lbt_mips
features                : cpucfg lam ual fpu lsx lasx crc32 lvz lbt_x86 lbt_arm lbt_mips
features                : cpucfg lam ual fpu lsx lasx crc32 lvz lbt_x86 lbt_arm lbt_mips
features                : cpucfg lam ual fpu lsx lasx crc32 lvz lbt_x86 lbt_arm lbt_mips



Bash:
 cat /proc/kallsyms | grep -i "lbt\|x86\|binary"
9000000000203cc0 T handle_lbt
9000000000203da8 T handle_lbt_int
90000000002065a0 t lbt_get
90000000002067a0 t lbt_set
900000000020acc0 T do_lbt
900000000021099c t .ex860
90000000002109a0 t .ex865
9000000000211d0c t lbt_scall
9000000000338790 t blk_trace_event_print_binary
9000000000356c50 T bpf_jit_binary_alloc
9000000000356da0 T bpf_jit_binary_free
9000000000456190 T search_binary_handler
90000000004bd130 t load_elf_binary
90000000006f54e0 t parse_solaris_x86
9000000001018dc0 r __ksymtab_search_binary_handler
900000000103e979 r __kstrtab_search_binary_handler
ffff800004292670 t halbtcoutsrc_IsBtCoexistAvailable    [88x2ce]
ffff800004292690 t halbtcoutsrc_IsHwMailboxExist        [88x2ce]
ffff80000434c760 r glbt_info_src        [88x2ce]
ffff8000042936c0 t halbtcoutsrc_Pre_NormalLps   [88x2ce]
ffff800004295f48 t EXhalbtcoutsrc_init_coex_dm  [88x2ce]
ffff80000429656c t EXhalbtcoutsrc_WLStatusChangeNotify  [88x2ce]
ffff8000042963f8 t EXhalbtcoutsrc_halt_notify   [88x2ce]
ffff800004292740 t halbtcoutsrc_SetBtAntDetection       [88x2ce]
ffff80000429381c t halbtcoutsrc_is_autoload_fail        [88x2ce]
ffff8000042931dc t halbtcoutsrc_Write2Byte      [88x2ce]
ffff800004296b00 t EXhalbtcoutsrc_SetSingleAntPath      [88x2ce]
ffff80000429367c t halbtcoutsrc_NormalLps       [88x2ce]
ffff8000042960f4 t EXhalbtcoutsrc_connect_notify        [88x2ce]
ffff800004292f3c t halbtcoutsrc_Write_scbd      [88x2ce]
ffff800004296078 t EXhalbtcoutsrc_scan_notify   [88x2ce]
ffff800004293290 t halbtcoutsrc_GetRfReg        [88x2ce]
ffff800004296510 t EXhalbtcoutsrc_CoexDmSwitch  [88x2ce]
ffff800004315410 t halbtc8822c_cfg_gnt_fix      [88x2ce]
ffff800004296b9c t EXhalbtcoutsrc_DisplayAntDetection   [88x2ce]
ffff80000429395c t halbtcoutsrc_getwifilinkinfo [88x2ce]
ffff800004296900 t EXhalbtcoutsrc_SetHciVersion [88x2ce]
ffff800004295858 t EXhalbtcoutsrc_AntInfoSetting        [88x2ce]
ffff8000042932b4 t halbtcoutsrc_CoexH2cProcess  [88x2ce]
ffff80000444ba80 b GLBtcBtMpRptRsp      [88x2ce]
ffff800004293738 t halbtcoutsrc_AggregationCheck        [88x2ce]
ffff800004296954 t EXhalbtcoutsrc_SetBtPatchVersion     [88x2ce]
ffff80000429632c t EXhalbtcoutsrc_rx_rate_change_notify [88x2ce]
ffff8000042952d8 t halbtcoutsrc_DisplayDbgMsg   [88x2ce]
ffff8000042927c0 t halbtcoutsrc_FillH2cCmd      [88x2ce]
ffff80000444bb08 b GLBtcBtMpOperSeq     [88x2ce]
ffff800004296bd4 t EXhalbtcoutsrc_switchband_notify     [88x2ce]
ffff800004293da4 t halbtcoutsrc_GetBtForbiddenSlotVal   [88x2ce]
ffff800004295770 t EXhalbtcoutsrc_BindBtCoexWithAdapter [88x2ce]
ffff8000042946f0 t halbtcoutsrc_SetBtGoldenRxRange      [88x2ce]
ffff8000042926e4 t halbtcoutsrc_Read_scbd       [88x2ce]
ffff8000042947a4 t halbtcoutsrc_DisplayCoexStatistics   [88x2ce]
ffff800004315404 t halbtc8822c_cfg_ant_switch   [88x2ce]
ffff80000431579c t halbtc8822c_cfg_coexinfo_hw  [88x2ce]
ffff80000444c288 b GLBtCoexist  [88x2ce]
ffff80000444b998 b GLBtcDbgInfo [88x2ce]
ffff8000042967b8 t EXhalbtcoutsrc_status_monitor        [88x2ce]
ffff800004292770 t halbtcoutsrc_SetTimer        [88x2ce]
ffff8000042927a0 t halbtcoutsrc_SetAtomic       [88x2ce]
ffff80000444b980 b GLBtCoexistWifiOnly  [88x2ce]
ffff8000042960e8 t EXhalbtcoutsrc_SetAntennaPathNotify  [88x2ce]
ffff8000042953ac t halbtcoutsrc_ReadLIndirectReg        [88x2ce]
ffff80000429681c t EXhalbtcoutsrc_periodical    [88x2ce]
ffff80000444bb0d b GLBtcWiFiInScanState [88x2ce]
ffff800004295310 t halbtcoutsrc_WaitLIndirectReg_Ready  [88x2ce]
ffff800004294458 t halbtcoutsrc_Set     [88x2ce]
ffff8000042938a8 t halbtcoutsrc_GetWifiLinkStatus       [88x2ce]
ffff8000042969b8 t EXhalbtcoutsrc_SetChipType   [88x2ce]
ffff800004296864 t EXhalbtcoutsrc_dbg_control   [88x2ce]
ffff80000444ba7d b GLBtcBtMpRptWiFiOK   [88x2ce]
ffff800004293e50 t halbtcoutsrc_Get     [88x2ce]
ffff8000042956c8 t halbtcoutsrc_setbttestmode   [88x2ce]
ffff80000444ba98 b GLBtcBtMpRptSema     [88x2ce]
ffff800004315dcc t halbtc8822c_cfg_wl_tx_power  [88x2ce]
ffff800004294794 t halbtcoutsrc_Under32K        [88x2ce]
ffff8000042926d4 t halbtcoutsrc_GetPhydmVersion [88x2ce]
ffff8000042963ec t EXhalbtcoutsrc_StackOperationNotify  [88x2ce]
ffff800004292a10 t halbtcoutsrc_GetBtCoexSupportedFeature       [88x2ce]
ffff800004293498 t halbtcoutsrc_phydm_modify_RA_PCR_threshold   [88x2ce]
ffff80000444ba78 b GLBtcDbgType [88x2ce]
ffff80000429306c t halbtcoutsrc_Read2Byte       [88x2ce]
ffff80000429568c t halbtcoutsrc_GetBtReg        [88x2ce]
ffff800004292760 t halbtcoutsrc_GetAntDetValFromBt      [88x2ce]
ffff800004296154 t EXhalbtcoutsrc_media_status_notify   [88x2ce]
ffff8000042943c8 t halbtcoutsrc_LnaConstrainLvl [88x2ce]
ffff80000431564c t halbtc8822c_cfg_gnt_debug    [88x2ce]
ffff800004296bb4 t EXhalbtcoutsrc_set_rfe_type  [88x2ce]
ffff8000042934e0 t halbtcoutsrc_reduce_wl_tx_power      [88x2ce]
ffff80000429658c t EXhalbtcoutsrc_CoexTimerCheck        [88x2ce]
ffff800004296008 t EXhalbtcoutsrc_lps_notify    [88x2ce]
ffff800004292c70 t halbtcoutsrc_GetBleScanTypeFromBt    [88x2ce]
ffff800004296394 t EXhalbtcoutsrc_RfStatusNotify        [88x2ce]
ffff800004293090 t halbtcoutsrc_Read4Byte       [88x2ce]
ffff800004293724 t halbtcoutsrc_DisableLowPower [88x2ce]
ffff8000042962d0 t EXhalbtcoutsrc_WlFwDbgInfoNotify     [88x2ce]
ffff80000429654c t EXhalbtcoutsrc_TimerNotify   [88x2ce]
ffff800004315f68 t halbtc8822c_chip_setup       [88x2ce]
ffff800004295e78 t EXhalbtcoutsrc_PowerOnSetting        [88x2ce]
ffff80000432e3f0 r GLBtcIotPeerString   [88x2ce]
ffff800004296b20 t EXhalbtcoutsrc_DisplayBtCoexInfo     [88x2ce]
ffff800004292dd8 t halbtcoutsrc_GetBtAFHMapFromBt       [88x2ce]
ffff80000429384c t halbtcoutsrc_IsDualBandConnected     [88x2ce]
ffff8000042927b4 t halbtcoutsrc_phydm_modify_AntDiv_HwSw        [88x2ce]
ffff80000444ba90 b GLBtcBtMpRptStatus   [88x2ce]
ffff800004293cf8 t halbtcoutsrc_GetBtDeviceInfo [88x2ce]
ffff800004293834 t halbtcoutsrc_is_fw_ready     [88x2ce]
ffff8000042965f0 t EXhalbtcoutsrc_WLStatusCheck [88x2ce]
ffff80000444ba91 b GLBtcBtMpRptSeq      [88x2ce]
ffff80000429559c t halbtcoutsrc_GetBtReg_with_status    [88x2ce]
ffff800004315df4 t halbtc8822c_cfg_wl_rx_gain   [88x2ce]
ffff800004296c28 t EXhalbtcoutsrc_rate_id_to_btc_rate_id        [88x2ce]
ffff80000444ba10 b GLBtcDbgBuf  [88x2ce]
ffff8000042948a0 t halbtcoutsrc_DisplayBtLinkInfo       [88x2ce]
ffff800004296440 t EXhalbtcoutsrc_SwitchBtTRxMask       [88x2ce]
ffff800004294700 t halbtcoutsrc_UnderIps        [88x2ce]
ffff80000444ba7f b GLBtcBtMpRptRspSize  [88x2ce]
ffff800004292abc t halbtcoutsrc_GetBtCoexSupportedVersion       [88x2ce]
ffff800004292b70 t halbtcoutsrc_SetBtReg        [88x2ce]
ffff800004296a90 t EXhalbtcoutsrc_SetAntNum     [88x2ce]
ffff8000042934bc t halbtcoutsrc_phydm_query_PHY_counter [88x2ce]
ffff800004293048 t halbtcoutsrc_Read1Byte       [88x2ce]
ffff8000042961d0 t EXhalbtcoutsrc_specific_packet_notify        [88x2ce]
ffff8000042930b4 t halbtcoutsrc_Write1Byte      [88x2ce]
ffff800004295eb4 t EXhalbtcoutsrc_PreLoadFirmware       [88x2ce]
ffff8000042968a0 t EXhalbtcoutsrc_StackUpdateProfileInfo        [88x2ce]
ffff800004293198 t halbtcoutsrc_WriteLocalReg1Byte      [88x2ce]
ffff800004292d1c t halbtcoutsrc_GetBleScanParaFromBt    [88x2ce]
ffff80000444ba7c b GLBtcBtMpRptBTOK     [88x2ce]
ffff80000444bb09 b GLBtcBtCoexAliveRegistered   [88x2ce]
ffff80000444bb0b b GLBtcWiFiInIPS       [88x2ce]
ffff800004295ef0 t EXhalbtcoutsrc_init_hw_config        [88x2ce]
ffff80000444bab0 b GLBtcBtMpOperTimer   [88x2ce]
ffff800004293248 t halbtcoutsrc_GetBbReg        [88x2ce]
ffff800004295458 t halbtcoutsrc_WriteLIndirectReg       [88x2ce]
ffff800004292750 t halbtcoutsrc_SetBtTRXMASK    [88x2ce]
ffff800004293718 t halbtcoutsrc_NormalLowPower  [88x2ce]
ffff800004293224 t halbtcoutsrc_SetBbReg        [88x2ce]
ffff80000444ba7e b GLBtcBtMpRptWait     [88x2ce]
ffff800004296268 t EXhalbtcoutsrc_bt_info_notify        [88x2ce]
ffff8000042948ac t halbtcoutsrc_DisplayWifiStatus       [88x2ce]
ffff800004293c20 t halbtcoutsrc_GetBtPatchVer   [88x2ce]
ffff80000429326c t halbtcoutsrc_SetRfReg        [88x2ce]
ffff800004293cd8 t halbtcoutsrc_GetWifiRssi     [88x2ce]
ffff8000042964b8 t EXhalbtcoutsrc_pnp_notify    [88x2ce]
ffff8000043152f0 t halbtc8822c_cfg_init [88x2ce]
ffff800004293200 t halbtcoutsrc_Write4Byte      [88x2ce]
ffff8000042936f4 t halbtcoutsrc_Post_NormalLps  [88x2ce]
ffff800004295924 t EXhalbtcoutsrc_InitlizeVariables     [88x2ce]
ffff80000444bb0a b GLBtcWiFiInLPS       [88x2ce]
ffff800004315fe0 t halbtc8822c_cfg_wlan_act_ips [88x2ce]
ffff800004295f98 t EXhalbtcoutsrc_ips_notify    [88x2ce]
ffff800004294774 t halbtcoutsrc_UnderLps        [88x2ce]
ffff8000043156e8 t halbtc8822c_cfg_rfe_type     [88x2ce]
ffff800004293640 t halbtcoutsrc_EnterLps        [88x2ce]
ffff80000432e498 r GLBtcWifiBwString    [88x2ce]
ffff80000444bae8 b GLBtcBtMpOperLock    [88x2ce]
ffff80000444bb0c b GLBtcWiFiInIQKState  [88x2ce]
ffff800004296ba8 t ex_halbtcoutsrc_pta_off_on_notify    [88x2ce]
ffff8000042930d8 t halbtcoutsrc_BitMaskWrite1Byte       [88x2ce]
ffff80000429385c t halbtcoutsrc_IsWifiBusy      [88x2ce]
ffff80000429370c t halbtcoutsrc_LeaveLowPower   [88x2ce]
ffff8000042968ac t EXhalbtcoutsrc_UpdateMinBtRssi       [88x2ce]
ffff80000432e480 r GLBtcWifiFreqString  [88x2ce]
ffff80000252c0a0 t load_misc_binary     [binfmt_misc]
Ergänzung ()

Noch ein kleiner Nachtrag zum Thema lbt_x86
Im System ist /usr/bin/latx-x86_64 ein Programm installiert was die Übersetztung von x86 Befehlen macht.


1731271472379.png

Ich habe jetzt mal einfach busybox auf dem System ausgeführt und siehe da ich kann einfach x86 Binaries ausführen.
1731271356262.png



1731271575344.png

so führe einfach top mit busybox aus
1731271401135.png
 

Anhänge

  • 1731268560362.png
    1731268560362.png
    24,3 KB · Aufrufe: 34
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: eastcoast_pete, jlnprssnr, Bigfoot29 und 6 andere
so ich habe nochmals Zeit gehabt und einfach mal einen Firefox runtergeladen, gestartet => läuft.

1731770015196.png


Hier sieht man sehr deutlich das es über die x86 Erweiterung vom Loongson geht.

1731770060859.png


er spuckt zwar etwas, bis jetzt läuft

1731770166897.png




Wie habe ich das gemacht.


Firefox runterladen
entpacken und starten

Bash:
tar xjf firefox-x86_64.tar.bz2
cd firefox
./firefox
 
  • Gefällt mir
Reaktionen: eastcoast_pete, Bigfoot29 und metoer
r.fx schrieb:
Naja der Vergleich zwischen "Feuer entdecken", "von den Bäumen herunter kommen" und "einen PC kaufen der so speziell ist, dass es kaum Betriebssysteme gibt die ihn unterstützen" ist schon wirklich sehr fern :lol:
Naja genau genommen, hat sich da nichts verändert, ob ich nun meine gejagten Felle gegen neue Pfeilspitzen tausche, oder meine VISA im PC-Laden für ein neuen PC hinlege. Wir sind immer noch Tiere, glaubst du nicht dann schau dir Soziale-Netzwerke an, schau nach draußen was wir mit dem Planeten machen, oder in die ärmere Länder, oder oder oder ... Will da jetzt keine Grundsatz Diskussion draus machen, aber mir stößt es sauer auf wenn der Mensch auf eine Stufe gehoben wird, auf der er nichts zu suchen hat. (Sorry dafür, aber ... Akzeptiere auch das Aquarium)

@konkretor: sehr cool und spannend wünsche dir noch viel Spaß damit und hoffe das die eine oder andere Erkenntnis hier auftaucht, tolles Projekt, wünsche mir gerade auch wieder mehr Zeit für sowas. 👍
 
  • Gefällt mir
Reaktionen: eastcoast_pete und konkretor
Zurück
Oben