Optimizaciones Personalizadas en base a mi equipo.

Spanish forum

Moderator: sivare

Post Reply
inukaze
Posts: 77
Joined: 24. Nov 2024, 18:42

Optimizaciones Personalizadas en base a mi equipo.

Post by inukaze »

Buenas , empezare por indicar mi hardware :

========================================================================================================================

Especificaciones Tecnicas de mi Sistema
* Placa Base: ASUSTeK M2N68-AM SE2 (BIOS v1801, año 2010).
* Procesador: AMD Athlon 64 X2 (Arquitectura K8).
* Memoria: 4 GB DDR2 667 MT/s (Máximo soportado por el chipset).
* Gráficos: NVIDIA GeForce GT 620 (Driver propietario nvidia activo).

* Almacenamiento:
- Principal: SSD addlink 240GB (Ext3 para / y /home).
- Secundario: HDD WDC 500GB (Particiones para WinXP y Android-x86).

* Red: NVIDIA MCP61 Ethernet (Módulo forcedeth).

========================================================================================================================
inukaze
Posts: 77
Joined: 24. Nov 2024, 18:42

Re: Optimizaciones Personalizadas en base a mi equipo.

Post by inukaze »

Bueno lo primero que hice al instalar ya sea Slackware(64) 15.0 o Salix(64) 15.0 fue abrir una terminal y cambiar al SuperUsuario (root)
sudo su

******* Sección: Extrayendo el ADN del Procesador (Flags de Compilación) *******

Una vez instalado el sistema, el primer paso para una optimización "quirúrgica" es identificar las instrucciones de hardware (conocidas como flags) que soporta nuestro procesador.

Esto le permite al compilador generar código que aprovecha cada rincón del silicio.Para ello, utilicé GCC para realizar una autodetcción de la arquitectura nativa

1. Identificar la arquitectura exacta según el compilador

Code: Select all

gcc -march=native -Q --help=target | grep march
Resultado:
k8-sse3
Esto me confirma que, aunque es un K8, este modelo específico soporta el conjunto de instrucciones SSE3.Luego, para obtener la lista completa de instrucciones específicas que el procesador "entiende" (flags).

2. Para Listar todas las instrucciones soportadas y descartar las que no (mno-)

Code: Select all

gcc -march=native -E -v - </dev/null 2>&1 | grep cc1
Resultado
/usr/libexec/gcc/x86_64-slackware-linux/11.2.0/cc1 -E -quiet -v - -march=k8-sse3 -mmmx -mno-popcnt -msse -msse2 -msse3 -mno-ssse3 -mno-sse4.1 -mno-sse4.2 -mno-avx -mno-avx2 -mno-sse4a -mno-fma4 -mno-xop -mno-fma -mno-avx512f -mno-bmi -mno-bmi2 -mno-aes -mno-pclmul -mno-avx512vl -mno-avx512bw -mno-avx512dq -mno-avx512cd -mno-avx512er -mno-avx512pf -mno-avx512vbmi -mno-avx512ifma -mno-avx5124vnniw -mno-avx5124fmaps -mno-avx512vpopcntdq -mno-avx512vbmi2 -mno-gfni -mno-vpclmulqdq -mno-avx512vnni -mno-avx512bitalg -mno-avx512bf16 -mno-avx512vp2intersect -m3dnow -mno-adx -mno-abm -mno-cldemote -mno-clflushopt -mno-clwb -mno-clzero -mcx16 -mno-enqcmd -mno-f16c -mno-fsgsbase -mfxsr -mno-hle -msahf -mno-lwp -mno-lzcnt -mno-movbe -mno-movdir64b -mno-movdiri -mno-mwaitx -mno-pconfig -mno-pku -mno-prefetchwt1 -mno-prfchw -mno-ptwrite -mno-rdpid -mno-rdrnd -mno-rdseed -mno-rtm -mno-serialize -mno-sgx -mno-sha -mno-shstk -mno-tbm -mno-tsxldtrk -mno-vaes -mno-waitpkg -mno-wbnoinvd -mno-xsave -mno-xsavec -mno-xsaveopt -mno-xsaves -mno-amx-tile -mno-amx-int8 -mno-amx-bf16 -mno-uintr -mno-hreset -mno-kl -mno-widekl -mno-avxvnni --param l1-cache-size=64 --param l1-cache-line-size=64 --param l2-cache-size=1024 -mtune=k8 -dumpbase -
En la salida (que es la "huella dactilar" de mi CPU), Se puede distinguir dos tipos de información crítica
* Instrucciones Activas (Flags): Como -mmmx, -msse3, -m3dnow y -mcx16. Estas son las que incluiremos en nuestras CFLAGS para ganar velocidad.

* Instrucciones No Soportadas (mno-): Como -mno-avx o -mno-sse4.1.

El sistema me indica que estas tecnologías son demasiado modernas para mi equipo (hardware), por lo que el compilador las ignorará.

Parámetros de Caché: El comando también me revela el tamaño exacto de la memoria caché (l1-cache-size=64, l2-cache-size=1024), lo que me permite optimizar el acceso a datos en memoria.
inukaze
Posts: 77
Joined: 24. Nov 2024, 18:42

Re: Optimizaciones Personalizadas en base a mi equipo.

Post by inukaze »

******* Seccion : "$HOME/.bashrc" *******

Luego personalizo mi archivo ~/.bashrc

Code: Select all

#
# ~/.bashrc
#

# Archivo ~/.bashrc
# Hecho por "Inukaze" (De Venezuela
# Sitio Web de Inukaze-> http://inukaze.wordpress.com

# Ajustado y Adaptado segun varios sitios de Internet
# Para facilitar , la personalizacion del "prompt" de las terminales que usan bash

# Sitios Web , donde puedes encontrar más ejemplos :
# 1 -> http://www.askapache.com/linux/bash-power-prompt.html

function colores_en_terminal () {

	local CDU=$BLANCO		# Colores del Usuario Actual
	[ $UID -eq "0" ] && CDU=$ROJO	# Colores del SuperUsuario Root
	
	INV="\[\033[7m\]"		# Intercambiar Colores de Frente & Fondo
        NEGRITA='\033[01m'
	ADORNO='\342\234\227'
	REAJUSTE="\[\033[0m\]"		# Reinicio / Sin Color
	COLORIDO="\[\033[1m\]"		# Color de Alta Intensidad
	MARCADOR='\342\234\223'
	SUBRAYADO="\[\033[4m\]"
	
	# Colores Regulares
	GRIS='\[\033[1;30m\]'
	CYAN="\[\033[0;36m\]"
	AZUL="\[\033[0;34m\]"
	ROJO="\[\033[0;31m\]"
	VERDE="\[\033[0;32m\]"
	NEGRO="\[\033[0;30m\]"
	BLANCO="\[\033[0;37m\]"
	SINCOLOR="\[\033[00m\]"
	MAGENTA="\[\033[0;35m\]"
	MARRON="\[\033[00;33m\]"
	PURPURA="\[\033[00;35m\]"
	AMARILLO="\[\033[0;33m\]"

	# Colores Resaltados (Osea con Negrita)
    	NEGRITA_ROJO="\[\033[1;31m\]"
	NEGRITA_AZUL="\[\033[1;34m\]"
	NEGRITA_CYAN="\[\033[1;36m\]"
	NEGRITA_VERDE="\[\033[01;32m\]"
	NEGRITA_NEGRO="\[\033[1;30m\]"
	NEGRITA_GRIS="\[\033[01;37m\]"
	NEGRITA_BLANCO="\[\033[1;37m\]"
	NEGRITA_MAGENTA="\[\033[1;35m\]"
	NEGRITA_PURPURA="\[\033[01;35m\]"
	NEGRITA_AMARILLO="\[\033[1;33m\]"

	
	# Colores del Primer Plano
	PP_ROJO="\[\033[31m\]"
	PP_AZUL="\[\033[34m\]"
	PP_CYAN="\[\033[36m\]"
	PP_NEGRO="\[\033[30m\]"
	PP_VERDE="\[\033[32m\]"
	PP_BLANCO="\[\033[37m\]"
	PP_MAGENTA="\[\033[35m\]"
	PP_AMARILLO="\[\033[33m\]"

	# Colores de Fondo
	CF_ROJO="\[\033[41m\]"
	CF_AZUL="\[\033[44m\]"
	CF_CYAN="\[\033[46m\]"
	CF_NEGRO="\[\033[40m\]"
	CF_VERDE="\[\033[42m\]"
	CF_BLANCO="\[\033[47m\]"
	CF_MAGENTA="\[\033[45m\]"
	CF_AMARILLO="\[\033[43m\]"

	# EXPLICACION :
	# PS1 -> Prompt Shell 1 -> En español seria algo como "Capa Inmediata 1"
	# Aqui vamos a definir unicamente la capa 1 de las 4 ó 5 que existen
	# 
	# Puedes usar comandos de Linux directamente en la Variable de 
	# Entorno del sistema llamada "PS1"
	# 
	# Aparte de ello existen varios codigos que puedes usar en el PS1=
	# Aqui te explicare algunos de ellos , para que puedas personalizar
	#
	# La mayoria de ellos son los mismos que al utilizar en la terminal
	# echo -e "Algun texto de prueba\nComo este por ejemplo"
	
	# Explicacion de Codigos :
	# \a -> Caracter ASCII 07 : "Campana"
	# \d -> La fecha en "Nombre del dia de Semana Mes Numero del Dia de Semana " (Ejemplo : "vie may 30")
	# \e -> Caracter ASCII 033 : "Escape"
	# \h -> Nombre de la primera parte del anfitrión en uso
	# \H -> Nombre del anfitrión
	# \j -> El numero actual de trabajos controlados actualmente por la consola
	# \l -> Nombre base del dispositivo terminal de la capa inmediata (puede ser del 1 al 4/5)
	# \n -> Salto de Linea
	# \r -> Retorno del carro
	# \s -> Nombre del interprete , comando `basename $0` (la parte siguiente de la barra final)
	# \t -> Hora Acutal en Formato de 24 Horas -> Hora:Minutos:Segundos
	# \T -> Hora Acutal en Formato de 12 Horas -> Hora:Minutos:Segundos
	# \@ -> Hora Acutal en Formato de 12 Horas -> Hora:Minutos: am/pm 
	# \A -> Hora Acutal en Formato de 24 Horas -> Hora:Minutos
	# \u -> Nombre de usuario del usuario actual
	# \v -> La version de Bash (Ejemplo : 2.0)
	# \V -> La version de Bash + Nivel de Parche (Ejemplo : 2.0.00) the release of bash, version + patch level
	# \w -> Muestra La Ruta Acortada Del Directorio de Trabajo Actual , en $HOME se abrevia con una tilde
	# \W -> Muestra La Ruta Completa Del Directorio de Trabajo Actual , en $HOME se abrevia con una tilde
	# \! -> el número de historia de este comando
	# \# -> el número de comando de este comando
	# \$ -> si el UID efectivo es 0, un #, de lo contrario un $
	# \\ -> barra invertida
	# \[ -> comenzar una secuencia de caracteres no imprimibles, que podría ser utilizado para incrustar una secuencia de control de terminal en el interprete	
	# \] -> terminar una secuencia de caracteres no imprimibles
	#
	#
	# \nnn -> el carácter correspondiente al número octal nnn
	# en la terminal puedes usar el comando `man ascii` 
	# alli veras que una Columna dice "OCT" alli estan los valores octales
	# que puedes usar , por ejemplo para el caracter / el octal es 057
	#
	# Ejemplo(s)
	# PS1='[\u@\h: \W] (\057) \$ '
	#
	#
	# \D -> Fecha y Hora Personalizada se usan los valores de "date --help"
	# por ejemplo %H:%M:%S (Hora:Minitos:Segundos) si quieres usar am/pm en 
	# lugar de usar "%S" para los segundos debes usar "%p" para "am/pm"
	#
	# Ejemplo(s) :
	# PS1="[\u@\h: \W] (\D{%T %p) \$ "
	# PS1=(\D{%H:%M %p) "[\u@\h: \W]  \$ "
	#
	# Tambien puedes meter comandos yo lo hago con () por ejemplo
	# PS1="$(date +%d-%m-%Y)@$(date +%I:%M%p)\n${NEGRITA_VERDE}$ ${SINCOLOR}"
	#
	# Si se fijan bien , en el ejemplo anterior use el comando date
	# obviamente que con las opciones , uno para la fecha y otro para la hora
	# el "@" arroba que esta de por medio es solo un adorno.
	#
	# NOTA FINAL : No se si te abras percatado de lo siguiente , es importante que se entienda
	# Primer Ejemplo -> PS1='[\u@\h \W]\$ '
	# Segundo Ejemplo -> PS1="[\u@\h \W]\$ "
	#
	# Posiblemente cuando los uses solo el primero o el segundo , no veas problema alguno
	# Pero cuando intentes usar por ejemplo
	#
	# Primero -> PS1='[${CYAN}\u@\h ${NEGRITA_VERDE}\W]\$ ${SINCOLOR}'
	# Y te percates de que en la terminal , luce asi :
	#
	# [\[\033[0;36m\]inukaze@Inukaze \[\033[01;32m\]Linux]$ \[\033[00m\]
	#
	# La solucion es simplemente cambias las '' por "" , osea como en el segundo ejemplo
	# Te tenie que quedar asi
	# Segundo -> PS1="[${CYAN}\u@\h ${NEGRITA_VERDE}\W]\$ ${SINCOLOR}"
	#
	# Esto es debido a que colocar texto entre ' es para un entrecomillado fuerte y literal
	# de esta manera las variables no pueden cambiar su valor al establecido previamente.
	#
	# Al colocarlo entre " es un entrecomillado más pasivo y las varibles usan sus valores
	
	[ -z "$PS1" ] && return

	alias ls='ls -p --color=auto'
	
	# EJEMPLOS :
	# PS1='[\u@\h \W]\$ '
	# PS1="$NEGRITA_VERDE\u $AMARILLO[$ROJO\w$AMARILLO]$SINCOLOR "
	# PS1="$NEGRITA_VERDE\u $AMARILLO[$ROJO\w$AMARILLO] $NEGRITA_BLUE(\$(date +%H:%M:%S))$SINCOLOR: "
	# PS1="\n\e[1;37m[\e[0;32m\u\e[0;35m@\e[0;32m\h\e[1;37m]\e[1;37m[\e[0;31m\w\e[1;37m]\n$ \e[0m
	# PS1="\[\033[01;32m\]\D{%d-%m-%Y}@`(date +%I:%M%p)`\[\033[00m\]:\[\033[34m\]\w\[\033[00m\]\$ "
	# PS1="\n${SINCOLOR}${NEGRITA_AMARILLO}[Ubicacion Actual : \w]\n${CDU}${NEGRITA_GRIS}$(date +%d-%m-%Y)@$(date +%I:%M%p)\n${NEGRITA_VERDE}$ ${SINCOLOR}"
	# PS1="\n${SINCOLOR}${NEGRITA_AMARILLO}[Hora      : \@ ][Fecha : $(date +%d-%m-%Y) ]\n${NEGRITA_AZUL}[Usuario   : \u  ]\n${SINCOLOR}${NEGRITA_ROJO}[Ubicacion : \W ]${NEGRITA_VERDE}$ ${SINCOLOR}"
	# PS1="\n${SINCOLOR}${NEGRITA_AMARILLO}[Usuario   :   \u  ]${SINCOLOR}${NEGRITA_AZUL}\n[Hora      :  \@  ]\n[Fecha     : $(date +%d-%m-%Y) ]\n${NEGRITA_ROJO}[Ubicacion : \W ]\n${NEGRITA_VERDE}$ ${SINCOLOR}"
	# PS1="\n${SINCOLOR}[ ${NEGRITA_AMARILLO}\u ${SINCOLOR}${NEGRITA_AZUL}| $(date +%d-%m-%Y) | \@ ${SINCOLOR}]\n[${NEGRITA_ROJO}\W${SINCOLOR}]${NEGRITA_VERDE}$ ${SINCOLOR}"


		# Definiendo la variable de entorno PS1 :
		
		# Que yo uso actualmente
		PS1="\n${SINCOLOR}${NEGRITA_AMARILLO}[ \u ${SINCOLOR}${NEGRITA_AZUL} | $(date +%d-%m-%Y) | ${NEGRITA_ROJO}\@ ]${SINCOLOR}\n[\W]${NEGRITA_VERDE}$ ${SINCOLOR}"

		# El Predeterminado de ArchLinux, le cambie los '' por "" , debido a lo que explique más arriba.
		#PS1="[\u@\h \W]\$ "
		
		# NOTA : Puedes guardar este archivo como por ejemplo ~/pruebash
		# y al ejecutar una consola / terminal , o como quieras llamarlo
		# puedes usar el comando :
		#
		# $ source ~/pruebash
		#
		# Asi veras como luce , esto tomara el ultimo valor asignado a PS1
    }

    colores_en_terminal

	# Iniciar mejoras con NVIDIA (Privativo) :
#	nvidia-settings --config==/home/inukaze/.nvidia-settings --load-config-only &>/dev/null ; \
#	nvidia-settings --assign="SyncToVBlank=0" &>/dev/null ; \
#	nvidia-settings --assign="GPUPowerMizerMode=1" &>/dev/null ; \
#	nvidia-settings --assign="OpenGLImageSettings=3" &>/dev/null ; \
#	nvidia-settings --assign="AllowFlipping=1" &>/dev/null ; \
#	nvidia-settings -a InitialPixmapPlacement=2 &>/dev/null ; \
#	nvidia-settings -a GlyphCache=1 &>/dev/null

	# Establecer mi idioma en el Sistema :
#	export LC_CTYPE=es_VE.UTF-8
#	export LC_MESSAGES=es_VE.UTF-8
#	export LC_ALL=es_VE.UTF-8

	# Establecer Puertos para Reproduccion Midi
	# Si Tienes Instalado y estas Usando " Timidity / Timidity++ " :
#	export ALSA_OUTPUT_PORTS="128:0","128:1","128:2","128:3"

	# Correcion para Steam para que me deje de dar errores como :
	# Could not find required OpenGL entry point :
	# 'glColorMaskIndexedEXT'
	# 'GLGetError'!
	# 'glUseProgramStages'!
	# 
#HL2#	export PATH="/media/Compartido/Videojuegos/Gestor/Linux/Steam/Slackware64/home/bin/":$PATH 
#HL2#	export GAME_DEBUGGER="hl2debug"

	# Error de Python :
	#  Could not find platform independent libraries <prefix>
	#  Could not find platform dependent libraries <exec_prefix>
        #  Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
	#  ImportError: No module named site
	#
	# Rebusque :
#	  PATH=/usr/bin:$PATH
	  #export PYTHONPATH=/usr/lib64/python2.7/
	  #export PYTHONHOME=/usr/bin/python
#	export PROMPT_COMMAND='printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"'
	export PROMPT_COMMAND='printf "\033]0;%s@%s: %s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/*\//}"'

#Activar "ccache" (para compilar mas rapido algunas cosas como retroarch)
export PATH=/usr/lib/ccache/:$PATH


#VirtualBOX : Acceso a Disco Duro Real y Las Particiones "Slacks"
#cd "$HOME"
#rm -rf "$HOME/Compartido.vmdk"
#Compartido=$(blkid | grep "Compartido" | awk '{print$01}' | sed 's/\/*:$//')
#echo "Particion Compartido=$Compartido"
#DDCompartido=$(echo "$Compartido" | sed 's/[0-9]*//g')
#VBoxManage internalcommands createrawvmdk -filename Compartido.vmdk -rawdisk $DDCompartido

#MIDI :
export ALSA_OUTPUT_PORTS="128:0","128:1","128:2","128:3"
MIDI=$(ps -A | egrep 'fluidsynth|timidity')
if [ -z "MIDI" ]; then
	timidity1=$(timidity -iA -B5,10 -Os1l -s 44100 -Oe &> /dev/null &)
	eval "$timidity1"
	MIDI=$(ps -A | egrep 'fluidsynth|timidity' | awk '{print $4}')
	if [ "$MIDI" = "timidity" ]; then
	    #echo 'Sintetizador MIDI en uso : Timidity'
	    echo
	fi
fi

export PULSE_LATENCY_MSEC=60
#export SDL_AUDIODRIVER=alsa

#Corregir rutas en la variable de entorno PATH :
export PATH=$PATH:/sbin:/usr/sbin

#Lo de ".bash_aliases" estaba originalmente
if [ -f ~/.bash_aliases ]; then
	. ~/.bash_aliases
fi

#Establecer optimizaciones para compilar :
export CFLAGS="-O2 -march=k8-sse3 -mtune=k8 -mmmx -msse -msse2 -msse3 -mfpmath=sse -pipe -fomit-frame-pointer"
export CXXFLAGS="$CFLAGS"
export LDFLAGS="-Wl,-O1 -Wl,--as-needed"
export MAKEFLAGS="-j1"
echo 'Se han establecido las optimizaciones de compilacion :'
echo 'export CFLAGS="-O2 -march=k8-sse3 -mtune=k8 -mmmx -msse -msse2 -msse3 -mfpmath=sse -pipe -fomit-frame-pointer"'
echo 'export CXXFLAGS="$CFLAGS"'
echo 'export LDFLAGS="-Wl,-O1 -Wl,--as-needed"'
echo 'export MAKEFLAGS="-j1"'


el contenido actual de mi archivo "$HOME/.bash_aliases" :

Code: Select all

alias killwine=$(reset ; killall -9 conhost.exe winedbg rpcss.exe svchost.exe plugplay.exe winedevice.exe explorer.exe services.exe wineserver 2>/dev/null)
inukaze
Posts: 77
Joined: 24. Nov 2024, 18:42

Re: Optimizaciones Personalizadas en base a mi equipo.

Post by inukaze »

Estando en la terminal, si no estoy como super usuario cambio al super usuario

Code: Select all

sudo su
Luego actualizo el sistema completo, esto cambia el núcleo (Linux) de la versión 4.4.29 a la version 5.15.193

Code: Select all

slapt-get --update
slapt-get --install kernel-huge
slapt-get --upgrade -y 
Luego actualizo grub

Code: Select all

grub-mkconfig -o /boot/grub/grub.cfg
Despues reinicio el sistema e ingreso con la nueva version de Linux (el nucleo 5.15.193)
inukaze
Posts: 77
Joined: 24. Nov 2024, 18:42

Re: Optimizaciones Personalizadas en base a mi equipo.

Post by inukaze »

*** Seccion : Compilar un Linux Optimizado para mi Equipo ***

Code: Select all

cd /usr/src/linux
cp /boot/config-huge-5.15.193 .config  # (O la versión que estuvieras usando)
* - Luego uso el comando de « make menuconfig » para entrar en la configuracion y empiezo a cambiar las cosas que necesito

Lo primero que hago es guardar el archivo config.old y config.original

Luego Basicamente cambie las siguientes cosas :
Edite -> General Setup ---> Local Version : -AMD_Athlon64_X2_6000_Plus-K8
Seleccione -> General Setup ---> Kernel compression mode (LZ4)
Seleccione -> General Setup ---> Preemption Model ---> Preemptible Kernel (Low-Latency Desktop)
Active -> Device Drivers ---> Android Drivers -> Android Drivers
Active -> Device Drivers ---> Staging Drivers -> Android -> Enable the Anonymous Shared Memory Subsystem (NEW)
Desactive -> Kernel Hacking ---> Compile-time checks and compiler options ---> Generate build-id
Desactive -> Kernel Hacking ---> Compile-time checks and compiler options ---> Debug information
Active -> Processor type and features ---> Processor family ---> (X) Opteron/Athlon64/Hammer/K8
Active -> General Setup -> Support initial ramdisk/ramfs compressed using gzip
Active -> General Setup -> Support initial ramdisk/ramfs compressed using bzip2
Active -> General Setup -> Support initial ramdisk/ramfs compressed using LZMA
Active -> General Setup -> Support initial ramdisk/ramfs compressed using XZ
Active -> General Setup -> Support initial ramdisk/ramfs compressed using LZO
Active -> General Setup -> Support initial ramdisk/ramfs compressed using LZ4
Active -> General Setup -> Support initial ramdisk/ramfs compressed using ZSTD
Active -> General Setup -> Compiler optimization level ---> Optimize for performance (-O2)

Opcionalmente podria haber cambiado : General Setup -> default hostname : darkstar
pero no me molesta que ese sea el nombre aunque se lo puedes cambiar para que sea el nombre predeterminado de tu maquina.

Luego guardo los cambios con el nombre de archivo « .config-amd-athlonx64k8 »
Uso « Exit »

Para empezar a compilar uso el comando

Code: Select all

time nice -n 19 ionice -c 3 make -j2 bzImage modules && echo "¡FORJA TERMINADA, INUKAZE!"
Cuando finalizo la compilacion utilice los siguientes comandos :

Code: Select all

cp arch/x86/boot/bzImage /boot/vmlinuz-5.15.193-AMD_Athlon64_X2_6000_Plus-K8
cp System.map /boot/System.map-5.15.193-AMD_Athlon64_X2_6000_Plus-K8
cp .config /boot/config-5.15.193-AMD_Athlon64_X2_6000_Plus-K8

ln -sf /boot/vmlinuz-5.15.193-AMD_Athlon64_X2_6000_Plus-K8 /boot/vmlinuz
ln -sf /boot/System.map-5.15.193-AMD_Athlon64_X2_6000_Plus-K8 /boot/System.map
ln -sf /boot/config-5.15.193-AMD_Athlon64_X2_6000_Plus-K8 /boot/config
Luego edito mi archivo /etc/default/grub y lo dejo con el siguiente contenido

Code: Select all

joe /etc/default/grub
# Si realizas cambios en este archivo, ejecuta 'update-grub' posteriormente
# para actualizar /boot/grub/grub.cfg.

# Entrada por defecto. "0" es la primera. Si se establece en "saved", usará
# la opción elegida en el arranque anterior mediante 'grub-set-default'.
GRUB_DEFAULT=0

# Tiempo de espera en segundos antes de arrancar automáticamente.
GRUB_TIMEOUT=7

# Desactiva el submenú de opciones avanzadas para una lista plana.
GRUB_DISABLE_SUBMENU=y

# Configuración de visibilidad del menú.
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=false

# Identificación del distribuidor (Salix basado en Slackware).
GRUB_DISTRIBUTOR="Salix $(sed -e 's/^Slackware //' /etc/slackware-version)"

# Parámetros del kernel para el arranque normal.
# "ipv6.disable=1" desactiva la pila de red IPv6.
GRUB_CMDLINE_LINUX_DEFAULT="quiet vt.default_utf8=1 ipv6.disable=1"
GRUB_CMDLINE_LINUX=""

# Imagen de fondo para la terminal gráfica.
GRUB_BACKGROUND="/boot/grub/salix.png"

# Colores del menú (Primer plano/Fondo).
GRUB_MENU_COLOR_NORMAL=white/black
GRUB_COLOR_HIGHLIGHT=white/cyan
GRUB_COLOR_NORMAL=white/black

# Descomenta para desactivar la terminal gráfica (solo grub-pc).
#GRUB_TERMINAL_OUTPUT=console

# Resolución de la terminal gráfica (VBE).
# 640x480 es la resolución de compatibilidad universal.
#GRUB_GFXMODE=1280x1024x32,1280x1024x24,auto
#GRUB_GFXMODE=1024x768x32,1024x768x24,auto
#GRUB_GFXMODE=800x600x32,800x600x24,auto
GRUB_GFXMODE=640x480x32,640x480x24,auto
GRUB_GFXPAYLOAD_LINUX=keep

# Tipografía utilizada en la terminal gráfica.
GRUB_FONT=/usr/share/grub/dejavusansmono.pf2

# Desactivar la generación de entradas de modo de recuperación.
GRUB_DISABLE_RECOVERY=true

# Desactivar la detección de otros sistemas operativos (os-prober).
GRUB_DISABLE_OS_PROBER=true

# Filtrado de BadRAM (para memoria RAM con sectores defectuosos).
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
Luego actualizo nuevamente el grub para que tome mi Linux (núcleo) personalizado y optimizado para mi equipo

Code: Select all

grub-mkconfig -o /boot/grub/grub.cfg
Luego reinicio el sistema completo para iniciar con mi Linux.
Post Reply