08-ago: [discovery] Lecciones USB Linux ext4 + Realtek 8812AU + scripts kali-todo
This commit is contained in:
59
scripts/kali-driver-8812au.sh
Normal file
59
scripts/kali-driver-8812au.sh
Normal file
@@ -0,0 +1,59 @@
|
||||
#!/bin/bash
|
||||
# =============================================================================
|
||||
# Script rápido: Solo driver Realtek 8812AU para Kali Linux
|
||||
# Ejecutar como root desde el USB live
|
||||
# =============================================================================
|
||||
set -e
|
||||
|
||||
echo "=== REALTEK 8812AU DRIVER INSTALL ==="
|
||||
echo ""
|
||||
|
||||
# Verificar que se ejecuta como root
|
||||
if [ "$EUID" -ne 0 ]; then
|
||||
echo "Ejecuta como root: sudo bash $0"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Instalar dependencias
|
||||
echo "[1/4] Instalando dependencias..."
|
||||
apt update -qq
|
||||
apt install -y -qq dkms linux-headers-$(uname -r) git build-essential
|
||||
|
||||
# Clonar driver
|
||||
echo "[2/4] Descargando driver..."
|
||||
DRIVER_DIR="/opt/rtl8812au"
|
||||
if [ -d "$DRIVER_DIR" ]; then
|
||||
echo " Driver ya existe, actualizando..."
|
||||
cd "$DRIVER_DIR"
|
||||
git pull
|
||||
else
|
||||
git clone https://github.com/aircrack-ng/rtl8812au.git "$DRIVER_DIR"
|
||||
cd "$DRIVER_DIR"
|
||||
fi
|
||||
|
||||
# Compilar
|
||||
echo "[3/4] Compilando..."
|
||||
make clean
|
||||
make
|
||||
|
||||
# Instalar
|
||||
echo "[4/4] Instalando..."
|
||||
make install
|
||||
|
||||
# Cargar módulo
|
||||
echo ""
|
||||
echo "Cargando módulo..."
|
||||
modprobe 8812au 2>/dev/null || modprobe rtl8812au 2>/dev/null || echo "Módulo no se cargó (reiniciar para aplicar)"
|
||||
|
||||
# Verificar
|
||||
echo ""
|
||||
if ip link show | grep -q wl; then
|
||||
IFACE=$(ip link show | grep wl | awk -F: '{print $2}' | tr -d ' ' | head -1)
|
||||
echo "✓ WiFi detectado: $IFACE"
|
||||
echo " Para modo monitor: airmon-ng start $IFACE"
|
||||
else
|
||||
echo "⚠ WiFi no detectado aún. Reinicia el USB."
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "¡Driver instalado!"
|
||||
84
scripts/kali-persistence.sh
Normal file
84
scripts/kali-persistence.sh
Normal file
@@ -0,0 +1,84 @@
|
||||
#!/bin/bash
|
||||
# =============================================================================
|
||||
# Script rápido: Solo persistencia para Kali Linux USB
|
||||
# Ejecutar como root desde el USB live
|
||||
# =============================================================================
|
||||
set -e
|
||||
|
||||
echo "=== KALI PERSISTENCE SETUP ==="
|
||||
echo ""
|
||||
|
||||
# Detectar USB
|
||||
echo "Detectando USB..."
|
||||
USB_DEVICE=""
|
||||
for dev in /dev/sd{b,c,d,e}; do
|
||||
if [ -b "$dev" ]; then
|
||||
SIZE=$(lsblk -dn -o SIZE "$dev" 2>/dev/null | tr -d ' ')
|
||||
echo " $dev — $SIZE"
|
||||
USB_DEVICE="$dev"
|
||||
fi
|
||||
done
|
||||
|
||||
if [ -z "$USB_DEVICE" ]; then
|
||||
echo "ERROR: No se encontró USB"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "USB: $USB_DEVICE"
|
||||
echo ""
|
||||
echo "Opciones:"
|
||||
echo " 1) Crear partición persistence con fdisk (terminal)"
|
||||
echo " 2) Abrir GParted (gráfico)"
|
||||
echo " 3) Ya tengo la partición, solo montar y configurar"
|
||||
echo ""
|
||||
read -p "Elige [1/2/3]: " OPT
|
||||
|
||||
case $OPT in
|
||||
1)
|
||||
echo ""
|
||||
echo "Iniciando fdisk en $USB_DEVICE"
|
||||
echo "Instrucciones:"
|
||||
echo " - 'd' → borrar última partición"
|
||||
echo " - 'n' → crear nueva (más pequeña)"
|
||||
echo " - 'n' → crear partición persistence con espacio restante"
|
||||
echo " - 't' → cambiar tipo a Linux (83)"
|
||||
echo " - 'w' → guardar"
|
||||
echo ""
|
||||
fdisk "$USB_DEVICE"
|
||||
sleep 2
|
||||
NEW=$(lsblk -dn -o NAME "$USB_DEVICE" | tail -1 | sed 's/.*\([a-z][a-z0-9]*\)$/\1/')
|
||||
mkfs.ext4 -F -L "persistence" "/dev/$NEW"
|
||||
PERSIST="/dev/$NEW"
|
||||
;;
|
||||
2)
|
||||
echo "Abrindo GParted..."
|
||||
echo "1. Selecciona $USB_DEVICE"
|
||||
echo "2. Redimensiona última partición"
|
||||
echo "3. Crea ext4 nueva con label 'persistence'"
|
||||
echo "4. Aplica"
|
||||
gparted "$USB_DEVICE" 2>/dev/null || gnome-disks "$USB_DEVICE"
|
||||
PERSIST=$(lsblk -dn -o NAME,LABEL | grep -i persistence | awk '{print $1}')
|
||||
PERSIST="/dev/$PERSIST"
|
||||
;;
|
||||
3)
|
||||
PERSIST=$(lsblk -dn -o NAME,LABEL | grep -i persistence | awk '{print $1}')
|
||||
PERSIST="/dev/$PERSIST"
|
||||
;;
|
||||
esac
|
||||
|
||||
echo ""
|
||||
echo "Montando $PERSIST..."
|
||||
mkdir -p /mnt/usb
|
||||
mount "$PERSIST" /mnt/usb
|
||||
|
||||
if [ ! -f /mnt/usb/persistence.conf ]; then
|
||||
echo "/ union" > /mnt/usb/persistence.conf
|
||||
echo "persistence.conf creado"
|
||||
else
|
||||
echo "persistence.conf ya existe"
|
||||
fi
|
||||
|
||||
umount /mnt/usb
|
||||
echo ""
|
||||
echo "¡Listo! Reinicia y selecciona 'Persistent' en el menú."
|
||||
207
scripts/kali-setup.sh
Normal file
207
scripts/kali-setup.sh
Normal file
@@ -0,0 +1,207 @@
|
||||
#!/bin/bash
|
||||
# =============================================================================
|
||||
# KALI LINUX — Setup completo: Persistencia + Drivers Realtek 8812AU
|
||||
# Ejecutar como root desde el USB live de Kali
|
||||
# =============================================================================
|
||||
set -e
|
||||
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
CYAN='\033[0;36m'
|
||||
NC='\033[0m'
|
||||
|
||||
echo -e "${CYAN}============================================${NC}"
|
||||
echo -e "${CYAN} KALI USB SETUP — Persistencia + 8812AU${NC}"
|
||||
echo -e "${CYAN}============================================${NC}"
|
||||
echo ""
|
||||
|
||||
# -----------------------------------------------------------
|
||||
# PASO 1: Detectar el USB
|
||||
# -----------------------------------------------------------
|
||||
echo -e "${YELLOW}[1/5] Detectando USB...${NC}"
|
||||
|
||||
USB_DEVICE=""
|
||||
for dev in /dev/sd{b,c,d,e}; do
|
||||
if [ -b "$dev" ]; then
|
||||
SIZE=$(lsblk -dn -o SIZE "$dev" 2>/dev/null | tr -d ' ')
|
||||
FSTYPE=$(lsblk -dn -o FSTYPE "$dev" 2>/dev/null | tr -d ' ')
|
||||
LABEL=$(lsblk -dn -o LABEL "$dev" 2>/dev/null | tr -d ' ')
|
||||
echo " $dev — $SIZE — $FSTYPE — $LABEL"
|
||||
# El USB más grande probablemente es nuestro
|
||||
USB_DEVICE="$dev"
|
||||
fi
|
||||
done
|
||||
|
||||
if [ -z "$USB_DEVICE" ]; then
|
||||
echo -e "${RED} ERROR: No se encontró ningún USB${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo -e "${GREEN} USB detectado: $USB_DEVICE${NC}"
|
||||
echo ""
|
||||
|
||||
# -----------------------------------------------------------
|
||||
# PASO 2: Verificar si ya hay persistencia
|
||||
# -----------------------------------------------------------
|
||||
echo -e "${YELLOW}[2/5] Verificando persistencia...${NC}"
|
||||
|
||||
# Buscar partición etiquetada "persistence"
|
||||
PERSIST_PART=$(lsblk -dn -o NAME,LABEL | grep -i persistence | awk '{print $1}' | head -1)
|
||||
|
||||
if [ -n "$PERSIST_PART" ]; then
|
||||
echo -e "${GREEN} Persistencia ya configurada en /dev/$PERSIST_PART${NC}"
|
||||
PERSIST_DEVICE="/dev/$PERSIST_PART"
|
||||
else
|
||||
echo " No se encontró persistencia. Creando..."
|
||||
|
||||
# Encontrar la última partición del USB
|
||||
LAST_PART=$(lsblk -dn -o NAME "$USB_DEVICE" | tail -1 | sed 's/.*\([a-z][a-z0-9]*\)$/\1/')
|
||||
echo " Última partición detectada: $LAST_PART"
|
||||
|
||||
echo ""
|
||||
echo -e "${YELLOW} IMPORTANTE: Voy a redimensionar la última partición del USB${NC}"
|
||||
echo -e "${YELLOW} para crear espacio para persistencia.${NC}"
|
||||
echo ""
|
||||
echo " Opciones:"
|
||||
echo " 1) Usar GParted (recomendado — gráfico)"
|
||||
echo " 2) Usar fdisk (terminal)"
|
||||
echo ""
|
||||
read -p " ¿Qué prefieres? [1/2]: " CHOICE
|
||||
|
||||
case $CHOICE in
|
||||
2)
|
||||
echo ""
|
||||
echo " Abriendo fdisk en $USB_DEVICE..."
|
||||
echo " Instrucciones:"
|
||||
echo " - 'd' para borrar la última partición"
|
||||
echo " - 'n' para crear nueva partición (más pequeña)"
|
||||
echo " - 'n' de nuevo para crear partición de persistencia con el espacio restante"
|
||||
echo " - 'w' para guardar"
|
||||
echo ""
|
||||
fdisk "$USB_DEVICE"
|
||||
|
||||
# Después de fdisk, detectar la nueva partición
|
||||
sleep 2
|
||||
NEW_PART=$(lsblk -dn -o NAME "$USB_DEVICE" | tail -1 | sed 's/.*\([a-z][a-z0-9]*\)$/\1/')
|
||||
PERSIST_DEVICE="/dev/$NEW_PART"
|
||||
|
||||
echo ""
|
||||
read -p " Formatear $PERSIST_DEVICE como ext4 y etiquetar 'persistence'? [s/N]: " CONFIRM
|
||||
if [ "$CONFIRM" = "s" ] || [ "$CONFIRM" = "S" ]; then
|
||||
mkfs.ext4 -F -L "persistence" "$PERSIST_DEVICE"
|
||||
else
|
||||
echo " Saltado. Formatea manualmente con: mkfs.ext4 -F -L persistence $PERSIST_DEVICE"
|
||||
exit 0
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo ""
|
||||
echo " Abriendo GParted..."
|
||||
echo " 1. Selecciona $USB_DEVICE"
|
||||
echo " 2. Redimensiona la última partición (dejando ~4GB para persistencia)"
|
||||
echo " 3. Crea una partición ext4 nueva con label 'persistence'"
|
||||
echo " 4. Aplica cambios y cierra GParted"
|
||||
echo ""
|
||||
gparted "$USB_DEVICE" 2>/dev/null || gnome-disks "$USB_DEVICE" 2>/dev/null
|
||||
|
||||
# Detectar después de GParted
|
||||
sleep 2
|
||||
PERSIST_PART=$(lsblk -dn -o NAME,LABEL | grep -i persistence | awk '{print $1}' | head -1)
|
||||
if [ -z "$PERSIST_PART" ]; then
|
||||
echo -e "${RED} No se detectó la partición 'persistence'.${NC}"
|
||||
echo " Asegúrate de que el label sea exactamente 'persistence'"
|
||||
exit 1
|
||||
fi
|
||||
PERSIST_DEVICE="/dev/$PERSIST_PART"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
echo -e "${GREEN} Partición de persistencia: $PERSIST_DEVICE${NC}"
|
||||
echo ""
|
||||
|
||||
# -----------------------------------------------------------
|
||||
# PASO 3: Montar y configurar persistencia
|
||||
# -----------------------------------------------------------
|
||||
echo -e "${YELLOW}[3/5] Configurando persistencia...${NC}"
|
||||
|
||||
mkdir -p /mnt/usb
|
||||
mount "$PERSIST_DEVICE" /mnt/usb
|
||||
|
||||
# Verificar si ya tiene persistence.conf
|
||||
if [ -f /mnt/usb/persistence.conf ]; then
|
||||
echo -e "${GREEN} persistence.conf ya existe:$(cat /mnt/usb/persistence.conf)${NC}"
|
||||
else
|
||||
echo "/ union" > /mnt/usb/persistence.conf
|
||||
echo -e "${GREEN} persistence.conf creado: / union${NC}"
|
||||
fi
|
||||
|
||||
umount /mnt/usb
|
||||
echo -e "${GREEN} Persistencia configurada OK${NC}"
|
||||
echo ""
|
||||
|
||||
# -----------------------------------------------------------
|
||||
# PASO 4: Instalar drivers Realtek 8812AU
|
||||
# -----------------------------------------------------------
|
||||
echo -e "${YELLOW}[4/5] Instalando drivers Realtek 8812AU...${NC}"
|
||||
|
||||
# Instalar dependencias
|
||||
echo " Instalando dependencias de compilación..."
|
||||
apt update -qq
|
||||
apt install -y -qq dkms linux-headers-$(uname -r) git build-essential airmon-ng 2>/dev/null
|
||||
|
||||
# Clonar driver
|
||||
DRIVER_DIR="/opt/rtl8812au"
|
||||
if [ -d "$DRIVER_DIR" ]; then
|
||||
echo -e "${GREEN} Driver ya descargado en $DRIVER_DIR${NC}"
|
||||
cd "$DRIVER_DIR"
|
||||
git pull -qq 2>/dev/null || true
|
||||
else
|
||||
echo " Descargando driver 8812AU..."
|
||||
git clone https://github.com/aircrack-ng/rtl8812au.git "$DRIVER_DIR"
|
||||
cd "$DRIVER_DIR"
|
||||
fi
|
||||
|
||||
# Compilar e instalar
|
||||
echo " Compilando driver..."
|
||||
make clean 2>/dev/null || true
|
||||
make
|
||||
make install
|
||||
|
||||
echo -e "${GREEN} Driver 8812AU instalado${NC}"
|
||||
echo ""
|
||||
|
||||
# -----------------------------------------------------------
|
||||
# PASO 5: Cargar módulo y verificar
|
||||
# -----------------------------------------------------------
|
||||
echo -e "${YELLOW}[5/5] Verificando...${NC}"
|
||||
|
||||
modprobe 8812au 2>/dev/null || modprobe rtl8812au 2>/dev/null || true
|
||||
|
||||
if ip link show | grep -q wl; then
|
||||
WIFI_IF=$(ip link show | grep wl | awk -F: '{print $2}' | tr -d ' ' | head -1)
|
||||
echo -e "${GREEN} WiFi detectado: $WIFI_IF${NC}"
|
||||
else
|
||||
echo -e "${YELLOW} WiFi no detectado aún (puede necesitar reboot)${NC}"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo -e "${CYAN}============================================${NC}"
|
||||
echo -e "${GREEN} SETUP COMPLETADO${NC}"
|
||||
echo -e "${CYAN}============================================${NC}"
|
||||
echo ""
|
||||
echo " Resumen:"
|
||||
echo " ✓ Persistencia configurada"
|
||||
echo " ✓ Drivers Realtek 8812AU instalados"
|
||||
echo ""
|
||||
echo " Próximos pasos:"
|
||||
echo " 1. Reinicia el USB (selecciona 'KDE + Persistent' o 'XFCE + Persistent')"
|
||||
echo " 2. Al reiniciar, los cambios se guardarán"
|
||||
echo " 3. Para usar el WiFi: airmon-ng start $WIFI_IF"
|
||||
echo ""
|
||||
echo " NOTA: Si el módulo no carga al reiniciar, ejecuta:"
|
||||
echo " sudo modprobe 8812au"
|
||||
echo " # o"
|
||||
echo " sudo modprobe rtl8812au"
|
||||
echo ""
|
||||
199
scripts/kali-todo.sh
Normal file
199
scripts/kali-todo.sh
Normal file
@@ -0,0 +1,199 @@
|
||||
#!/bin/bash
|
||||
# =============================================================================
|
||||
# KALI USB COMPLETO: Formateo + Persistencia + Teclado ES + Driver 8812AU
|
||||
# Ejecutar como root desde Kali live: sudo bash kali-todo.sh
|
||||
# =============================================================================
|
||||
set -e
|
||||
|
||||
echo "=========================================="
|
||||
echo " KALI USB — Setup completo"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
|
||||
# Detectar USB (el más grande que no es el ISO booteado)
|
||||
echo "[1/6] Detectando USB..."
|
||||
BOOT_DEV=$(lsblk -dn -o PKNAME /dev/sda1 2>/dev/null || echo "sda")
|
||||
for dev in sdb sdc sdd sde; do
|
||||
if [ -b "/dev/$dev" ]; then
|
||||
SIZE=$(lsblk -dn -o SIZE "/dev/$dev" 2>/dev/null | tr -d ' ')
|
||||
SIZE_GB=$(echo "$SIZE" | awk '{gsub(/G/,"",$1); print $1}')
|
||||
if [ $(echo "$SIZE_GB > 10" | bc 2>/dev/null || echo 0) -eq 1 ] || echo "$SIZE" | grep -qE "[0-9]{2,}G"; then
|
||||
USB="/dev/$dev"
|
||||
echo " USB encontrado: $USB ($SIZE)"
|
||||
break
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
if [ -z "$USB" ]; then
|
||||
echo " ERROR: No se encontró USB grande. Listando todos:"
|
||||
lsblk -dn -o NAME,SIZE,MODEL
|
||||
echo ""
|
||||
read -p " Escribe el dispositivo (ej: sdb): " USB_NAME
|
||||
USB="/dev/$USB_NAME"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "AVISO: Se va a BORRAR TODO el USB: $USB"
|
||||
echo " Los datos se perderán permanentemente."
|
||||
echo ""
|
||||
read -p " ¿Continuar? (escribe BORRAR): " CONFIRM
|
||||
if [ "$CONFIRM" != "BORRAR" ]; then
|
||||
echo " Cancelado."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# -----------------------------------------------------------
|
||||
echo ""
|
||||
echo "[2/6] Limpiando y particionando $USB..."
|
||||
swapoff -a 2>/dev/null || true
|
||||
|
||||
# Limpiar disco
|
||||
dd if=/dev/zero of="$USB" bs=1M count=10 2>/dev/null
|
||||
sync
|
||||
|
||||
# Crear tabla GPT + 2 particiones
|
||||
parted -s "$USB" mklabel gpt
|
||||
parted -s "$USB" mkpart primary fat32 1MiB 4GiB
|
||||
parted -s "$USB" set 1 boot on
|
||||
parted -s "$USB" mkpart primary ext4 4GiB 100%
|
||||
parted -s "$USB" name 2 persistence
|
||||
sync
|
||||
sleep 2
|
||||
|
||||
# Detectar nombres de particiones
|
||||
BOOT_PART="${USB}1"
|
||||
PERSIST_PART="${USB}2"
|
||||
|
||||
# Si el kernel usa números en lugar de letras
|
||||
if [ ! -b "$BOOT_PART" ]; then
|
||||
BOOT_PART="${USB}p1"
|
||||
PERSIST_PART="${USB}p2"
|
||||
fi
|
||||
|
||||
echo " Boot: $BOOT_PART"
|
||||
echo " Persistence: $PERSIST_PART"
|
||||
|
||||
# -----------------------------------------------------------
|
||||
echo ""
|
||||
echo "[3/6] Formateando particiones..."
|
||||
mkfs.vfat -F 32 -n KALI "$BOOT_PART"
|
||||
mkfs.ext4 -F -L persistence "$PERSIST_PART"
|
||||
|
||||
# -----------------------------------------------------------
|
||||
echo ""
|
||||
echo "[4/6] Montando ISO de Kali y copiando archivos..."
|
||||
mkdir -p /mnt/iso /mnt/boot /mnt/persist
|
||||
|
||||
# Encontrar ISO de Kali
|
||||
ISO=""
|
||||
for f in /home/kali/Downloads/*.iso /home/kali/*.iso /tmp/*.iso /run/live/medium/**/*.iso; do
|
||||
if [ -f "$f" ] && echo "$f" | grep -qi kali; then
|
||||
ISO="$f"
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if [ -z "$ISO" ]; then
|
||||
# Intentar montar el medio de booteo actual
|
||||
if [ -d /run/live/medium ]; then
|
||||
mount --bind /run/live/medium /mnt/iso
|
||||
ISO="/mnt/iso"
|
||||
else
|
||||
echo " No se encontró ISO. Copia archivos manualmente."
|
||||
echo " Monta $BOOT_PART en /mnt/boot y copia el contenido de la ISO."
|
||||
mount "$BOOT_PART" /mnt/boot
|
||||
mount "$PERSIST_PART" /mnt/persist
|
||||
echo "/ union" > /mnt/persist/persistence.conf
|
||||
echo ""
|
||||
echo " Monta la ISO manualmente:"
|
||||
echo " sudo mount -o loop kali-xxx.iso /mnt/iso"
|
||||
echo " sudo cp -r /mnt/iso/* /mnt/boot/"
|
||||
echo " sudo umount /mnt/iso"
|
||||
echo ""
|
||||
echo " Persistence configurada. Sigue con el paso 5."
|
||||
SKIP_COPY=1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -z "$SKIP_COPY" ]; then
|
||||
mount "$BOOT_PART" /mnt/boot
|
||||
mount "$PERSIST_PART" /mnt/persist
|
||||
|
||||
# Copiar contenido de ISO al USB
|
||||
echo " Copiando archivos de boot..."
|
||||
rsync -ah --progress "$ISO/" /mnt/boot/ 2>/dev/null || cp -r "$ISO"/* /mnt/boot/
|
||||
|
||||
# Configurar persistencia
|
||||
echo "/ union" > /mnt/persist/persistence.conf
|
||||
|
||||
# Modificar GRUB para teclado español
|
||||
echo " Configurando teclado español en GRUB..."
|
||||
if [ -f /mnt/boot/grub/grub.cfg ]; then
|
||||
sed -i 's/quiet/quiet keyboard-configuration\/layoutcode=es/g' /mnt/boot/grub/grub.cfg
|
||||
fi
|
||||
if [ -f /mnt/boot/grub.cfg ]; then
|
||||
sed -i 's/quiet/quiet keyboard-configuration\/layoutcode=es/g' /mnt/boot/grub.cfg
|
||||
fi
|
||||
# Syslinux
|
||||
if [ -f /mnt/boot/isolinux/isolinux.cfg ]; then
|
||||
sed -i 's/quiet/quiet keyboard-configuration\/layoutcode=es/g' /mnt/boot/isolinux/isolinux.cfg
|
||||
fi
|
||||
if [ -f /mnt/boot/syslinux/syslinux.cfg ]; then
|
||||
sed -i 's/quiet/quiet keyboard-configuration\/layoutcode=es/g' /mnt/boot/syslinux/syslinux.cfg
|
||||
fi
|
||||
fi
|
||||
|
||||
# -----------------------------------------------------------
|
||||
echo ""
|
||||
echo "[5/6] Instalando driver Realtek 8812AU..."
|
||||
apt update -qq
|
||||
apt install -y -qq dkms linux-headers-$(uname -r) git build-essential bc 2>/dev/null
|
||||
|
||||
DRIVER_DIR="/opt/rtl8812au"
|
||||
if [ -d "$DRIVER_DIR" ]; then
|
||||
cd "$DRIVER_DIR" && git pull -qq
|
||||
else
|
||||
git clone https://github.com/aircrack-ng/rtl8812au.git "$DRIVER_DIR"
|
||||
cd "$DRIVER_DIR"
|
||||
fi
|
||||
|
||||
make clean 2>/dev/null || true
|
||||
make
|
||||
make install
|
||||
modprobe 8812au 2>/dev/null || modprobe rtl8812au 2>/dev/null || true
|
||||
echo " Driver 8812AU instalado"
|
||||
|
||||
# -----------------------------------------------------------
|
||||
echo ""
|
||||
echo "[6/6] Configurando teclado español persistente..."
|
||||
cat > /mnt/persist/etc/keyboard-setup.sh << 'KBD'
|
||||
#!/bin/bash
|
||||
loadkeys es 2>/dev/null || true
|
||||
setxkbmap es 2>/dev/null || true
|
||||
KBD
|
||||
chmod +x /mnt/persist/etc/keyboard-setup.sh 2>/dev/null || true
|
||||
|
||||
# Desmontar
|
||||
umount /mnt/boot /mnt/persist 2>/dev/null || true
|
||||
umount /mnt/iso 2>/dev/null || true
|
||||
|
||||
echo ""
|
||||
echo "=========================================="
|
||||
echo " ¡TODO CONFIGURADO!"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
echo " Resumen:"
|
||||
echo " ✓ USB particionado (GPT: FAT32 boot + ext4 persistence)"
|
||||
echo " ✓ Kali Linux instalado en USB"
|
||||
echo " ✓ Persistencia configurada"
|
||||
echo " ✓ Teclado español en GRUB"
|
||||
echo " ✓ Driver Realtek 8812AU compilado e instalado"
|
||||
echo ""
|
||||
echo " Para usar:"
|
||||
echo " 1. Reinicia y arranca desde el USB"
|
||||
echo " 2. En GRUB, selecciona 'Kali' y pulsa 'e'"
|
||||
echo " 3. Verifica que 'keyboard-configuration/layoutcode=es' está"
|
||||
echo " 4. F10 para arrancar"
|
||||
echo " 5. Los cambios se guardan por la persistencia"
|
||||
echo ""
|
||||
Reference in New Issue
Block a user