1
0
mirror of https://gitlab.com/JKANetwork/JKArch.git synced 2026-02-14 17:21:32 +01:00

76 Commits

Author SHA1 Message Date
Kevin Puertas
a825cae935 Update software names 2017-11-29 23:01:52 +01:00
9c304e4a77 Delete imageJKArch.png 2017-10-16 19:09:26 +00:00
cc8ed33be0 Replace imageJKArch.png 2017-10-16 18:58:08 +00:00
4f065211a2 Update tuto.md 2017-10-16 18:35:58 +00:00
e393bffaef Bug fix 2017-10-15 17:59:14 +00:00
8c2d6acd39 Update README.md 2017-10-15 17:48:48 +00:00
Kevin Puertas
58514e1cd7 Not use temporally .bashrc in jkarch-data 2017-09-10 21:21:16 +02:00
Kevin Puertas
af6a0f88ee Fix some bug 2017-09-01 12:08:33 +02:00
Kevin Puertas
460a9f35cc Update apps (jkarch-data) for making installation updatable after install 2017-09-01 12:00:52 +02:00
Kevin Puertas
d6d8bdc153 Update readme 2017-08-31 01:15:35 +02:00
Kevin Puertas
2adb1a8a34 Update readme 2017-08-31 01:06:49 +02:00
Kevin Puertas
085eeee180 Some fixes 2017-08-31 01:03:22 +02:00
Kevin Puertas
34f78c6057 Fix bug execl function 2017-08-29 17:17:55 +02:00
Kevin Puertas
1d66002c1f Fix bug with sudo command 2017-08-29 17:16:11 +02:00
Kevin Puertas
9557226f15 Fix bug with sudo command 2017-08-29 17:10:54 +02:00
Kevin Puertas
353697e9ed Maintenance flash add 2017-08-24 17:42:28 +02:00
Kevin Puertas
3e197e083b Some fixes and better swap support 2017-07-22 18:54:06 +02:00
Kevin Puertas
d2d376a3cf Changed summary because lsblk 2017-05-27 12:41:12 +02:00
Kevin Puertas
bfec508001 Another try for the dialog of install 2017-05-27 12:34:20 +02:00
Kevin Puertas
15eba9b746 Now works? 2017-05-27 12:19:01 +02:00
Kevin Puertas
0a11ea64ce fix a dialog 2017-05-27 12:11:39 +02:00
Kevin Puertas
2ea4af3953 Updated installer and scripts 2017-05-27 12:01:39 +02:00
Kevin Puertas
a8a88c983d Fix wallpaper 2017-05-25 13:14:22 +02:00
Kevin Puertas
9324dccb20 XFCE4 now 2017-05-21 14:04:02 +02:00
Kevin Puertas
3fda6f0201 Testing from mate to xfce4, less resource hungry 2017-05-21 13:28:38 +02:00
Kevin Puertas
5bab48c165 Testing from mate to xfce4, less resource hungry 2017-05-21 13:25:31 +02:00
Kevin Puertas
8ad28c90a7 Clean and delete python test 2017-03-25 17:59:59 +01:00
Kevin Puertas
fd237a3e57 Update 2017-03-03 00:25:26 +01:00
2275d59f06 Upload new file 2017-03-02 23:22:28 +00:00
7eb6340527 Update faq.md 2017-03-02 23:21:42 +00:00
519b5ac7a3 Port faq page to .md 2017-03-02 23:21:14 +00:00
71bd4f7171 Update tuto.md 2017-03-02 23:20:19 +00:00
a0af4a40aa Add tutorial md file 2017-03-02 23:18:39 +00:00
a07333507b Change URL 2017-03-02 23:16:35 +00:00
d279dc877b Cleaning 2017-02-20 21:01:08 +01:00
65562e0f1d Update README.md 2017-02-20 19:30:44 +00:00
13e6cfbb03 Backup. WIP of new python script 2017-02-13 22:28:36 +01:00
62ad54a4ca Fix 2017-02-13 18:47:32 +01:00
6a850fe3f9 edit 2017-02-13 00:15:58 +01:00
fa656334b2 edit 2017-02-13 00:13:20 +01:00
a01d0ac990 edit 2017-02-13 00:09:06 +01:00
74c3aef4fa edit 2017-02-13 00:07:08 +01:00
63a455bcc1 fixes.. 2017-02-13 00:03:13 +01:00
409a0e9616 fixes.. 2017-02-13 00:00:55 +01:00
ceec9c1e92 fixes.. 2017-02-13 00:00:18 +01:00
0078454b3f fixes.. 2017-02-12 23:56:45 +01:00
782420f5b4 fixes.. 2017-02-12 23:54:40 +01:00
a7e9fe09bc fixes.. 2017-02-12 23:51:35 +01:00
ea93691fe6 fixes.. 2017-02-12 23:48:57 +01:00
840f6f5f93 DEBUG 2017-02-12 23:47:05 +01:00
8265d95041 fix 2017-02-12 23:45:41 +01:00
b08caba055 fix space 2017-02-12 23:43:16 +01:00
a5c6cbc89c Trying things 2017-02-12 23:41:38 +01:00
65459c3aa2 Trying things 2017-02-12 23:40:26 +01:00
def2a7cbe5 Trying things 2017-02-12 23:34:43 +01:00
d7fbb16712 Trying things 2017-02-12 23:32:07 +01:00
9d016e015c Trying things 2017-02-12 23:30:35 +01:00
bdd706ec26 Trying things 2017-02-12 23:29:12 +01:00
f3559108a7 Thinking in updates 2017-02-12 16:50:28 +01:00
8386f1a808 Fixes gui 2017-02-12 13:41:20 +01:00
976fa0ab84 Fixes gui 2017-02-12 13:30:55 +01:00
d5e666957f first try 2017-02-12 13:16:50 +01:00
24078fe915 debug... 2017-02-12 13:09:01 +01:00
9e255c8f87 debug... 2017-02-12 13:07:26 +01:00
a244f20de4 debug... 2017-02-12 12:54:04 +01:00
d708956d46 Start of new a bit graphical installer 2017-02-12 12:44:36 +01:00
0ee99e5ef7 Start of new a bit graphical installer 2017-02-12 12:40:38 +01:00
17ae0292fa Start of new a bit graphical installer 2017-02-12 12:36:26 +01:00
f28e1ffc5c Start of new a bit graphical installer 2017-02-12 12:35:01 +01:00
a557b6e616 Fix installer 2017-02-11 21:24:24 +01:00
2bfc4e8aab more deps for wine 2017-02-07 19:30:55 +01:00
410d36540d add spanish things 2017-02-04 12:52:17 +01:00
5fe123d563 gnome-exe-thumbnailer 2017-01-29 14:11:05 +01:00
142df8a56e Installer lang select 2017-01-22 23:24:42 +01:00
19a5ac2726 rewrite 2017-01-22 23:12:46 +01:00
3cc53ab802 rewrite 2017-01-22 23:12:10 +01:00
20 changed files with 383 additions and 1940 deletions

View File

@@ -1,7 +1,2 @@
# Scripts usados por JKANetwork para generar las imagenes de CD que estan en jkarch.jkanetwork.com
No es necesario para ninguna función de JKArch más que esa
La carpeta data contiene archivos de la ISO para arrancar (EFI e isolinux) que el script de creación utiliza
Aceptamos sugerencias

View File

@@ -1,52 +0,0 @@
#!/bin/bash
## This file download all JKArch dependencies and puts it in a folder with repo created, ready to use
#Force sudo
if [[ $(/usr/bin/id -u) != "0" ]];then
sudo ${0} $@
exit
fi
rm -rf trydeps/
rm -rf repoofflinejkarch/
mkdir trydeps
#Only pacstrap for the essential packages for download the rest, pacman, and mirrorlist. Base added to pacman -Sw of later
pacstrap -d trydeps pacman jkarch-mirrorlist
cp /etc/pacman.conf trydeps/etc/pacman.conf
arch-chroot trydeps/ /usr/bin/pacman -Sw base base-devel yaourt btrfs-progs rsync exfat-utils jkarch-mirrorlist jka-toolkit git wget netctl iw wpa_supplicant dialog sudo alsa-utils dosfstools \
ntfs-3g bash-completion reflector ntp \
mesa libva-vdpau-driver mesa-libgl libva-mesa-driver mesa-vdpau libva-intel-driver libvdpau-va-gl virtualbox-guest-utils virtualbox-guest-modules-arch xf86-input-vmmouse open-vm-tools \
firefox google-chrome chromium opera otter-browser flashplugin \
libreoffice-fresh abiword gnumeric wps-office leafpad gedit notepadqq \
vlc qt4 smplayer totem clementine \
gimp inkscape pinta krita \
noto-fonts noto-fonts-cjk noto-fonts-emoji ttf-dejavu ttf-liberation ttf-ms-fonts ttf-google-fonts-git \
evince ristretto librsvg gnome-calculator gnome-disk-utility file-roller lrzip p7zip unace unrar tumbler poppler-glib ffmpegthumbnailer libgsf \
cups cups-filters cups-pk-helper system-config-printer gtk3-print-backends hplip foomatic-db-engine foomatic-db foomatic-db-ppds xsane bluez bluez-utils bluez-cups bluez-firmware bluez-libs blueberry \
dropbox megasync geary k3b jre8-openjdk wine-staging wine_gecko winetricks lib32-libpng lib32-libldap lib32-gnutls lib32-mpg123 lib32-libpulse lib32-ncurses lib32-openal lib32-alsa-lib lib32-gst-plugins-base-libs bleachbit \
sublime-text-dev sublime-text visual-studio-code jdk8-openjdk eclipse-java monodevelop brackets atom-editor-bin gdevelop poedit arduino \
xorg-server xorg-xinit xorg-server-common xf86-input-libinput xterm lightdm lightdm-gtk-greeter gvfs gvfs-mtp gvfs-afc gvfs-smb udisks2 networkmanager network-manager-applet gnome-keyring xdialog \
jkarch-appearance lxterminal ttf-inconsolata octopi octopi-notifier gksu pulseaudio pavucontrol xdg-user-dirs xfce4-power-manager \
lxappearance lxappearance-obconf lxde-common lxinput lxpanel lxrandr lxsession lxtask lxterminal openbox pcmanfm xfce4-notifyd \
xfce4 cinnamon gnome-extra gnome mate-extra mate gtk-engine-murrine plasma gtk-engine-aurora faenza-icon-theme \
efibootmgr dosfstools refind-efi grub os-prober --noconfirm
arch-chroot trydeps/ /usr/bin/pacman -Sw $(pacman -Ssq xf86-video-*) --noconfirm
mkdir repoofflinejkarch
mv trydeps/var/cache/pacman/pkg/* repoofflinejkarch/
rm -rf trydeps/
cd repoofflinejkarch/
repo-add localjkarch.db.tar.gz *.pkg.*
rm localjkarch.files
rm localjkarch.db
mv localjkarch.files.tar.gz localjkarch.files
mv localjkarch.db.tar.gz localjkarch.db
rm -f *.old
rm -f *.log
rm -f .log
cd ..
#Permisos
chmod 777 repoofflinejkarch/
chmod 666 repoofflinejkarch/*

View File

@@ -29,11 +29,11 @@ function modifyimage {
#Delete packages not needed from official iso
sudo arch-chroot $sfslocate/ /usr/bin/pacman -R clonezilla darkhttpd diffutils grml-zsh-config irssi linux-atm lvm2 man-db man-pages mc ndisc6 nmap smartmontools testdisk vi vim vim-runtime zsh openconnect pcsclite python2 --noconfirm
sudo arch-chroot $sfslocate/ /usr/bin/pacman -R clonezilla darkhttpd diffutils grml-zsh-config irssi linux-atm lvm2 man-db man-pages mc ndisc6 nmap smartmontools testdisk vi vim vim-runtime openconnect pcsclite python2 python reflector --noconfirm
#Restore bash shell (not zsh)
sudo arch-chroot $sfslocate/ /usr/bin/chsh -s /bin/bash root
#Install new
sudo arch-chroot $sfslocate/ /usr/bin/pacman -Su gparted xf86-video-vesa xorg-xinit lwm localepurge --noconfirm --ignore linux #Do not upgrade kernel automatically
sudo arch-chroot $sfslocate/ /usr/bin/pacman -Su gparted xf86-video-vesa xorg-xinit lwm xorg-xrandr xterm localepurge --noconfirm --ignore linux #Do not upgrade kernel automatically
#For gparted to work
sudo rm $sfslocate/etc/X11/xinit/xinitrc
sudo touch $sfslocate/etc/X11/xinit/xinitrc
@@ -80,13 +80,8 @@ function bashprofile {
sudo echo "#" > $sfslocate/root/.bash_profile
sudo echo "# ~/.bash_profile" >> $sfslocate/root/.bash_profile
sudo echo "#" >> $sfslocate/root/.bash_profile
if [[ $1 = "Online" ]];then
sudo echo "cd /root/" >> $sfslocate/root/.bash_profile
sudo echo "./downloadinstall.sh" >> $sfslocate/root/.bash_profile
else #Offline
sudo echo "cd /root/offlinefiles/" >> $sfslocate/root/.bash_profile
sudo echo "./selectlang.sh" >> $sfslocate/root/.bash_profile
fi
sudo echo "[[ -f ~/.bashrc ]] && . ~/.bashrc" >> $sfslocate/root/.bash_profile
}
@@ -103,70 +98,6 @@ function prepareISOFolder {
cp temp/airootfs.sfs iso/arch/x86_64/airootfs.sfs
}
##Function online iso create
function createOnline {
# Online ISO Procedure
#Copy important files
prepareISOFolder
sudo unsquashfs -d $sfslocate/ iso/arch/x86_64/airootfs.sfs
#Permisos de root de la imagen cambiar temporalmente
sudo chmod 777 $sfslocate/root/
sudo rm $sfslocate/root/*
#.bash_profile Online
bashprofile "Online"
#Copiar fichero instalador
sudo cp ../archinstall/downloadinstall.sh $sfslocate/root/
#Resto de modificaciones (las comunes) y cerrado del sfs
modifyimage
#Creamos la ISO
mkisofs -b isolinux/isolinux.bin -r -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -V "JKARCH-ISO" -o JKArch-Online-$yearmonth.iso iso/
sudo rm -rf iso/
echo "ISO Online creada"
}
function createOffline {
# Offline ISO Procedure
#Copy important files
prepareISOFolder
#Unsquash sfs file
sudo unsquashfs -d $sfslocate/ iso/arch/x86_64/airootfs.sfs
#Permisos de root de la imagen cambiar temporalmente
sudo chmod 777 $sfslocate/root/
sudo rm $sfslocate/root/*
#.bash_profile Offline
bashprofile "Offline"
#Create subfolder and folder at same time
sudo mkdir -p $sfslocate/root/offlinefiles/mods/
#Esta ruta es absoluta, no vale para todos los sistemas (Es "temporal")
sudo cp ../archinstall/* $sfslocate/root/offlinefiles/
sudo rm $sfslocate/root/offlinefiles/downloadinstall.sh $sfslocate/root/offlinefiles/archinstall-dev.sh
sudo cp ../mods/* $sfslocate/root/offlinefiles/mods/
#Resto de modificaciones (las comunes) y cerrado del sfs
modifyimage
#Creamos el repositorio
sudo sh depsjkarch.sh
#Lo movemos a su sitio
mkdir -p iso/repo/
mv repoofflinejkarch/* iso/repo/
rm -rf repoofflinejkarch/
#Creamos la ISO
mkisofs -b isolinux/isolinux.bin -r -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -V "JKARCH-ISO" -o JKArch-Offline-$yearmonth.iso iso/
sudo rm -rf iso/
echo "ISO Offline creada"
}
#Date for builds
today=$(date +%y%m%d)
@@ -193,13 +124,28 @@ if [[ $today != $lastdownload ]];then #Only download one time at day
fi
#Switch del argumento $1 para ver si solo se quiere crear una de las dos imagenes iso
case $1 in
"Online") createOnline;;
"Offline") createOffline;;
"")
createOnline
createOffline
;;
esac
# Create ISO Procedure
#Copy important files
prepareISOFolder
sudo unsquashfs -d $sfslocate/ iso/arch/x86_64/airootfs.sfs
#Permisos de root de la imagen cambiar temporalmente
sudo chmod 777 $sfslocate/root/
sudo rm $sfslocate/root/*
#.bash_profile
bashprofile
#Copiar fichero instalador
sudo cp ../archinstall/downloadinstall.sh $sfslocate/root/
#Resto de modificaciones (las comunes) y cerrado del sfs
modifyimage
#Creamos la ISO
mkisofs -b isolinux/isolinux.bin -r -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -V "JKARCH-ISO" -o JKArch-Online-$yearmonth.iso iso/
sudo rm -rf iso/
echo "ISO creado"
echo "Script terminado"

View File

@@ -1,11 +1,33 @@
Bienvenidos al lugar de recursos de JKArch
Bienvenidos al centro de JKArch
Para saber todo sobre la distribución de Linux basada en Arch de JKANetwork, JKArch, tenemos página web: https://jkarch.jkanetwork.com
Aquí se encuentra el instalador y configurador de JKArch. También un par de archivos con un pequeño tutorial y un FAQ
Si lo que quieres es instalar JKArch en tu equipo, es muy fácil, y como requisitos necesitas un pc de 64 bits, 1Gb de RAM y 8Gb de disco duro.
También una imagen ISO reciente de ArchLinux.
Para iniciarlo, una vez metido el disco de Arch y con una conexión a internet solo habría que ejecutar lo siguiente:
```
wget https://goo.gl/gmfrx7 -O installer.sh
bash installer.sh
```
Si tenéis problemas para escribirlo porque la distribución del teclado no está en español, ejecutad:
```
loadkeys es
```
Con ello, se iniciará la instalación del sistema operativo permitiendote elegir donde y cómo instalarlo
Hay un tutorial en desarrollo en el archivo [tuto.md](tuto.md)
JKArch es una distribución basada en Archlinux personalizable y tan minimalista como se quiera, cuya existencia radica en una instalación sencilla de Arch para todos los públicos.
Intentamos hacer Linux utilizable por cualquiera, aunque no tenga casi experiencia, y también añadiendo ciertos paquetes que no estan en Arch base, pero son muy útiles para muchos.
-
## Recomendamos leer la wiki de Archlinux para cualquier problema, es bastante extensa y útil
Aquí solo se encuentran los scripts de instalacion y ciertas modificaciones de la iso
## Si JKArch no os funciona correctamente, sentiros libres de abrir un "issue" en Gitlab

File diff suppressed because it is too large Load Diff

View File

@@ -1,29 +0,0 @@
#!/bin/bash
opt=`dialog --stdout --nocancel --backtitle "Instalacion de JKArch / JKArch installation" --title "Bienvenido a JKArch / Welcome" --menu "Para poder comenzar la instalacion, se necesita una conexion a internet. / We need an internet conection to start" 0 70 5 1 "Estoy por cable (Ethernet) /I'm using cable" 2 "Wi-Fi" 3 "Configuracion compleja (Ir a la terminal) / Other (Terminal)"`
if [[ $opt -eq 2 ]];then
wifi-menu
elif [[ $opt -eq 3 ]];then
clear
echo "Te sacamos a la terminal, configure internet, asegurese de que funcione y después escriba exit para continuar"
echo "You will go to the bash terminal, you can configure network, and then write exit"
bash
fi
clear
echo "Vamos a comprobar que tienes conexión a internet"
echo "Testing network conection"
ping 8.8.8.8 -c3
if [[ $? != 0 ]];then
clear
dialog --title "Conexión / Network " --msgbox "Error en la conexión \nse reiniciará la instalación \n\n Network error. Restarting the install.." 15 60
exec ./downloadinstall.sh
fi
wget -nv https://gitlab.com/JKANetwork/JKArch/raw/master/archinstall/selectlang.sh -O selectlang.sh
if [ $(cat selectlang.sh | grep "^<\!DOCTYPE html>") == "<\!DOCTYPE html>" ];then
clear
dialog --title "Descarga incorrecta / Corrupted download" --msgbox "La descarga del instalador ha fallado \nse reiniciará la instalación \n\n Download failed. Restarting install.." 15 60
exec ./downloadinstall.sh
fi
chmod +x selectlang.sh
exec ./selectlang.sh

View File

@@ -1,63 +0,0 @@
#
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives
#
# GENERAL OPTIONS
#
[options]
# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
#RootDir = /
#DBPath = /var/lib/pacman/
#CacheDir = /var/cache/pacman/pkg/
#LogFile = /var/log/pacman.log
#GPGDir = /etc/pacman.d/gnupg/
#HookDir = /etc/pacman.d/hooks/
HoldPkg = pacman glibc
#XferCommand = /usr/bin/curl -C - -f %u > %o
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#XferCommand = /usr/bin/aria2c --allow-overwrite=true --continue=true --file-allocation=none --log-level=error --max-tries=2 --max-connection-per-server=2 --max-file-not-found=5 --min-split-size=5M --no-conf --remote-time=true --summary-interval=60 --timeout=5 --dir=/ --out %o %u
#CleanMethod = KeepInstalled
#UseDelta = 0.7
Architecture = auto
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
#IgnorePkg =
#IgnoreGroup =
#NoUpgrade =
#NoExtract =
# Misc options
#UseSyslog
#Color
#TotalDownload
CheckSpace
#VerbosePkgLists
# By default, pacman accepts packages signed by keys that its local keyring
# trusts (see pacman-key and its man page), as well as unsigned packages.
SigLevel = Required DatabaseOptional
LocalFileSigLevel = Optional
#RemoteFileSigLevel = Required
# NOTE: You must run `pacman-key --init` before first using pacman; the local
# keyring can then be populated with the keys of all official Arch Linux
# packagers with `pacman-key --populate archlinux`.
#
# REPOSITORIES
# Repository entries are of the format:
# [repo-name]
# Server = ServerName
# Include = IncludePath
#
# The header [repo-name] is crucial - it must be present and
# uncommented to enable the repo.
#
[localjkarch]
SigLevel = Optional TrustAll
Server = file:///run/archiso/bootmnt/repo

View File

@@ -1,75 +0,0 @@
#
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives
#
# GENERAL OPTIONS
#
[options]
# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
#RootDir = /
#DBPath = /var/lib/pacman/
#CacheDir = /var/cache/pacman/pkg/
#LogFile = /var/log/pacman.log
#GPGDir = /etc/pacman.d/gnupg/
#HookDir = /etc/pacman.d/hooks/
HoldPkg = pacman glibc
#XferCommand = /usr/bin/curl -C - -f %u > %o
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#XferCommand = /usr/bin/aria2c --allow-overwrite=true --continue=true --file-allocation=none --log-level=error --max-tries=2 --max-connection-per-server=2 --max-file-not-found=5 --min-split-size=5M --no-conf --remote-time=true --summary-interval=60 --timeout=5 --dir=/ --out %o %u
#CleanMethod = KeepInstalled
#UseDelta = 0.7
Architecture = auto
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
#IgnorePkg =
#IgnoreGroup =
#NoUpgrade =
#NoExtract =
# Misc options
#UseSyslog
#Color
#TotalDownload
CheckSpace
#VerbosePkgLists
# By default, pacman accepts packages signed by keys that its local keyring
# trusts (see pacman-key and its man page), as well as unsigned packages.
SigLevel = Required DatabaseOptional
LocalFileSigLevel = Optional
#RemoteFileSigLevel = Required
# NOTE: You must run `pacman-key --init` before first using pacman; the local
# keyring can then be populated with the keys of all official Arch Linux
# packagers with `pacman-key --populate archlinux`.
#
# REPOSITORIES
# Repository entries are of the format:
# [repo-name]
# Server = ServerName
# Include = IncludePath
#
# The header [repo-name] is crucial - it must be present and
# uncommented to enable the repo.
#
[core]
Include = /etc/pacman.d/mirrorlist
[extra]
Include = /etc/pacman.d/mirrorlist
[community]
Include = /etc/pacman.d/mirrorlist
[multilib]
Include = /etc/pacman.d/mirrorlist
#JKArch Repository
[jkanetwork]
SigLevel = Optional TrustAll
Include = /etc/pacman.d/jkarch-mirrorlist

View File

@@ -1,32 +0,0 @@
#!/bin/bash
##This script only selects the installer language and, if its a online install, asks user to use stable or devel installer
idiom=`dialog --stdout --nocancel --backtitle "JKArch Instalation" --title "Language selection" --menu "Select your language / Selecciona tu idioma" 0 70 5 1 "Spanish (es)" 2 "English (en) (In progress)"`
if [[ $idiom -eq 1 ]];then
sclang="es"
loadkeys es
#LANG="es_ES.UTF-8" ; export LANG
elif [[ $idiom -eq 2 ]];then
sclang="en"
loadkeys en
#LANG="en_GB.UTF-8" ; export LANG
fi
if [[ -f translations.sh ]];then #If its a offline install (ISO)
exec ./archinstall.sh $sclang 1 #Offline
else #Online install
#Download and exec
wget -nv https://gitlab.com/JKANetwork/JKArch/raw/master/archinstall/archinstall.sh -O archinstall.sh
wget -nv https://gitlab.com/JKANetwork/JKArch/raw/master/archinstall/translations.sh -O translations.sh
if [[ $(cat archinstall.sh | grep "^<\!DOCTYPE html>") == "<\!DOCTYPE html>" || $(cat translations.sh | grep "^<\!DOCTYPE html>") == "<\!DOCTYPE html>" ]];then
clear
dialog --title "Descarga incorrecta / Corrupted download" --msgbox "La descarga del instalador ha fallado \nse reiniciará la instalación \n\n Download failed. Restarting install.." 15 60
exec ./selectlang.sh
fi
chmod +x archinstall.sh
chmod +x translations.sh
exec ./archinstall.sh $sclang 0 #Online
fi

View File

@@ -1,357 +0,0 @@
#!/bin/bash
# Translation function for the script. Loaded by source translations.sh and used by $(T "Text") returing a 'echo "Translated text"'
# For adding a language you have to add "id") echo "Translated to id language" , putting in id your language (pr, en,it, es,...)
# Example: "es") echo "Traduccion de un texto";;
# The * represents "en" language, and is the standard output if it's not translated. ( "*)" == ' "en") ' ) English is the "universal" language.
# If translation of *) is echo "$1" it means trat is equal to the case (as case is writed in abreviated English, but sometimes is the same)
function T {
case "$1" in
"JKArch install script")
case $sclang in
"es") echo "Script de instalacion de JKArch (BETA)";;
*) echo "$1";;
esac;;
"Intro arch install script")
case $sclang in
"es") echo "Mediante unas preguntas y avanzando, instalaremos arch en su ordenador \nHa sido pensado para ser simple, y guiado por opciones, pero debes estar atento durante el proceso. \nAviso: No debes interrumpir la instalacion por ningun motivo, a no ser que quieras que quede incompleta";;
*) echo "Through simple questions, we will install arch in your computer. \nIts designed to be simple and guied by options, but you need to be careful during the process. \nWarning: You musnt stop the install never, or anything can happen";;
esac;;
"Partition scheme before your changes")
case $sclang in
"es") echo "Esquema de particiones antes de los cambios";;
*) echo "$1";;
esac;;
"Your partition scheme")
case $sclang in
"es") echo "Tu esquema de particiones:";;
*) echo "${1}:";;
esac;;
"Your changes")
case $sclang in
"es") echo "Cambios que has realizado:";;
*) echo "${1}:";;
esac;;
"Press enter to continue...")
case $sclang in
"es") echo "Pulse enter para continuar...";;
*) echo "$1";;
esac;;
"Questions about partitions where system will be installed")
case $sclang in
"es") echo "Preguntas acerca de las unidades donde instalar el sistema";;
*) echo "$1";;
esac;;
"Questions about partitions dialog. Text")
case $sclang in
"es") echo "Esta parte es la mas importante, antes de seguir se mostrarán los discos duros. Si esta vacío o es nuevo, recomendamos formatear en DOS/MBR. Si sabe lo que hace, o ya usaba GPT/UEFI, tendrá que seleccionar la partición EFI, recuerdelo \n (Si lo instala junto a windows 8.1/10 de 64 bits con UEFI activado, entonces usa EFI y tendrás que seleccionar la unidad EFI/ESP que utiliza luego)";;
*) echo "This is the most important part. We will show you your partition scheme. If it's empty, please format it in DOS/MBR type. If you know what are you doing, or if you have formatted in GPT/UEFI, you will have to select EFI/ESP partition later. \n(If you install it alongside with Windows 8.1/10 64 bits with UEFI, you will be to select EFI/ESP partition that windows makes)";;
esac;;
"ERROR: You dont have HDD, insert one, poweroff")
case $sclang in
"es") echo "ERROR: No tienes discos duros, no se puede continuar. Por favor enchufe/inserte un disco duro y reinicie. \n Al pulsar aceptar se reiniciara el sistema";;
*) echo "ERROR: You dont have any HDD/SSD, setup can't continue. Plug-in some HDD/SSD and start again. When you press enter, computer will poweroff.";;
esac;;
"An error has ocurred, setup will be stopped")
case $sclang in
"es") echo "A ocurrido un error, la instalacion se va a detener. Razon: ";;
*) echo "An error has ocurred, setup will be stopped.\nReason: ";;
esac;;
"System configuration")
case $sclang in
"es") echo "Configuración de su sistema";;
*) echo "$1";;
esac;;
"Select hard disk to edit")
case $sclang in
"es") echo "Seleccione el disco duro para editar";;
*) echo "$1";;
esac;;
"Full hard disk install")
case $sclang in
"es") echo "Instalacion en un disco duro completo";;
*) echo "$1";;
esac;;
"Full hard disk install. Text")
case $sclang in
"es") echo "Ahora se le permitira escoger un disco duro para eliminar, y reemplazar por una particion para JKArch sola y sus configuraciones estandar. \nPor favor, no es reversible, asegurese de lo que estas haciendo varias veces.";;
*) echo "Now you have to select a hard disk to delete it and replace by a partition only for JKArch and standard configuration. \nIt's not reversible, please be sure of what are you doing!";;
esac;;
"Select hard disk to delete and use by JKArch")
case $sclang in
"es") echo "Elige el disco duro a borrar y cambiar por una particion Linux simple para JKArch";;
*) echo "$1";;
esac;;
"Select root ('/') partition")
case $sclang in
"es") echo "Elige la particion a usar como sistema raíz ('/')";;
*) echo "$1";;
esac;;
"Select home partition")
case $sclang in
"es") echo "Elige la particion a usar como home (/home)";;
*) echo "Select home (/home) (users) partition";;
esac;;
"Select EFI partition")
case $sclang in
"es") echo "Elige la particion EFI del sistema (Suele ser una particion de 300-500Mb en FAT32 llamada EFI, y suele estar en /dev/sda2)";;
*) echo "Select EFI partition (Normally is a 300-500Mb FAT32/vfat partition called EFI)";;
esac;;
"GPT Partition Table")
case $sclang in
"es") echo "Tabla de particiones en GPT";;
*) echo "$1";;
esac;;
"You are using GPT, you will have to select EFI")
case $sclang in
"es") echo "Estas usando el estilo de particiones GPT, que utiliza UEFI, recuerda que tendras que tener y seleccionar la particion UEFI del sistema.";;
*) echo "You are using GPT, that uses UEFI, you will have to select the EFI partition.";;
esac;;
"Not valid")
case $sclang in
"es") echo "No valido";;
*) echo "$1";;
esac;;
"¿Do you want to edit partitions?¿How?")
case $sclang in
"es") echo "¿Quieres editar las particiones?¿Como?";;
*) echo "$1";;
esac;;
"Ok, last thing before start installing, summary of changes")
case $sclang in
"es") echo "Ok, vamos a comenzar la instalacion, pero antes, un resumen de donde lo va a instalar.";;
*) echo "Ok, last thing before start installing, summary of changes we will do";;
esac;;
"If you agree with that, press enter. If not, turn off the computer")
case $sclang in
"es") echo "Si estas de acuerdo, presione enter, en caso contrario, apague el ordenador a la fuerza y no comenzará la instalación";;
*) echo "If you agree with that, press enter. If not, turn off the computer";;
esac;;
"Root partition")
case $sclang in
"es") echo "Partición raiz (/)";;
*) echo "$1";;
esac;;
"Home partition")
case $sclang in
"es") echo "Partición home (/home)";;
*) echo "$1";;
esac;;
"EFI partition in")
case $sclang in
"es") echo "Tienes una partición EFI en";;
*) echo "$1";;
esac;;
"ext4 formatted")
case $sclang in
"es") echo "formateado en ext4";;
*) echo "$1";;
esac;;
"btrfs formatted")
case $sclang in
"es") echo "formateado en btrfs";;
*) echo "$1";;
esac;;
"XFS formatted")
case $sclang in
"es") echo "formateado en XFS";;
*) echo "$1";;
esac;;
"not formatted")
case $sclang in
"es") echo "sin formatear";;
*) echo "$1";;
esac;;
"Not select")
case $sclang in
"es") echo "No elegir";;
*) echo "$1";;
esac;;
"End")
case $sclang in
"es") echo "Fin";;
*) echo "$1";;
esac;;
"Exit")
case $sclang in
"es") echo "Salir";;
*) echo "$1";;
esac;;
"Password")
case $sclang in
"es") echo "Contraseña";;
*) echo "$1";;
esac;;
"Passwords do not match")
case $sclang in
"es") echo "Las contraseñas no coinciden";;
*) echo "$1";;
esac;;
"Basic setup packages, this can take a minute")
case $sclang in
"es") echo "Paquetes basicos para la instalación, puede tardar un poco";;
*) echo "$1";;
esac;;
"Last tweaks and cleaning")
case $sclang in
"es") echo "Ultimos retoques y limpieza..";;
*) echo "$1";;
esac;;
"Setup finished, press enter to reboot.")
case $sclang in
"es") echo "Instalación finalizada, al pulsar aceptar, se reiniciara el sistema";;
*) echo "$1";;
esac;;
"Network connection error, please check it")
case $sclang in
"es") echo "Error de conexion con internet, compruebe la red";;
*) echo "$1";;
esac;;
"Select language for JKArch")
case $sclang in
"es") echo "Escoja su idioma para JKArch";;
*) echo "$1";;
esac;;
"Wait")
case $sclang in
"es") echo "Espere...";;
*) echo "Wait...";;
esac;;
"Optimizing download")
case $sclang in
"es") echo "Optimizando la descarga...";;
*) echo "${1}...";;
esac;;
"Downloading")
case $sclang in
"es") echo "Descargando";;
*) echo "$1";;
esac;;
"Installing system, this can take about 10 minutes, wait")
case $sclang in
"es") echo "Instalando el sistema, esto puede tardar unos 10 minutos, espere hasta el siguiente aviso";;
*) echo "$1";;
esac;;
"Gparted will be opened. Help text")
case $sclang in
"es") echo "Se abrira Gparted. Con el puedes editar, borrar,añadir y poner a tu gusto graficamente las particiones. \n Recuerda que al menos debe haber una particion ext4 primaria para el sistema. \n (Nota: No monte ninguna particion)";;
*) echo "Gparted will be opened. With it, you can edit, erase, add, and modify partitions. \n Remember that,at least you have to have a root ext4 partition for JKArch.\n(Note: Do not mount any partition)";;
esac;;
"JKArch autodetects swap partitions")
case $sclang in
"es") echo "JKArch detecta automaticamente las particiones swap bien creadas, no debe hacer nada mas";;
*) echo "JKArch autodetects swap partitions, you dont have to do anything";;
esac;;
"Creating swap file")
case $sclang in
"es") echo "Creando archivo swap, espere";;
*) echo "$1";;
esac;;
"Select your desktop enviroment")
case $sclang in
"es") echo "Escoje tu entorno de escritorio";;
*) echo "$1";;
esac;;
"Now select your timezone for adjusting the clock")
case $sclang in
"es") echo "Ahora seleccione su ubicacion/país para ajustar el reloj";;
*) echo "$1";;
esac;;
"Enter how much memory you want to use for swap (MB)")
case $sclang in
"es") echo "Introduzca cuanta memoria quieres usar como swap (en MB)";;
*) echo "$1";;
esac;;
"Formatting and mounting partitions")
case $sclang in
"es") echo "Formateando y montando particiones...";;
*) echo "$1";;
esac;;
"Syncing hour to internet")
case $sclang in
"es") echo "Sincronizando la hora por internet";;
*) echo "$1";;
esac;;
"No new bootloader installed")
case $sclang in
"es") echo "No se ha instalado ningun gestor de arranque nuevo en el sistema";;
*) echo "$1";;
esac;;
"No new bootloader will be installed")
case $sclang in
"es") echo "No se instalara ningun gestor de arranque nuevo en el sistema";;
*) echo "$1";;
esac;;
"Other configs")
case $sclang in
"es") echo "Otras configuraciones";;
*) echo "$1";;
esac;;
"What is your graphics card brand?")
case $sclang in
"es") echo "¿Cual es la marca de tu tarjeta grafica?";;
*) echo "$1";;
esac;;
"Repeat password")
case $sclang in
"es") echo "Repita la contrasena";;
*) echo "$1";;
esac;;
"Password for ")
case $sclang in
"es") echo "Contrasena para ";;
*) echo "$1";;
esac;;
"Installing packages")
case $sclang in
"es") echo "Instalando paquetes";;
*) echo "$1";;
esac;;
"Configuring wine for better experience")
case $sclang in
"es") echo "Configurando wine para una mejor experiencia";;
*) echo "$1";;
esac;;
"Installing desktop and basic programs, please wait")
case $sclang in
"es") echo "Instalando el entorno de escritorio y programas basicos, por favor espere";;
*) echo "$1";;
esac;;
"Your timezone:")
case $sclang in
"es") echo "Tu franja horaria:";;
*) echo "$1";;
esac;;
"No,edit")
case $sclang in
"es") echo "No, editar";;
*) echo "$1";;
esac;;
"Edit")
case $sclang in
"es") echo "Editar";;
*) echo "$1";;
esac;;
"Same as user")
case $sclang in
"es") echo "La misma";;
*) echo "$1";;
esac;;
"It's right")
case $sclang in
"es") echo "Es correcto";;
*) echo "$1";;
esac;;
"You want to edit root (admin) password or set same as user?")
case $sclang in
"es") echo "¿Quieres editar la contraseña para root (administrador) o usar la misma que el usuario?";;
*) echo "$1";;
esac;;
"You have a install log in")
case $sclang in
"es") echo "Se ha dejado un log de la instalacion en";;
*) echo "$1";;
esac;;
*) echo "$1";;
esac
}

64
faq.md Normal file
View File

@@ -0,0 +1,64 @@
# FAQ de JKArch
Primero una FAQ sobre la distribución, y más abajo, soluciones a problemas que puedan darse
## ¿Cuales son los requisitos para instalarlo?
* Un ordenador con soporte de 64 bits (Más del 95% de los ordenadores desde el 2005 tienen soporte de 64bits)
* Al menos, 1Gb de RAM para poder usarlo con soltura (512Mb de RAM impiden la correcta instalación en algunos entornos)
* 8Gb aproximadamente, pero recomendamos más de 10Gb para poder usar JKArch sin ningún problema
* En teoría, cualquier tarjeta gráfica puede correr JKArch, aunque, evidentemente no esperes correr videos FullHD con una tarjeta gráfica del 2000
* Se necesita una conexión a internet estable para la instalación del sistema operativo
## ¿Por qué existe esta distribución?
* En JKA Network somos grandes amantes de los sistemas GNU/Linux y de manera especial la distribución Archlinux gracias a su versatilidad, elegancia y sencillez interna, el unico problema que tiene es que no es fácil para la mayoria de usuarios encontrar un sistema sencillo y comodo quitando todo lo no necesario para ser utilizado, con ese objetivo nace JKArch, para hacer más facil la instalación de Archlinux y de proveer al usuario herramientas útiles que el sistema base no posee.
## Características técnicas de JKArch
* Base: Archlinux
* Entorno de escritorio:MATE personalizado
* Programas de fábrica: Octopi (Visor gráfico de paquetes, ayuda a actualizar el sistema e instalar nuevas aplicaciones), lxterminal (Terminal), jka-toolkit (Set de mini herramientas de JKANetwork/JKArch), y las básicas del entorno de escritorio
* Office, VLC, Navegador, diversas fuentes y un bloc de notas. Opcionalmente más
Repositorios: Aquí, nosotros añadimos un repositorio extra de JKANetwork, que trae varios paquetes que no están en el arch básico, como wps-office, Chrome, atom, Stepmania... (Más en [repo.jkanetwork.com](https://repo.jkanetwork.com) )
# Problemas frecuentes y soluciones
## Arranque CD EFI en negro
A veces parece que al seleccionar "JKArch UEFI" en el arranque UEFI, se queda en negro y no parece que vaya a pasar nada. Realmente esta buscando y cargando, pero no muestra nada, y en algunos casos concretos puede tardar más de 2 minutos en aparecer algo en la pantalla. Es un fallo de UEFI y la iso, solo deben esperar
## Problemas con el arranque UEFI/EFI/GPT después de la instalación
JKArch se instala y es compatible con EFI/UEFI gracias a rEFInd, que es capaz de instalarse incluso sin arranque por UEFI o junto a Windows (GRUB es incapaz de instalarse bien sin UEFI arrancado a la vez, y junto a Windows, suele tener fallos, aunque dejamos la opción)
Antes de seguir, sobretodo si usaste la opción GRUB, verifica que en el arranque de la BIOS no este la opción GRUB sin escoger, muchas veces pasa eso
Si la instalación de EFI falla, no pasa nada, es un problema con placas base si no se ha usado UEFI al arrancar.
Tenemos una solución,aunque es algo avanzada y requiere una iso de Linux con arranque por UEFI, como puede ser la última de Lubuntu de 64 bits. Entrar en ella (Arrancando por UEFI), y mirad, con gparted, cual es la partición de tu sistema, y la de EFI (Esta ultima, la llamada EFI o ESP, suele ocupar más o menos 300 mb y tener de formato fat32 y poner EFI en algún lado). Despues, debes de ir a la terminal, y desde ahi..
(Aquí como ejemplo /dev/sda2 será la partición EFI del sistema, y /dev/sda3 será la raíz de JKArch, sustituya por los tuyos)
$ sudo su
\# mount /dev/sda3 /mnt
\# mount /dev/sda2 /mnt/boot/efi/
\# mount --bind /sys /mnt/sys/
\# mount --bind /dev /mnt/dev/
\# mount --bind /proc /mnt/proc/
\# mount --bind /run /mnt/run/
\# chroot /mnt /bin/bash
\# grub-install --target=x86_64-efi --efi-directory=/boot/efi/ --bootloader-id=grub
\# grub-mkconfig -o /boot/grub/grub.cfg
Con esto, ya estará instalado de nuevo el gestor de arranque correctamente, instalará GRUB por encima de otros gestores.
## Descarga muy lenta o errores de descarga de paquetes
Esto puede deberse a que la página donde apunta el mirrorlist (Que es donde se le dice a Arch de donde bajar los paquetes esta mal
La solución más sencilla es recargar ese fichero, nosotros recomendamos hacerlo con reflector, y es tan facil como abrir la terminal y escribir lo siguiente
sudo reflector --verbose --latest 5 --sort rate --save /etc/pacman.d/mirrorlist
Nota: Si el comando no se abre y da error puede ser que no tengas instalado reflector, en este caso haz primero "apw -i reflector" o "sudo pacman -S reflector"

View File

@@ -1,13 +1,10 @@
#!/bin/bash
## Note: Some text editors in some lines its wrong the "markup color" because much '"'($) things.
sclang=$1
wget -nv https://gitlab.com/JKANetwork/JKArch/raw/master/installer/translations.sh -O translations.sh
source translations.sh
#No black screensaver
setterm -blank 0 -powerdown 0 -powersave off
#Fix para caracteres de dialog, ñ o tildes
export NCURSES_NO_UTF8_ACS=1
# Run all from /root
cd /root/
# Funtions
function pause {
echo "$(T "Press enter to continue...")"
@@ -22,10 +19,51 @@ function mostrardialog {
dialog --title "$titled" --msgbox "$msgd" 15 60
}
##This function execute the commands
function execl {
local command
if [[ $1 != "chroot" && $1 != "chuser" ]];then #If it runs normally
$*
else #There is a chroot/chuser word and we have to delete it, and then use
command=`echo "$*" | cut -d" " -f2-`
if [[ $1 = "chroot" ]];then #If it runs in the chroot
chroot /mnt /bin/bash -c "$command"
elif [[ $1 = "chuser" ]];then #If it has to run in the created user in chroot
chroot /mnt /bin/bash -c "su $nameuser -c \"$command\" "
fi
fi
}
## This function shows messages to the user in a better way, and logs it
## $1 -> Sentence to show
## $2 -> Start(1) /Finish(2)
function showdo {
statusc=$?
local sentence
local place
sentence="$1"
place=$2
# Check for multisentence command for showing start of command
if [[ $place = 1 ]];then
echo "[RUNNING] $1"
elif [[ $place = 2 ]];then # When command finish, know if it ran succesfully
if [[ $statusc != "0" ]];then
echo "[FAILED] $1"
echo "[FAILED] $1" >> /tmp/install.log
else
echo "[ OK ] $1"
echo "[ OK ] $1" >> /tmp/install.log
fi
else
echo "[ RUN ] $1"
fi
}
function yesnobox {
local title=$1
#Return Y or N
echo `dialog --stdout --nocancel --menu "$title" 0 0 4 Y "$(T "Yes")" N "No"`
#Exit code is 0 for Yes, and 1 for no
dialog --nocancel --yes-label "$(T "Yes")" --yesno "$title" 0 0
}
function fatalerror {
@@ -47,40 +85,6 @@ function pacmanerror {
fi
}
##This function logs and execute commands
function execl {
local command
echo "------" >> "/tmp/install.log"
if [[ $1 != "chroot" && $1 != "chuser" ]];then #If it runs normally
command="$1"
for (( i=2; i<=$#; i++ ))
do
command="$command $(echo $* | cut -f$i -d" ")"
done
echo "$command" >> "/tmp/install.log"
$command
else #There is a "First word", avoid it
for (( i=2; i<=$#; i++ ))
do
command="$command $(echo $* | cut -f$i -d" ")"
done
fi
if [[ $1 = "chroot" ]];then #If it runs in chroot
echo "(In the install partition/chroot) $command" >> "/tmp/install.log"
chroot /mnt /bin/bash -c "$command"
elif [[ $1 = "chuser" ]];then #If it has to run in chroot but in the user name
echo "(In a 'user' chroot in install partition) $command" >> "/tmp/install.log"
chroot /mnt /bin/bash -c "su $nameuser -c \"$command\" "
fi
#Log result of the command
if [[ $? == 0 ]];then
echo "Result Ok " >> "/tmp/install.log"
else
echo "Error: Code $?" >> "/tmp/install.log"
fi
}
##Function for show to the user if an option is on or off
function optstate {
@@ -101,16 +105,16 @@ function particiones {
mostrardialog "ERROR" "$(T "ERROR: You dont have HDD, insert one, poweroff")"
reboot
fi
optpa=`dialog --stdout --nocancel --menu "$(T "¿Do you want to edit partitions?¿How?")" 0 0 5 1 "Grafico con Gparted (Recomendado)" 2 "Terminal (Pequeño asistente o por tu cuenta)" 3 "Borrar un disco duro e instalar JKArch en el (usar con cuidado!)" 4 "No editar nada"`
optpa=`dialog --stdout --nocancel --menu "$(T "¿Do you want to edit partitions?¿How?")" 0 0 5 1 "Grafico con Gparted (Recomendado)" 2 "Terminal (Avanzado. Con cfdisk o por tu cuenta)" 3 "Borrar un disco duro e instalar JKArch en el (Usar con cuidado!)" 4 "No editar nada"`
case $optpa in
1)
#Abrir gparted grafico
mostrardialog "Gparted" "$(T "Gparted will be opened. Help text")"
startx;;
gparted;;
2)
#Terminal
echo $(T "Select hard disk to edit")
echo "Aviso, el soporte a GPT no es del 100%, si no vas a instalar mas SO y tu HDD no tiene mas de 2Tb, elija MBR/DOS"
echo "Aviso, si no tienes más Sistemas Operativos, tu hdd es de menos de 2Tb y tienes que particionar desde cero, elija MBR/DOS en vez de GPT"
lsblk --output NAME,KNAME,FSTYPE,SIZE,LABEL
options=($(lsblk --output KNAME | cut -c1-3 | sort | uniq | sed '1d' | grep 'sd\|hd') "No editar" "Terminal")
select opt in "${options[@]}"
@@ -137,7 +141,7 @@ function particiones {
case $opt in
"$(T "Exit")")
mostrardialog "Instalacion detenida" "Se detuvo la instalacion. No se hicieron cambios. Al aceptar, reiniciara la instalacion"
exec ./selectlang.sh
exec ./$0
;;
*)
if [[ -z $opt ]];then
@@ -167,7 +171,7 @@ function particiones {
break;;
*)
mostrardialog "Instalacion detenida" "Se detuvo la instalacion. No se hicieron cambios. Al aceptar, reiniciara la instalacion"
exec ./selectlang.sh
exec ./installer.sh
;;
esac
fi;;
@@ -249,11 +253,11 @@ function particiones {
;;
esac
if [[ $formatoraiz -eq "mkfs.btrfs -f" ]];then
if [[ $formatoraiz != "mkfs.btrfs -f" ]];then
mostrardialog "No swapfile" "Es contraproducente hacer un fichero swap en una particion btrfs, no debes hacerlo, pero si antes creaste una particion swap, se puede utilizar"
fi
ram=$(free -m | grep Mem: | awk '1 {print $2 }')
optswap=`dialog --stdout --nocancel --menu "¿Quieres crear un archivo swap (Memoria virtual)?" 0 0 4 1 "Si (Con valores por defecto, recomendado)" 2 "Si (Valores a mano)" 3 "Si, pero con una particion que ya cree" 4 "No"`
optswap=`dialog --stdout --nocancel --menu "¿Quieres crear un archivo swap (Memoria virtual)?" 0 0 4 1 "Si (Valores automáticos, recomendado)" 2 "Si (Valores a mano)" 3 "Si, en una particion que ya cree" 4 "No"`
case $optswap in
1)
# This count the ammount of swap to create dependent of computer RAM
@@ -301,7 +305,7 @@ function particiones {
## Date and language
function horaidioma {
while [[ $confirm != "Y" ]];do
while [[ $confirm != "0" ]];do
varx="" #Empty var
langs=$(cat /etc/locale.gen | grep '^#[a-zA-Z]' | cut -f1 -d" " | cut -c2-30 | sort | uniq)
for addr in $(echo $langs | tr " " "\n")
@@ -316,14 +320,17 @@ function horaidioma {
langinst=$(cat /etc/locale.gen | grep -m1 '^#'$opclang | cut -c2-40)
#Confirm
confirm=`yesnobox "$(T "Your language:") $opclang. Correcto?"`
yesnobox "$(T "Your language:") $opclang. Correcto?"
confirm=$? # 0->Yes
done #End of selecting lang
confirm="" #Erase var
echo "$(T "Now select your timezone for adjusting the clock")"
while [[ $confirm != "Y" ]];do
while [[ $confirm != "0" ]];do # 0->Yes
clear
NEW_TIMEZONE=$(execl tzselect)
confirm=`yesnobox "$(T "Your timezone is") $NEW_TIMEZONE ?"`
yesnobox "$(T "Your timezone is") $NEW_TIMEZONE ?"
confirm=$? # 0->Yes
done
confirm="" #Erase var
}
@@ -367,21 +374,21 @@ function userpass {
##Interactive function for make user select some things (apps)
function appsuser {
clear
optbr=`dialog --stdout --nocancel --menu "¿Que navegador web utilizas?" 0 0 4 1 "Firefox" 2 "Chromium" 3 "Opera"`;
optbr=`dialog --stdout --nocancel --menu "¿Que navegador web utilizas?" 0 0 4 1 "Firefox" 2 "Chromium (Chrome)" 3 "Opera"`;
case $optbr in
1) packages="$packages firefox";;
2) packages="$packages chromium";;
3) packages="$packages opera";;
esac
confirm=`yesnobox "Habilitar soporte bluetooth?"`
if [[ $confirm == "Y" ]];then
yesnobox "Habilitar soporte bluetooth?"
if [[ $? == "0" ]];then
packages="$packages bluez bluez-utils bluez-cups bluez-firmware bluez-libs blueberry "
fi
confirm=`yesnobox "Habilitar compatibilidad programas Windows (Usando wine)?"`
if [[ $confirm == "Y" ]];then
yesnobox "Habilitar compatibilidad programas Windows (Usando wine)?"
if [[ $? == "0" ]];then
packages="$packages wine-staging wine_gecko winetricks"
packages="$packages lib32-libpng lib32-libldap lib32-gnutls lib32-mpg123 lib32-libpulse lib32-ncurses lib32-openal lib32-alsa-lib lib32-gst-plugins-base-libs" #Some 32bit libs for winearch 32 work better
packages="$packages lib32-libpng lib32-libldap lib32-gnutls lib32-mpg123 lib32-libpulse lib32-ncurses lib32-openal lib32-alsa-lib lib32-gst-plugins-base-libs gnome-exe-thumbnailer samba" #Some 32bit libs for winearch 32 work better, and thumbs for .exe (samba needed too)
inswine=1
fi
@@ -411,15 +418,14 @@ function installconf {
execl mount /dev/$partefi /mnt/boot/efi/
fi
# Download or install base system.
wget -nv https://gitlab.com/JKANetwork/JKArch/raw/master/installer/pacman.conf -O pacman.conf
#JKArch Mirrorlist needed
wget -nv https://mirror.jkanetwork.com/Arch-repository/jkarch-mirrorlist -O /etc/pacman.d/jkarch-mirrorlist
isanetworkerror # Comprueba si hubo un error de descarga
# Download and install base system.
tput setaf 2 ; echo "$(T "Downloading")" ; tput setaf 9
#Install base and disk format drivers. Reflector and rsync is for updating mirrorlist later
execl pacstrap -C pacman.conf /mnt/ base jkarch-mirrorlist reflector rsync dosfstools ntfs-3g btrfs-progs exfat-utils
execl pacstrap -C pacman.conf /mnt/ base jkarch-mirrorlist reflector rsync dosfstools ntfs-3g btrfs-progs exfat-utils systemd-swap
pacmanerror
# Copy pacman.conf
execl cp pacman.conf /mnt/etc/pacman.conf
# Create fstab
execl genfstab -U /mnt > /mnt/etc/fstab
@@ -447,20 +453,29 @@ function installconf {
#
# Var allpackages have in this moment all the packages selected by user, and will be the install packages list for pacman #
# Do allpackages var contain base packages and NTP daemon (Hour sync)
allpackages=$allpackages" jka-toolkit git wget netctl iw wpa_supplicant dialog sudo alsa-utils bash-completion ntp"
# Do allpackages var contain base packages, NTP (Clock sync) and jkarch needed files
allpackages=$allpackages" jka-toolkit jkarch-data git wget netctl iw wpa_supplicant dialog sudo alsa-utils bash-completion ntp"
#Mate desktop and apps
allpackages=$allpackages" mate gtk-engine-murrine mate-media"
allpackages=$allpackages" xorg-server xorg-xinit xorg-server-common xf86-input-libinput xterm lightdm lightdm-gtk-greeter gvfs gvfs-mtp gvfs-smb gvfs-afc udisks2 networkmanager network-manager-applet gnome-keyring xdialog lxterminal ttf-inconsolata octopi octopi-notifier gksu pulseaudio pavucontrol xdg-user-dirs jkarch-appearance xfce4-power-manager lxtask"
allpackages=$allpackages" xfce4 gtk-engine-murrine faenza-icon-theme xfce4-notifyd xfconf gtk-xfce-engine"
allpackages=$allpackages" xorg-server xorg-xinit xorg-server-common xf86-input-libinput xterm lightdm lightdm-gtk-greeter gvfs gvfs-mtp gvfs-smb gvfs-afc udisks2 networkmanager network-manager-applet gnome-keyring xdialog lxterminal ttf-inconsolata octopi octopi-notifier gksu pulseaudio pavucontrol xdg-user-dirs xfce4-power-manager lxtask xfce4-whiskermenu-plugin xfce4-pulseaudio-plugin"
# Standard packages
allpackages="$allpackages flashplugin evince ristretto librsvg gnome-calculator gnome-disk-utility file-roller lrzip p7zip unace unrar tumbler poppler-glib ffmpegthumbnailer libgsf notepadqq leafpad libreoffice-fresh vlc qt4 noto-fonts noto-fonts-cjk noto-fonts-emoji ttf-dejavu ttf-liberation ttf-ms-fonts"
allpackages="$allpackages flashplugin pepper-flash evince ristretto librsvg gnome-calculator gnome-disk-utility file-roller lrzip p7zip unace unrar tumbler poppler-glib ffmpegthumbnailer libgsf notepadqq leafpad libreoffice-fresh vlc qt4 noto-fonts noto-fonts-cjk noto-fonts-emoji ttf-dejavu ttf-liberation ttf-roboto ttf-ms-fonts"
# Video pkgs
allpackages=$allpackages" "$(pacman -Ssq xf86-video-*)
# If spanish, add spanish lang
if [[ $sclang == "es" ]];then
allpackages="$allpackages libreoffice-fresh-es firefox-i18n-es-es"
fi
#Printers and scanners
allpackages="$allpackages foomatic-db-engine foomatic-db foomatic-db-ppds hplip xsane cups cups-filters cups-pk-helper system-config-printer gtk3-print-backends"
allpackages="$allpackages foomatic-db-engine foomatic-db foomatic-db-ppds hplip xsane cups cups-filters cups-pk-helper system-config-printer gtk3"
# Before install, configure mirrorlist
execl chroot reflector --verbose -l 6 --sort rate --save /etc/pacman.d/mirrorlist
# Here, allpackages have the user selected packages because selected before. Then, install it
execl chroot pacman -Syu $allpackages --noconfirm --needed
@@ -478,10 +493,6 @@ function installconf {
execl chroot hwclock --systohc --utc
execl chroot systemctl enable ntpd
# User and desktop skel
wget -nv https://gitlab.com/JKANetwork/JKArch/raw/master/mods/skel.tar.xz -O- | tar xJf - -C /mnt/
wget -nv https://gitlab.com/JKANetwork/JKArch/raw/master/mods/MATE.tar.xz -O- | tar xJf - -C /mnt/
# Create user
execl chroot useradd -m -G wheel -s /bin/bash $nameuser
echo "${nameuser}:${passuser}" | execl chroot chpasswd
@@ -495,17 +506,16 @@ function installconf {
# Add sudo support for wheel users like user added
sed -i "s/\# %wheel ALL=(ALL) ALL/%wheel ALL=(ALL) ALL/g" /mnt/etc/sudoers
# User directory (Photos, Desktop..) create
# User directory creation (Photos, Desktop..)
execl chroot xdg-user-dirs-update
execl chuser xdg-user-dirs-update
# Turn on some services
showdo "Enabling services"
execl chroot systemctl enable lightdm
execl chroot systemctl enable NetworkManager
execl chroot systemctl enable dhcpcd
# Enable cupsd service for printing
if [[ $cups = "1" ]];then
execl chroot systemctl enable org.cups.cupsd
fi
execl chroot systemctl enable systemd-swap #Swap detection
execl chroot systemctl enable org.cups.cupsd #Enable cupsd service for printing
# Configure wine if neccesary
if [[ $inswine = "1" ]];then
@@ -525,8 +535,8 @@ function installconf {
# Linux kernel
execl chroot mkinitcpio -p linux #Hacemos el mkinitcpio después de tener instalados los gráficos
confirm=`yesnobox "¿Instalar gestor de arranque? (Pulsar SI a no ser que sepas lo que haces)"`
if [[ $confirm == "Y" ]];then
yesnobox "¿Instalar gestor de arranque? (Pulsar SI a no ser que sepas lo que haces)"
if [[ $? == "0" ]];then
# Install and configure bootloader GRUB/rEFInd
if [[ -z $partefi ]];then #If it dont have EFI
execl chroot pacman -S grub os-prober --noconfirm
@@ -550,9 +560,10 @@ function installconf {
# Clean pacman
echo "$(T "Cleaning")"
showdo "$(T "Cleaning")"
execl chroot rm -rf $sfslocate/var/cache/pacman/pkg/*
execl chroot pacman -Sc --noconfirm
} # Fin installconf
@@ -604,44 +615,95 @@ function keyboardlayout {
##End of declaring functions, start of script
#Prepare system before install
mostrardialog "$(T "JKArch install script")" "Preparando el sistema para la instalacion"
#Grow cowspace
sudo -S mount -o remount,size=700M /run/archiso/cowspace
#Enable pacman
pacman-key --init
pacman-key --populate
#Update keyring
sudo pacman -Sy archlinux-keyring --noconfirm
pacman -S reflector --noconfirm
sudo reflector --verbose -l 6 --sort rate --save /etc/pacman.d/mirrorlist
#Delete programs (For not updating it)
sudo pacman -R clonezilla darkhttpd diffutils grml-zsh-config irssi linux-atm lvm2 man-db man-pages mc ndisc6 nmap smartmontools testdisk vi vim vim-runtime zsh openconnect pcsclite python2 python reflector --noconfirm
sudo rm -rf /var/cache/pacman/pkg/*
#Needed progs (gparted)
sudo pacman -S gparted xf86-video-vesa xorg-xinit lwm --noconfirm
sudo rm -rf /var/cache/pacman/pkg/*
#Update progs
sudo pacman -Su --noconfirm --ignore linux #Do not upgrade kernel automatically
sudo rm -rf /var/cache/pacman/pkg/*
sudo rm /etc/X11/xinit/xinitrc
sudo touch /etc/X11/xinit/xinitrc
sudo chmod 777 /etc/X11/xinit/xinitrc
sudo echo "#Start gparted with startx command" > /etc/X11/xinit/xinitrc
sudo echo "lwm & gparted" >> /etc/X11/xinit/xinitrc
sudo chmod 644 /etc/X11/xinit/xinitrc
sudo rm -rf /var/cache/pacman/pkg/*
# Prepare system for install
if [[ ! -f "jkarch" ]];then
#Prepare system before install
dialog --title "JKArch install script" --msgbox "Starting installation, please wait" 15 60
# First add exec permisson to me
chmod +x installer.sh
# Grow cowspace
showdo "Grow cowspace for installer"
execl mount -o remount,size=700M /run/archiso/cowspace
# Download JKArch scripts and data...
showdo "Downloading JKArch scripts and data" "1"
wget -nv https://gitlab.com/JKANetwork/JKArch/raw/master/installer/translations.sh -O /root/translations.sh ; isanetworkerror
wget -nv https://gitlab.com/JKANetwork/JKArch/raw/master/installer/pacman.conf -O /root/pacman.conf ; isanetworkerror
wget -nv https://mirror.jkanetwork.com/Arch-repository/jkarch-mirrorlist -O /etc/pacman.d/jkarch-mirrorlist ; isanetworkerror #Goes to live image for download better base things
showdo "Downloaded JKArch scripts and data" "2"
#Enable pacman
showdo "Configuring pacman" "1"
execl pacman-key --init
execl pacman-key --populate
execl pacman -Sy archlinux-keyring --noconfirm
showdo "Configuring pacman" "2"
showdo "Updating mirrors" "1"
execl pacman -S reflector --noconfirm
execl reflector --verbose -l 6 --sort rate --save /etc/pacman.d/mirrorlist
showdo "Updated mirrors" "2"
showdo "Removing and installing live programs to start installation" "1"
#Delete programs (For not updating it)
pacman -R clonezilla darkhttpd diffutils grml-zsh-config irssi linux-atm lvm2 man-db man-pages mc ndisc6 nmap smartmontools testdisk vi vim vim-runtime openconnect pcsclite python2 python reflector --noconfirm
rm -rf /var/cache/pacman/pkg/*
#Needed progs (gparted)
pacman -S gparted xf86-video-vesa xorg-xinit lwm xorg-xrandr xorg-xsetroot xterm --noconfirm ; pacmanerror
rm -rf /var/cache/pacman/pkg/*
#Update progs
pacman -Su --noconfirm --ignore linux #Do not upgrade kernel automatically
rm -rf /var/cache/pacman/pkg/*
showdo "Prepared live image to start installation" "2"
rm /etc/X11/xinit/xinitrc
touch /etc/X11/xinit/xinitrc
chmod 777 /etc/X11/xinit/xinitrc
echo "#Start gparted with startx command" > /etc/X11/xinit/xinitrc
echo "lwm &" >> /etc/X11/xinit/xinitrc
echo "xrandr -s 1024x768 -r 60" >> /etc/X11/xinit/xinitrc
echo "xsetroot -solid lightskyblue4" >> /etc/X11/xinit/xinitrc
echo "xterm -e '/root/installer.sh' -geometry 120x35" >> /etc/X11/xinit/xinitrc
chmod 644 /etc/X11/xinit/xinitrc
rm -rf /var/cache/pacman/pkg/*
# No black screensaver
setterm -blank 0 -powerdown 0 -powersave off
# Fix for some chars
export NCURSES_NO_UTF8_ACS=1
# System prepared, now start installer
touch /root/jkarch
startx
#Exit this.
exit
fi
## Start install
# Load translations
source translations.sh
#First of all, the language
idiom=`dialog --stdout --nocancel --backtitle "JKArch Instalation" --title "Language selection" --menu "Select your language / Selecciona tu idioma" 0 70 5 1 "Spanish (es)" 2 "English (en) (In progress)"`
if [[ $idiom -eq 1 ]];then
sclang="es"
loadkeys es
elif [[ $idiom -eq 2 ]];then
sclang="en"
loadkeys en
fi
#Start install
clear
mostrardialog "$(T "JKArch install script")" "$(T "Intro arch install script")"
mostrardialog "JKArch" "El script esta en estado beta y puede haber fallos. En caso de fallo, vuelva a probar en unas horas o con la versión offline.\nTambien podeis mandarnos un correo a contacto@jkanetwork.com y usar el log guardado en /tmp"
mostrardialog "JKArch" "El script esta en estado beta y puede haber fallos. En caso de fallo, vuelva a probar en unas horas.\nTambien podeis mandarnos un correo a contacto@jkanetwork.com y usar el log guardado en /tmp, describiendo que sucedio"
echo "Desmontando posibles particiones"
umount /mnt/boot/efi/
@@ -653,9 +715,6 @@ umount /mnt/
particiones
horaidioma
#Graficos (Falta la parte de VM)
allpackages=$allpackages" "$(pacman -Ssq xf86-video-*)
#Aqui va la personalizacion de programas, ya que son graficos.
appsuser
@@ -664,14 +723,8 @@ userpass
clear
# Resumen de los cambios
tput setaf 6
echo "$(T "Ok, last thing before start installing, summary of changes")"
echo "$(T "Partition scheme before your changes")"
tput setaf 9
lsblk --output NAME,KNAME,FSTYPE,SIZE,LABEL
tput setaf 6
echo "$(T "Your changes")"
tput setaf 9
# Vars before the dialog
case $formatoraiz in
"mkfs.ext4 -F")
mosfraiz="$(T "ext4 formatted")";;
@@ -682,8 +735,6 @@ case $formatoraiz in
"echo No formatear ")
mosfraiz="$(T "not formatted")";;
esac
echo "$(T "Root partition"): $particionraiz , $mosfraiz"
if [[ $particionhome ]];then
case $formatohome in
"mkfs.ext4 -F")
mosfhome="$(T "ext4 formatted")";;
@@ -694,12 +745,6 @@ case $formatohome in
"echo No formatear ")
mosfhome="$(T "not formatted")";;
esac
echo "$(T "Home partition"): $particionhome , $mosfhome"
fi
if [[ $partefi ]];then
echo "$(T "EFI partition in") $partefi"
fi
# Log options
echo "------" >> "/tmp/install.log"
echo "Install partition options" >> "/tmp/install.log"
@@ -708,34 +753,31 @@ if [[ $mosfraiz != "$(T "not formatted")" ]];then
else
echo "Root partition $particionraiz not formatted" >> "/tmp/install.log"
fi
tamraiz=`lsblk /dev/$particionraiz --noheadings --output SIZE`
if [[ $particionhome ]];then
if [[ $mosfhome != "$(T "not formatted")" ]];then
echo "Format $mosfhome the partiton $particionhome for /home" >> "/tmp/install.log"
else
echo "Home partition $particionhome not formatted" >> "/tmp/install.log"
fi
tamhome=`lsblk /dev/$particionhome --noheadings --output SIZE`
fi
#
#For do output in multiline, lsblk has to be in a var for echoing with " "
# Make the question
dialog --nocancel --stdout --yes-label "Si, instalar" --no-label "No, volver a empezar" --yesno "$(T "Ok, last thing before start installing, summary of changes")\n \
$(T "Your changes") \n \
$(T "Root partition"): $particionraiz, de $tamraiz , $mosfraiz \n \
$(if [[ $particionhome ]];then echo $(T "Home partition"): $particionhome, de $tamhome, $mosfhome;fi) \n \
$(if [[ $partefi ]];then echo $(T "EFI partition in") $partefi;fi) \n \
¿Estas de acuerdo con los cambios y quieres comenzar la instalacion?" 0 0
#Pregunta si instalar o no
tput setaf 1
echo "¿Estas de acuerdo con los cambios y quieres comenzar la instalacion?"
options=("No, volver a empezar" "Si, instalar" "No, apagar el ordenador")
select opt in "${options[@]}"
do
case $opt in
"No, volver a empezar")
if [[ $? == "1" ]];then #If say no, reset install
rm /tmp/install.log
exec ./selectlang.sh
break;;
"Si, instalar") break;;
"No, apagar el ordenador")
poweroff
exec ./installer.sh
exit
;;
esac
done
fi
tput setaf 9
# Real install

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,72 +0,0 @@
#!/bin/bash
function pause {
echo "Pulse enter para continuar..."
read
}
function mostrardialog {
local titled
local msgd
titled=$1
msgd=$2
Xdialog --title "$titled" --msgbox "$msgd" 15 60
}
## ESTA EN PROCESO, ESTE SCRIPT NO HACE NADA ACTUALMENTE
exit
optb=`dialog --stdout --checklist "¿Editores de texto y/o office?" 0 0 6 1 "Libreoffice" on 2 "AbiWord" off 3 "Gnumeric" off 4 "WPS Office" off 5 "leafpad (Bloc de notas)" on 6 "gedit" off 7 "notepadqq" off`
case $optb in
*1*)
packb="libreoffice-fresh";;&
*2*)
packb="$packb abiword";;&
*3*)
packb="$packb gnumeric";;&
*4*)
packb="$packb wps-office";;&
*5*)
packb="$packb leafpad";;&
*6*)
packb="$packb gedit";;&
*7*)
packb="$packb notepadqq";;&
esac
pacman -S $packb --noconfirm
clear
optentorno=`dialog --stdout --nocancel --menu "Escoje tu entorno de escritorio" 0 0 5 1 "LXDE (Muy liviano)" 2 "XFCE (Liviano y bonito)" 3 "Cinnamon (Facil para antiguos usuarios de Windows)" 4 "Gnome (Complejo, pero practico)" 5 "Plasma/KDE (Pesado aunque bonito) " 6 "No instalar nada, solo la terminal de comandos"`
case $optentorno in
1)
pacman -S lxde --noconfirm
#Quitar paquetes no necesarios para correr lxde
pacman -R lxmusic lxlauncher lxdm --noconfirm
instentorno=1
break
;;
2)
pacman -S xfce4 --noconfirm
instentorno=1
break
;;
3)
pacman -S cinnamon --noconfirm
instentorno=1
break
;;
4)
pacman -S gnome --noconfirm
instentorno=1
break
;;
5)
pacman -S plasma --noconfirm
pacman -R plasma-mediacenter ksshaskpass --noconfirm
instentorno=1
break
;;
6)
break
;;
esac

71
tuto.md Normal file
View File

@@ -0,0 +1,71 @@
---
Title: Tutorial de instalación
Description: JKArch, la distribución Linux basada en Arch lista para usar!
social:
- title: Visit us on GitLab
url: https://gitlab.com/JKANetwork/JKArch
icon: octocat
---
# Tutorial JKArch (En progreso)
En este tutorial abordaremos, primero para los que no sepan, un poco sobre particiones y Linux, y luego, la instalación en si
En el FAQ hay respuestas a problemas que puedan darse al instalar JKArch
Los que sepan algo ya sobre particiones y Linux pueden ir hasta la parte de "Instalación"
## Introducción a Linux y particiones
Esta introducción pretende simplificar a la gente que no conoce acerca de linux y las particiones para que resulte más sencillo de entender y dar el paso.
(Como aclaración, cuando hablemos de Linux, hablamos de distribuciones basadas en Linux y no del Linux Kernel, centro de todas las distribuciones Linux, ya que sería más complejo de explicar.)
Linux, es, como Windows, otro sistema operativo, pero con grandes diferencias, a las que yo llamaría ventajas. Linux es más rapido (al ser más optimizado en cuando a "extras"), muy muy personalizable (Desde la barra de tareas, color de ventanas, exploradores, interfaces..), tiene un sistema de gestión de programas y actualizaciones que Windows no tiene, en Linux siempre puedes actualizar todo con un simple comando (o botón). Aunque siempre se dice que Linux es "para geeks", o para gente que le gusta esas terminales negras y blancas con letras, se puede usar Linux perfectamente entendiendo poco, ya que hay interfaces gráficas para casi todas las cosas que lo hacen todo muy simple
Claro, Linux también tiene desventajas, pero acaso Windows no se cuelga cada dos por tres? Ningún sistema operativo es perfecto, pero creemos que Linux esta mucho más cerca. También somos conscientes de que Linux aun no esta tan maduro como para servir para jugones, pero está cada vez más cerca.
__Particiones:__ Las particiones son, los trozos en los que esta dividido un disco duro (que es donde tienes todos tus datos), normalmente, en Windows, lo ves como C, o como C y D . Eso son divisiones de tu disco duro, donde almacenas tus cosas. Linux tiene, y necesita de sus propias divisiones, al igual que Windows. Suena dificil? Para eso hay programas graficos y simples como Gparted, que hacen que modificar esas divisiones sea muy fácil.
## Instalación
(Antes de comenzar debemos advertir que las configuraciones GPT/EFI son experimentales y pueden fallar aunque nomalmente funcionan bien. Si usa EFI, en el FAQ tenemos soluciones a problemas que puedan darse)
Entramos en el meollo de la cuestión, instalar JKArch
**Cuando tengamos ISOs propias, esta parte será actualizada**
Para ello, hay que descargar la imagen de Archlinux (en el "Home" de la web está), y grabarla en un CD (Recomendamos "[CDBurner XP](https://cdburnerxp.se/es/home)" o "[Astroburn lite](http://www.astroburn.com/spa/home)" en los apartados de grabación de imagen correspondientes, y si usa Linux, Brasero o K3b)
_Si prefiere utilizar un USB (que debe estar vacío) puede hacerlo usando progarmas simples como [Lili USB Creator](http://www.linuxliveusb.com/) o [Etcher](http://www.etcher.io/) para ello._
Cuando lo tenga, reinicie su ordenador y arranque desde el disco. (Nota: Si usa UEFI/EFI ya actualmente,como en algunos ordenadores nuevos con Windows, es recomendable arrancar en modo uefi)
Una vez que arranque, si su conexión a internet es por cable, pase al siguiente párrafo, pero si es por wifi, primero debe ejecutar "wifi-menu" para conectarse a internet.
Con ello, escriba lo siguiente para entrar en el instalador:
```
wget https://goo.gl/gmfrx7 -O installer.sh
bash installer.sh
```
La parte más importante es la selección de las particiones. El sistema debe tener una particion para Linux, que puedes hacer con Gparted desde la propia imagen sin problemas. Aconsejamos ponerle una "etiqueta" a la partición del sistema.
Después de crear tus particiones, se mostrarán tus discos duros con sus particiones. Deberás seleccionar primero que disco duro vas a usar
Se te pedirá que partición del disco duro es la que vas a usar para JKArch y en que sistema de archivos la quieres (Recomendamos ext4). Tras
esto, nos hará las mismas preguntas si queremos separar la partición de datos de usuario /home. Para usuarios novatos es mejor que no la separéis.
Después te hará algunas preguntas sobre el idioma, zona horaria y el navegador que deseas.
Te mostrará los cambios que se harán, y al aceptar, comenzará la instalación. Puede tardar un rato largo dependiendo de su conexión a internet, espere hasta que le indique el instalador.
Al finalizar la instalación de programas, se le preguntara acerca de la instalación del gestor de arranque, a no ser que tenga algo pensado, debería decir que si, para poder arrancar Linux tras la instalación.
Después, se le mostrarán diversos ajustes opcionales que puede hacer si lo desea, y con ello, terminará la instalación, y se reiniciará el ordenador preparado para poder ser usado con JKArch!
Ahora, cuando su ordenador arranque, dependiendo del gestor de arranque:
__GRUB:__ Deberá seleccionar la opción "Arch Linux" en el menú
__rEFInd:__ Deberá seleccionar la opción que dice "Boot boot\vmlinuz-linux" con el icono de Archlinux en el menú