Linux über Parallels auf MBP mit M1 Max

Automatisierte SW-Installation klingt super, aber wie du bereits sagtest lohnt vermutlich der Aufwand in diesem Falle nicht. ODER es würde sich vielleicht DOCH lohnen, jedoch müsste ich mich darin erst reinfuchsen was an der Verfügbarkeit von Zeit scheitert.

Zu UTM: solche Macken sind ärgerlich, aber falls ich damit auf einem "Apple Silicon" Rechner arbeitsfähig sein würde, wäre ich schon sehr froh. Wie verhält sich denn UTM beim Betrieb mit mehreren Displays? An meinem Mac Pro hängen derzeit 3 Apple TB Displays, beim Arbeiten mit dem MacBook wird es nicht anders sein. Ich frage deshalb weil ich nach dem Wechsel von Big Sur auf Monterey mit meinen VMs unter VirtualBox ziemliche Probleme hatte...was mich letztendlich in die Arme von Parallels trieb.
 
Wie verhält sich denn UTM beim Betrieb mit mehreren Displays? An meinem Mac Pro hängen derzeit 3 Apple TB Displays, beim Arbeiten mit dem MacBook wird es nicht anders sein. Ich frage deshalb weil ich nach dem Wechsel von Big Sur auf Monterey mit meinen VMs unter VirtualBox ziemliche Probleme hatte...was mich letztendlich in die Arme von Parallels trieb.
Ohne jetzt unken zu wollen aber mit mehreren Displays hat macOS alleine schon genug Probleme
 
  • Gefällt mir
Reaktionen: dg2rbf
Automatisierte SW-Installation klingt super, aber wie du bereits sagtest lohnt vermutlich der Aufwand in diesem Falle nicht. ODER es würde sich vielleicht DOCH lohnen, jedoch müsste ich mich darin erst reinfuchsen was an der Verfügbarkeit von Zeit scheitert.
Nur mal um die Neugierde zu wecken, eine Basiskonfiguration (configuration.nix) für VMs:
JSON:
{ config, pkgs, lib, modulesPath, ... }:

{
  #############################################################################################################################
  ## booting & hardware configuration

  boot = {
    loader = {
      systemd-boot.enable = true;
      systemd-boot.editor = true;
      systemd-boot.graceful = true;
      efi.canTouchEfiVariables = true;
      #efi.efiSysMountPoint = "/boot/EFI";
    };

    initrd = {
      network.enable = true;
      availableKernelModules = [ "virtio_pci" "uhci_hcd" "ehci_pci" "ahci" "usbhid" "sr_mod" "virtio_blk" ];
      includeDefaultModules = true;
      kernelModules = [  ];
    };

    kernelModules = [ "kvm-amd" ];
    extraModulePackages = [  ];
  };

  fileSystems."/" = {
    device = "/dev/vda1";
    fsType = "ext4";
  };

  fileSystems."/boot" = {
    device = "/dev/vda2";
    fsType = "vfat";
  };

  swapDevices = [  ];

  #############################################################################################################################
  ## Network

  networking = {
    hostName = "nixos-base-system";
    networkmanager.enable = true;

    firewall = {
      enable = false;
      allowedTCPPorts = [  ];
      allowedUDPPorts = [  ];
    };
  };

  #############################################################################################################################
  ## System, Nix & nixpkgs

  system = {
    stateVersion = "22.05"; # Did you read the comment?
    autoUpgrade = {
      enable = false;
      allowReboot = true;
      channel = "https://nixos.org/channels/nixos-unstable";
      flags = [ "--upgrade" ];
      operation = "switch"; # or "boot": Whether to run nixos-rebuild switch --upgrade or run nixos-rebuild boot --upgrade
    };
  };

  nix = {
    settings = {
      sandbox = true;               # If set, Nix will perform builds in a sandboxed environment that it will set up automatically for each build.
      extra-sandbox-paths = [ ];    # Directories from the host filesystem to be included in the sandbox.
      allowed-users = [ "admin" ];
      trusted-users = [ "root" "@wheel" ];
      trusted-substituters = [ ];   # List of binary cache URLs that non-root users can use (in addition to those specified using nix.binaryCaches)
      require-sigs = true;          # RECOMMENDED!!!
      max-jobs = "auto";            # auto = use all logical cores
      cores = 0;                    # 0 = use all cores
      auto-optimise-store = true;
    };

    nrBuildUsers = 32;
    distributedBuilds = false;
    buildMachines = [ ];
    checkConfig = true;
    daemonIOSchedPriority = 0; # 0 = normal, 7 = lowest

    extraOptions = ''
      experimental-features = nix-command flakes
    '';
  };

  nixpkgs = {
    config.allowUnfree = true;
    config.allowBroken = false;
    };
  };

  ##############################################################################################################################
  ## Locale

  time.timeZone = "Europe/Berlin";
  i18n.defaultLocale = "de_DE.utf8";
  console.keyMap = "de";

  ##############################################################################################################################
  ## Users
  ##
  ## generate hashed passwords via: mkpasswd -m sha-512

  users.users = {
    root = {
      hashedPassword = "hier-steht-mein-gehashtes-passwort";
      shell = pkgs.zsh;
      openssh.authorizedKeys.keys = [ "hier-steht-mein-ssh-key" ];
    };

    admin = {
      name = "admin";
      hashedPassword = "hier-steht-mein-gehashtes-passwort";
      isNormalUser = true;
      isSystemUser = false;
      createHome = true;
      group = "users";
      extraGroups = [ "wheel" ];
      openssh.authorizedKeys.keys = [ "hier-steht-mein-ssh-key" ];
    };
  };

  ##############################################################################################################################
  ## Environment

  environment.systemPackages = with pkgs; [
    vulnix
  ];

  ##############################################################################################################################
  ## Programs

  programs = {
    gnupg.agent.enable = true;
    gnupg.agent.enableSSHSupport = true;
  };

  ##############################################################################################################################
  ## Services

  services = {
    openssh.enable = true;
    openssh.permitRootLogin = "prohibit-password";
  };
}
Änderungen an der Konfig passieren in dieser Datei und mit "nixos-rebuild switch" wird das neue System gebaut. Und nur wenn der Build heil durchläuft, wird das alte System in einem Schlag (atomar) durch das neue ersetzt und die betroffenen Dienste neu gestartet. Und falls sich später irgendwo ein Problem mit einer SW zeigt, kann man reinen Rollback machen. Es werden zudem auch im Bootmanager zu jeder Systemgeneration entsprechende Einträge gemacht. Halb zerlegte Systeme, weil ein Upgrade mittendrinn zerreisst, gibt es praktisch nicht. :)
Zu UTM: solche Macken sind ärgerlich, aber falls ich damit auf einem "Apple Silicon" Rechner arbeitsfähig sein würde, wäre ich schon sehr froh. Wie verhält sich denn UTM beim Betrieb mit mehreren Displays? An meinem Mac Pro hängen derzeit 3 Apple TB Displays, beim Arbeiten mit dem MacBook wird es nicht anders sein. Ich frage deshalb weil ich nach dem Wechsel von Big Sur auf Monterey mit meinen VMs unter VirtualBox ziemliche Probleme hatte...was mich letztendlich in die Arme von Parallels trieb.
Meinst du den Betrieb mehrerer Displays in der VM selbst? Das hab ich nie probiert. Bei UTM v4 werden wohl pro virtuellem Display entsprechende Fenster erzeugt.
 
Ohne jetzt unken zu wollen aber mit mehreren Displays hat macOS alleine schon genug Probleme
Hatte mit macOS in Kombination mit 3 externen TB Displays (jeweils 2560*1440) nie Probleme. Weder mit mit MacBook (ok, das unterstützt hardwareseitig "nur" den Betrieb von 2 TB Displays) noch mit dem Mac Pro 6,1. Insbesondere der Eimer macht im Multi-Display Betrieb und integrierter Schaltungsentwicklung besonders Freude.

@agrajog:
Muss mir das mal in Ruhe anschauen :) danke für den Code!

Was die Displays angeht meinte ich nach dem Hochfahren der VM alle 3 (oder wie viele auch immer man hat) Displays ganz normal benutzen zu können. Mit anderen Worten: angenommen die VM ist ein CentOS Linux, dann möchte ich natürlich auch alle 3 Displays mit ihrer nativen Auflösung darin erkannt sehen und dementsprechend nutzen können.

Parallels und VMware machen mir damit mit Monterey als Host keinerlei Probleme, VirtualBox hingegen schon...was schade ist, denn ich kam mit VirtualBox jahrelang bestens zurecht.
 
Hatte mit macOS in Kombination mit 3 externen TB Displays (jeweils 2560*1440) nie Probleme. Weder mit mit MacBook (ok, das unterstützt hardwareseitig "nur" den Betrieb von 2 TB Displays) noch mit dem Mac Pro 6,1. Insbesondere der Eimer macht im Multi-Display Betrieb und integrierter Schaltungsentwicklung besonders Freude.
Hier MacBook Pro M1 Pro mit 1x Studio Display und 1x Dell Display.
*) macOS hängt sich beim aufwachen auf - Displays abziehen löst das Problem
*) Ton bleibt hängen und spielt in Dauerschleife die letzten 2 Sekunden
*) Displays wachen beide random alle 15-30 Minuten auf (der Mac schläft weiter)
*) Beim aufwachen sind beide Displays vertauscht
usw usw.
 
Ich klinke mich hier mal ein...

Ich habe Fedora 37 (ISO von der Fedora Seite) unter Parallels (ARM / M1 MB Air) 18.1 installiert.

Anschließend habe ich Parallels Tools installiert. Seit der Installation der Tools habe ich ein "Unbekannt" im Dock, welches auch nicht beendet werden kann.

Kennt das jemand?

Ich hatte Fedora nicht aus Parallels installiert, da dies immer englisch war. Eigentlich sollte es keine Unterschied machen, wo man das Image her hat, aber jedes mal, wenn ich aus Parallels selbst ein Linux installierte, war es immer englisch.
 
Zurück
Oben Unten