6 votos

Montar Ext4 en M1 o M1Pro o M1Max

Sé que esta pregunta se ha formulado muchas veces. Cada uno encuentra su propia solución. Yo solía montar Ext4 a través de FUSE. Pero con la mudanza a Big Sur tuve que montar Ext4 usando VirtualBox. Pero VirtualBox se niega a trabajar con M1. Intenté hacer la misma operación con QEMU. Pero no pude encontrar en ninguna parte orientación sobre cómo integrar el disco conectado a QEMU en el sistema Big Sur. Me gustaría tener la unidad flash montado automáticamente tan pronto como se conecta.

¿Cuál es la forma más fácil de conectar Ext4 al Macbook Air M1? ¿Necesito actualizar a un Macbook Pro M1Pro o M1Max? ¿Quizás Apple ha incluido soporte para el driver Ext4 en las versiones Pro?

11voto

Araucaria Puntos 209

Mientras brew install ext4fuse produce errores en las versiones más recientes del sistema MacOS, propongo a continuación una solución. Probado en Macbook Air M2 con MacOS Monterey.

Instalación personalizada

Crea un archivo script vacío y ábrelo con el editor de código

nano ext4fuse.rb

Pega este código (Fuente: Problema relacionado con el silicio (66) de ext4fuse GitHub ) y guardar script

class MacFuseRequirement < Requirement
  fatal true

  satisfy(build_env: false) { self.class.binary_mac_fuse_installed? }

  def self.binary_mac_fuse_installed?
    File.exist?("/usr/local/include/fuse/fuse.h") &&
      !File.symlink?("/usr/local/include/fuse")
  end

  env do
    ENV.append_path "PKG_CONFIG_PATH", HOMEBREW_LIBRARY/"Homebrew/os/mac/pkgconfig/fuse"
    ENV.append_path "PKG_CONFIG_PATH", "/usr/local/lib/pkgconfig"

    unless HOMEBREW_PREFIX.to_s == "/usr/local"
      ENV.append_path "HOMEBREW_LIBRARY_PATHS", "/usr/local/lib"
      ENV.append_path "HOMEBREW_INCLUDE_PATHS", "/usr/local/include/fuse"
    end
  end

  def message
    "macFUSE is required. Please run `brew install --cask macfuse` first."
  end
end

class Ext4fuse < Formula
  desc "Read-only implementation of ext4 for FUSE"
  homepage "https://github.com/gerard/ext4fuse"
  url "https://github.com/gerard/ext4fuse/archive/v0.1.3.tar.gz"
  sha256 "550f1e152c4de7d4ea517ee1c708f57bfebb0856281c508511419db45aa3ca9f"
  license "GPL-2.0"
  head "https://github.com/gerard/ext4fuse.git"

  bottle do
    sha256 cellar: :any, catalina:    "446dde5e84b058966ead0cde5e38e9411f465732527f6decfa1c0dcdbd4abbef"
    sha256 cellar: :any, mojave:      "88c4918bf5218f99295e539fe4499152edb3b60b6659e44ddd68b22359f512ae"
    sha256 cellar: :any, high_sierra: "fc69c8993afd0ffc16a73c9c036ca8f83c77ac2a19b3237f76f9ccee8b30bbc9"
    sha256 cellar: :any, sierra:      "fe8bbe7cd5362f00ff06ef750926bf349d60563c20b0ecf212778631c8912ba2"
    sha256 cellar: :any, el_capitan:  "291047c821b7b205d85be853fb005510c6ab01bd4c2a2193c192299b6f049d35"
    sha256 cellar: :any, yosemite:    "b11f564b7e7c08af0b0a3e9854973d39809bf2d8a56014f4882772b2f7307ac1"
  end

  depends_on "pkg-config" => :build

  on_macos do
    depends_on MacFuseRequirement => :build
  end

  on_linux do
    depends_on "libfuse"
  end

  def install
    system "make"
    bin.install "ext4fuse"
  end
end

Ejecute el siguiente comando desde ext4fuse.rb directorio. Instale macFuse y ext4fuse

brew install macFuse
brew install --formula --build-from-source ext4fuse.rb

Uso: ext4fuse <disk> <mountpoint>

Por lo tanto, para un dispositivo ext4 como por ejemplo /dev/disk4s2

sudo ext4fuse /dev/disk4s2 /Volumes/external_device -o allow_other

El volumen está montado, y debería ser visible como:

  • Volumen macFUSE" cuando shift+cmd+c en Buscador
  • 'dispositivo_externo' cuando ls /Volumes

Si quieres montar sin sudo cada vez añade el usuario MacOS al grupo operador:

sudo dscl . append /Groups/operator GroupMembership <user>

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X