DEEPIN SE ADAPTA A APPLE M1, ¿QUÉ HEMOS EXPERIMENTADO? (PARTE 2)

Apple M1
DEEPIN EN APPLE M1

En el artículo anterior, presentamos la selección y la introducción de la solución M1 de adaptación Deepin, para que todo el mundo pueda entender algunas de nuestras ideas antes de la adaptación. En este artículo, queremos que todo el mundo entienda principalmente los problemas que encontramos durante el proceso de adaptación y cómo los resolvimos.

TRES ETAPAS DE ADAPTACIÓN

Tras nuestra exploración y práctica, el proceso de adaptación de Deepin a M1 se divide a grandes rasgos en las tres etapas siguientes:

La primera etapa: el entorno básico de Deepin debe iniciarse en el M1, que es el sistema más pequeño sin escritorio. De esta forma, se puede verificar inicialmente la corrección del trabajo de adaptación y, al mismo tiempo, es conveniente llevar a cabo el siguiente paso del trabajo de adaptación en la máquina real.

La segunda etapa: intentar instalar el entorno de escritorio en este sistema mínimo, y realizar el trabajo de adaptación pertinente, para que pueda iniciar el escritorio DDE, hasta proporcionar finalmente un entorno de escritorio Deepin completo.

**La tercera etapa: **Utilizar la experiencia de adaptación anterior para adaptar la imagen de instalación del disco U, y realizar la instalación del sistema Deepin desde el disco U.

Entonces, después de pasar por estas tres etapas, ¿qué problemas de adaptación necesitamos resolver?

ADAPTAR AL ENTORNO MÍNIMO DEEPIN (SOLAMENTE LÍNEA DE COMANDOS)

En primer lugar, empaquetamos el script del paquete rootfs de M1 Debian basado en m1-debian. Primero cambiamos la fuente del entorno rootfs de debootstrap de Debian a Deepin, cuando se llega a este paso, se puede iniciar con éxito, y luego tratamos de reemplazar la fuente del software apt con la fuente de la comunidad de Deepin V23, Se encontró que se produjo un pánico en el kernel durante la fase de arranque del sistema. Después de analizar, buscar y depurar, no se encontró nada.

Tras más análisis y depuración, finalmente, se sustituyó la fuente comunitaria por la fuente CI y se generó rootfs. En este momento, el error de pánico del kernel desapareció, y se entró con éxito en el sistema Deepin. Se adivina que la versión de biblioteca relevante requerida por el kernel upstream es relativamente alta, y el paquete de software de la fuente comunitaria actual no puede cumplir los requisitos. Por lo tanto, es temporalmente necesario utilizar la fuente CI para la adaptación.

En esta etapa, a excepción de los paquetes relacionados con Asahi que también necesitan utilizar el proyecto m1-debian, otras fuentes Debian pueden ser reemplazadas con fuentes Deepin, como se muestra en la figura siguiente, el entorno más pequeño del sistema Deepin ya puede ser iniciado.

ADAPTARSE AL ENTORNO DE ESCRITORIO DDE BÁSICO

Al principio, cuando instale el entorno de escritorio DDE en el entorno Deepin, se encontrará con el problema de la dependencia del paquete mesa. Dado que el paquete mesa adaptado a m1-debian se basa en el entorno Debian bookworm, no puede utilizarse directamente en el entorno Deepin. Por lo tanto, deepin-m1 SIG decidió reempaquetar mesa en el entorno Deepin y construir un almacén de forma independiente. Debido a que se han construido de forma independiente, por lo que en esta etapa, el núcleo, m1n1, uboot y otros componentes también son reempaquetados y añadidos al almacén.

Después de resolver este problema, el siguiente proceso será más suave. Instala los entornos de escritorio mesa y DDE, y después de resolver algunas extrañas dependencias de paquetes que faltan, como se muestra en la siguiente figura, podemos iniciar el entorno de escritorio familiar.


Sin embargo, ni el sonido ni la aceleración por hardware de la GPU están disponibles en el entorno de escritorio actual. Durante la depuración, hemos probado varios parámetros del kernel y scripts de compilación del kernel de las distribuciones de Asahi Linux para personalizar y adaptar el kernel. Por desgracia, a juzgar por los resultados de la depuración actual, nuestro kernel autocompilado sigue sin poder resolver los problemas anteriores.

Cuando se utiliza el kernel proporcionado por el proyecto m1-debian, aunque se puede habilitar la aceleración por hardware de la GPU, seguirá habiendo problemas con la gestión de ventanas. Por ejemplo, hay bloques blancos anormales, y el dock muestra anormalidades. Esto puede requerir la adaptación del núcleo y del tubo de ventanas.


Este problema requiere un mayor análisis, depuración e investigación de la causa raíz del problema. Actualmente, el proyecto ha sido liberado públicamente en github (https://github.com/deepin-community/deepin-m1), y los desarrolladores interesados pueden probarlo. Si desea instalar directamente en Mac, también puede utilizar directamente https://ci.deepin.com/repo/deepin/deepin-ports/deepin-m1/deepin.install script

ADAPTARSE A LA IMAGEN DE INSTALACIÓN DEL DISCO U

Debido a la especial estructura de arranque del sistema Mac, es imposible insertar directamente un disco U en el dispositivo como en un ordenador normal, y luego arrancar el programa de instalación desde el disco U para instalar el sistema. Sin embargo, el proyecto m1-debian proporciona una forma de hacer un LiveCD en una memoria USB, y esta solución puede usarse de forma estable. Esto nos proporciona una idea para adaptar la imagen de instalación del disco U y arrancar e instalar el sistema Deepin desde el disco U.

En primer lugar, para permitir que el sistema del disco de instalación se inicie con éxito, necesitamos reemplazar el kernel común de la imagen de instalación por el kernel hecho especialmente por el proyecto Asahi Linux. Esto requiere que modifiquemos el proceso de producción de imágenes y empaquemos una imagen especialmente diseñada para Mac M1. Principalmente en la etapa de producción del kernel, se sustituye el repositorio del kernel utilizado y el paquete del kernel.

Entonces, durante el proceso de adaptación, también me encontré con el problema de que el instalador no pudo instalar el sistema. Se informó de un error que falló la ejecución de «05_context-menus_copy.job». Tras una investigación, se descubrió que se trata de un gancho de instalación para una solución temporal. El entorno de instalación actual no lo necesita, pero da lugar a errores. Por lo tanto, se elimina durante el proceso de duplicación. Después, el proceso de instalación puede completarse con normalidad.

Nos gustaría recordar solemnemente a todo el mundo que esta imagen de instalación no es perfecta, y que existen algunas limitaciones y riesgos que no se pueden ignorar. Para no afectar al arranque original y a la partición del sistema del Mac, sólo puede utilizar la instalación personalizada para instalar el sistema Deepin en el área libre del disco. La instalación de disco completo y la instalación avanzada pueden dañar gravemente el arranque o el sistema del Mac y hacer que la máquina no funcione correctamente. En este caso, la única forma de restaurarlo es realizar un wire brush con otro dispositivo Mac. El instalador no ha bloqueado la instalación completa y la instalación avanzada por el momento, así que por favor elija con cuidado.

Para conocer el método de instalación, consulte: https://sourl.cn/FjBRqg

Por último, gracias de nuevo a los desarrolladores de SIGs relacionados con Deepin, y muchas gracias por vuestra ayuda y apoyo en los proyectos Asahi Linux y m1-debian. Es precisamente gracias a vuestras contribuciones al código abierto y a vuestra participación en él que el sistema Deepin será cada vez mejor. ¡Gracias a todos!

Entrada deepin-m1 SIG: https://www.deepin.org/index/docs/sig/sig/deepin-m1/README

Escrito por: Archie Meng / Revisores: Zeno, Dengtongxue, Yuma, JasonZhang / Traducido por: Edgar Bastidas / Imágenes propiedad de Deepin y usadas con permiso / Otras imágenes Apple M1 Generic by Apple.

Fuente: Blog oficial de Deepin: https://bbs.deepin.org/en/post/258921

Spacer
4.9 26 votos
Califica el Artículo

3 Reacciones
Más antiguos
Más nuevos Más populares
Opinión desde el articulo
Ver todos los comentarios
Kevin
Kevin(@kevin)
Deepineros
8 meses atrás

Deepin nunca deja de sorprender. Recientemente he regresado y estoy ancioso por la version 23.

Juaquin Luna
Juaquin Luna(@juaquin-luna)
Deepineros
8 meses atrás

Estoy ansioso por lo que trae deepin en el futuro cercano, ya que siempre están innovando.

Juan Carlos
Juan Carlos(@juan-carlos)
Deepineros
7 meses atrás

Genial, que bien que deepin no se queda atras y sigue avanzando.

3
0
Nos gustaría saber lo que piensas, Únete a la discusión.x