Merge branch 'nolearning' into src

This commit is contained in:
MatMoul 2015-10-10 21:29:06 +02:00
commit 1301b1e9f7
2 changed files with 15 additions and 335 deletions

64
archfi
View file

@ -88,15 +88,11 @@ chooselanguage(){
loadstrings loadstrings
else else
eval $(curl -L $baseurl/lng/$sel | sed '/^#/ d') eval $(curl -L $baseurl/lng/$sel | sed '/^#/ d')
#if [ "$learning" = "1" ]; then
# eval $(curl -L $baseurl/learn/$sel | sed '/^#/ d')
#fi
fi fi
fi fi
} }
setkeymap(){ setkeymap(){
learn setkeymap
#items=$(localectl list-keymaps) #items=$(localectl list-keymaps)
#options=() #options=()
#for item in $items; do #for item in $items; do
@ -115,7 +111,9 @@ setkeymap(){
3>&1 1>&2 2>&3) 3>&1 1>&2 2>&3)
if [ "$?" = "0" ]; then if [ "$?" = "0" ]; then
clear clear
echo "loadkeys $keymap"
loadkeys $keymap loadkeys $keymap
pressanykey
fi fi
} }
@ -123,7 +121,6 @@ help(){
msg="" msg=""
msg=$msg"Command arguments :\n" msg=$msg"Command arguments :\n"
msg=$msg" -h --help : Show this help message\n" msg=$msg" -h --help : Show this help message\n"
msg=$msg" -l --learning : Show learning messages for each operations.\n"
msg=$msg"\n" msg=$msg"\n"
whiptail --backtitle "$apptitle" --title "$txthelp" --msgbox "$msg" 0 0 whiptail --backtitle "$apptitle" --title "$txthelp" --msgbox "$msg" 0 0
} }
@ -137,8 +134,8 @@ showchangelog(){
rebootpc(){ rebootpc(){
if (whiptail --backtitle "$apptitle" --title "$txtreboot" --yesno "$txtreboot ?" --defaultno 0 0) then if (whiptail --backtitle "$apptitle" --title "$txtreboot" --yesno "$txtreboot ?" --defaultno 0 0) then
learn reboot
clear clear
echo "reboot"
reboot reboot
fi fi
} }
@ -149,7 +146,6 @@ rebootpc(){
# -------------------------------------------------------- # --------------------------------------------------------
diskpartmenu(){ diskpartmenu(){
if [ "$1" = "" ]; then if [ "$1" = "" ]; then
learn diskpart
nextitem="." nextitem="."
else else
nextitem=$1 nextitem=$1
@ -204,7 +200,6 @@ diskpartmenu(){
diskpartautodos(){ diskpartautodos(){
learn diskpartautodos
items=$(lsblk -d -p -n -l -o NAME -e 7,11) items=$(lsblk -d -p -n -l -o NAME -e 7,11)
options=() options=()
for item in $items; do for item in $items; do
@ -217,18 +212,28 @@ diskpartautodos(){
if (whiptail --backtitle "$apptitle" --title "$txtautoparts (dos)" --yesno "${txtautopartsconfirm//%1/$device}" --defaultno 0 0) then if (whiptail --backtitle "$apptitle" --title "$txtautoparts (dos)" --yesno "${txtautopartsconfirm//%1/$device}" --defaultno 0 0) then
clear clear
echo "$txtautopartclear" echo "$txtautopartclear"
echo "parted $device mklabel msdos"
parted $device mklabel msdos parted $device mklabel msdos
echo "sleep 1"
sleep 1 sleep 1
echo "${txtautopartcreate//%1/boot}" echo "${txtautopartcreate//%1/boot}"
echo "echo -e \"n\np\n\n\n+512M\na\nw\" | fdisk $device"
echo -e "n\np\n\n\n+512M\na\nw" | fdisk $device echo -e "n\np\n\n\n+512M\na\nw" | fdisk $device
echo "sleep 1"
sleep 1 sleep 1
echo "${txtautopartcreate//%1/swap}" echo "${txtautopartcreate//%1/swap}"
echo "swapsize=$(cat /proc/meminfo | grep MemTotal | awk '{ print $2 }')"
swapsize=$(cat /proc/meminfo | grep MemTotal | awk '{ print $2 }') swapsize=$(cat /proc/meminfo | grep MemTotal | awk '{ print $2 }')
echo "swapsize=$(($swapsize/1000))\"M\""
swapsize=$(($swapsize/1000))"M" swapsize=$(($swapsize/1000))"M"
echo "echo -e \"n\np\n\n\n+$swapsize\nt\n\n82\nw\" | fdisk $device"
echo -e "n\np\n\n\n+$swapsize\nt\n\n82\nw" | fdisk $device echo -e "n\np\n\n\n+$swapsize\nt\n\n82\nw" | fdisk $device
echo "sleep 1"
sleep 1 sleep 1
echo "${txtautopartcreate//%1/root}" echo "${txtautopartcreate//%1/root}"
echo "echo -e \"n\np\n\n\n\nw\" | fdisk $device"
echo -e "n\np\n\n\n\nw" | fdisk $device echo -e "n\np\n\n\n\nw" | fdisk $device
echo "sleep 1"
sleep 1 sleep 1
echo "" echo ""
pressanykey pressanykey
@ -241,7 +246,6 @@ diskpartautodos(){
} }
diskpartautogpt(){ diskpartautogpt(){
learn diskpartautogpt
items=$(lsblk -d -p -n -l -o NAME -e 7,11) items=$(lsblk -d -p -n -l -o NAME -e 7,11)
options=() options=()
for item in $items; do for item in $items; do
@ -276,7 +280,6 @@ diskpartautogpt(){
} }
diskpartautoefi(){ diskpartautoefi(){
learn diskpartautoefi
items=$(lsblk -d -p -n -l -o NAME -e 7,11) items=$(lsblk -d -p -n -l -o NAME -e 7,11)
options=() options=()
for item in $items; do for item in $items; do
@ -309,7 +312,6 @@ diskpartautoefi(){
} }
diskpartautoefiusb(){ diskpartautoefiusb(){
learn diskpartautoefiusb
items=$(lsblk -d -p -n -l -o NAME -e 7,11) items=$(lsblk -d -p -n -l -o NAME -e 7,11)
options=() options=()
for item in $items; do for item in $items; do
@ -342,7 +344,6 @@ diskpartautoefiusb(){
} }
diskpartcfdisk(){ diskpartcfdisk(){
learn diskpartcfdisk
items=$(lsblk -d -p -n -l -o NAME -e 7,11) items=$(lsblk -d -p -n -l -o NAME -e 7,11)
options=() options=()
for item in $items; do for item in $items; do
@ -358,7 +359,6 @@ diskpartcfdisk(){
} }
diskpartcgdisk(){ diskpartcgdisk(){
learn diskpartcgdisk
items=$(lsblk -d -p -n -l -o NAME -e 7,11) items=$(lsblk -d -p -n -l -o NAME -e 7,11)
options=() options=()
for item in $items; do for item in $items; do
@ -378,8 +378,6 @@ diskpartcgdisk(){
# -------------------------------------------------------- # --------------------------------------------------------
selectparts(){ selectparts(){
learn selectparts
items=$(lsblk -p -n -l -o NAME -e 7,11) items=$(lsblk -p -n -l -o NAME -e 7,11)
options=() options=()
for item in $items; do for item in $items; do
@ -486,7 +484,6 @@ formatdevices(){
fi fi
} }
formatbootdevice(){ formatbootdevice(){
learn formatbootdevice
options=() options=()
if [ "$efimode" == "1" ]||[ "$efimode" = "2" ]; then if [ "$efimode" == "1" ]||[ "$efimode" = "2" ]; then
options+=("fat32" "(EFI)") options+=("fat32" "(EFI)")
@ -516,7 +513,6 @@ formatbootdevice(){
pressanykey pressanykey
} }
formatswapdevice(){ formatswapdevice(){
learn formatswapdevice
clear clear
echo "${txtformatingpart//%1/$swapdev} swap" echo "${txtformatingpart//%1/$swapdev} swap"
echo "----------------------------------------------" echo "----------------------------------------------"
@ -525,7 +521,6 @@ formatswapdevice(){
pressanykey pressanykey
} }
formatdevice(){ formatdevice(){
learn formatdevice
options=() options=()
options+=("btrfs" "") options+=("btrfs" "")
options+=("reiserfs" "") options+=("reiserfs" "")
@ -607,7 +602,6 @@ formatdevice(){
} }
mountparts(){ mountparts(){
learn mountparts
clear clear
echo "Mounting to /mnt ..." echo "Mounting to /mnt ..."
echo "-----------------" echo "-----------------"
@ -669,13 +663,11 @@ installmenu(){
} }
installbase(){ installbase(){
learn installbase
clear clear
pacstrap /mnt base pacstrap /mnt base
} }
unmountdevices(){ unmountdevices(){
learn unmountdevices
clear clear
echo "umount -R /mnt" echo "umount -R /mnt"
umount -R /mnt umount -R /mnt
@ -816,17 +808,12 @@ archmenu(){
archchroot(){ archchroot(){
cp $0 /mnt/root cp $0 /mnt/root
chmod 755 /mnt/root/$(basename "$0") chmod 755 /mnt/root/$(basename "$0")
if [ "$learning" = "1" ]; then
arch-chroot /mnt /root/$(basename "$0") --chroot $1 $2 --learning
else
arch-chroot /mnt /root/$(basename "$0") --chroot $1 $2 arch-chroot /mnt /root/$(basename "$0") --chroot $1 $2
fi
rm /mnt/root/$(basename "$0") rm /mnt/root/$(basename "$0")
} }
archsethostname(){ archsethostname(){
learn archsethostname
hostname=$(whiptail --backtitle "$apptitle" --title "$txtsethostname" --inputbox "" 0 0 "localhost" 3>&1 1>&2 2>&3) hostname=$(whiptail --backtitle "$apptitle" --title "$txtsethostname" --inputbox "" 0 0 "localhost" 3>&1 1>&2 2>&3)
if [ "$?" = "0" ]; then if [ "$?" = "0" ]; then
echo "$hostname" > /mnt/etc/hostname echo "$hostname" > /mnt/etc/hostname
@ -834,7 +821,6 @@ archsethostname(){
} }
archsetkeymap(){ archsetkeymap(){
learn archsetkeymap
#items=$(localectl list-keymaps) #items=$(localectl list-keymaps)
#options=() #options=()
#for item in $items; do #for item in $items; do
@ -858,7 +844,6 @@ archsetkeymap(){
} }
archsetlocale(){ archsetlocale(){
learn archsetlocale
items=$(ls /usr/share/i18n/locales) items=$(ls /usr/share/i18n/locales)
options=() options=()
for item in $items; do for item in $items; do
@ -881,7 +866,6 @@ archsetlocalechroot(){
} }
archsettime(){ archsettime(){
learn archsettime
items=$(ls -l /mnt/usr/share/zoneinfo/ | grep '^d' | awk '{ print $9 }') items=$(ls -l /mnt/usr/share/zoneinfo/ | grep '^d' | awk '{ print $9 }')
options=() options=()
for item in $items; do for item in $items; do
@ -930,7 +914,6 @@ archsettimelocalchroot(){
} }
archsetrootpassword(){ archsetrootpassword(){
learn archsetrootpassword
clear clear
echo "$txtsetrootpassword :" echo "$txtsetrootpassword :"
echo "" echo ""
@ -943,19 +926,16 @@ archsetrootpasswordchroot(){
} }
archgenfstab(){ archgenfstab(){
learn archgenfstab
clear clear
genfstab -U -p /mnt >> /mnt/etc/fstab genfstab -U -p /mnt >> /mnt/etc/fstab
} }
archgencryptotab(){ archgencryptotab(){
#learn archgencryptotab
clear clear
echo -e "$crypttab" >> /mnt/etc/crypttab echo -e "$crypttab" >> /mnt/etc/crypttab
} }
archgenmkinitcpio(){ archgenmkinitcpio(){
#learn archgenmkinitcpio
clear clear
sed -i "s/block filesystems/block encrypt filesystems/g" /mnt/etc/mkinitcpio.conf sed -i "s/block filesystems/block encrypt filesystems/g" /mnt/etc/mkinitcpio.conf
archchroot genmkinitcpio archchroot genmkinitcpio
@ -976,7 +956,6 @@ archgenmkinitcpiochroot(){
} }
archinstallgrub(){ archinstallgrub(){
learn archinstallgrub
clear clear
pacstrap /mnt grub pacstrap /mnt grub
@ -1013,8 +992,6 @@ archinstallgrubchroot(){
} }
archinstallbootloader(){ archinstallbootloader(){
learn archinstallbootloader
items=$(lsblk -d -p -n -l -o NAME -e 7,11) items=$(lsblk -d -p -n -l -o NAME -e 7,11)
options=() options=()
for item in $items; do for item in $items; do
@ -1073,7 +1050,6 @@ archinstallbootloaderefiusbchroot(){
} }
archenabledhcpcd(){ archenabledhcpcd(){
learn archenabledhcpcd
if (whiptail --backtitle "$apptitle" --title "${txtenable//%1/dhcpcd}" --yesno "${txtenable//%1/dhcpcd} ?" 0 0) then if (whiptail --backtitle "$apptitle" --title "${txtenable//%1/dhcpcd}" --yesno "${txtenable//%1/dhcpcd} ?" 0 0) then
clear clear
archchroot enabledhcpcd archchroot enabledhcpcd
@ -1236,20 +1212,8 @@ loadstrings(){
txtarchdiinstallandlaunch="Install and run archdi" txtarchdiinstallandlaunch="Install and run archdi"
txtarchdiinstall="Install archdi" txtarchdiinstall="Install archdi"
txtarchdilaunch="Launch archdi" txtarchdilaunch="Launch archdi"
if [ "$learning" = "1" ]; then
eval $(curl -L $baseurl/learn/English | sed '/^#/ d')
fi
} }
learn(){
if [ "$learning" = "1" ]; then
clear
eval 'echo -e ""${learn'"$1}"""
echo ""
pressanykey
fi
}
# -------------------------------------------------------- # --------------------------------------------------------
@ -1259,7 +1223,7 @@ while (( "$#" )); do
case $1 in case $1 in
-h|--help) help -h|--help) help
exit 0;; exit 0;;
-l|--learning) learning=1;; -l|--learning) whiptail --backtitle "$apptitle" --title "" --msgbox "Sorry, learning mode will not be avaible" 0 0;;
--chroot) chroot=1 --chroot) chroot=1
command=$2 command=$2
args=$3;; args=$3;;

View file

@ -1,284 +0,0 @@
# Arch Linux Fast Install (archfi)
# --------------------------------
# project : https://github.com/MatMoul/archfi
# language : English
# translator : matmoul (pseudo, name or e-mail.)
# notes : misc text...
learnsetkeymap="Set keyboard layout for installation.
\n-------------------------------------
\n
\nBefore start, is best to configure your keyboard.
\nUse the next command to list available keymap :
\nlocalectl list-keymaps
\n
\nAnd to apply your keymap :
\nloadkeys en"
learnreboot="Reboot.
\n-------
\n
\nTo reboot, use the next command :
\nreboot"
learndiskpart="Disk Partitions.
\n----------------
\n
\nTo install Arch Linux, you need to partion your disk.
\nIt has many schemas to format a drive (See the doc for more).
\n
\nIf you don't know how to partion your disk, you can auto partition with dos, gpt or gpt+efi table :
\n - dos : recommanded for old computer
\n - gpt : for disk larger than 2Tb
\n - gpt+efi : for EFI computer
"
learndiskpartautodos="Auto partition dos.
\n-------------------
\n
\nAuto partition make this next partitions :
\n - boot 512Mb (linux type) (bootable flag)
\n - swap RAM Size (swap type)
\n - root Free Space (linux type)
"
learndiskpartautogpt="Auto partition gpt.
\n-------------------
\n
\nAuto partition make this next partitions :
\n - bios 31Mb (BIOS boot type)
\n - boot 512Mb (linux type)
\n - swap RAM Size (swap type)
\n - root Free Space (linux type)
"
learndiskpartautoefi="Auto partition gpt,efi.
\n-----------------------
\n
\nAuto partition make this next partitions :
\n - boot 1024Mb (EFI boot type)
\n - swap RAM Size (swap type)
\n - root Free Space (linux type)
"
learndiskpartautoefiusb="Auto partition gpt,bios+efi.
\n----------------------------
\n
\nUse this option for USB Key.
\n
\nAuto partition make this next partitions :
\n - boot 1024Mb (EFI boot type)
\n - bios 31Mb (BIOS boot type / Hybrid MBR)
\n - root Free Space (linux type)
"
learndiskpartcfdisk="Partition Tools : cfdisk
\n------------------------
\n
\ncfdisk is primary maked to edit dos disk.
\n
\nTo enum available drives, use the next command :
\nlsblk -d -p -n -l -o NAME -e 7,11
\n
\nTo edit partition on the desired drive :
\ncfdisk /dev/sdX"
learndiskpartcgdisk="Partition Tools : cgdisk
\n------------------------
\n
\ncgdisk is primary maked to edit gpt disk.
\n
\nTo enum available drives, use the next command :
\nlsblk -d -p -n -l -o NAME -e 7,11
\n
\nTo edit partition on the desired drive :
\ncgdisk /dev/sdX"
learnselectparts="Select install partitions.
\n--------------------------
\n
\nTo enum available partitions, use the next command :
\nlsblk -d -p -n -l -o NAME -e 7,11
\n
\nTo install Arch Linux, select a least one root partition :
\nOptionaly you can select :
\n - A boot partition
\n - A swap partition
\n - A home partition"
learnformatbootdevice="Format boot partition.
\n----------------------
\n
\nFor this partitions, you can choose many format.
\n
\nWith this wizard, you can choose the next format :
\n - ext2 : mkfs.ext2 /dev/sdX
\n - ext3 : mkfs.ext3 /dev/sdX
\n - ext4 : mkfs.ext4 /dev/sdX
\n
\nYou need to learn which format is best for you.
\next2 is a good choice."
learnformatswapdevice="Format swap partition.
\n----------------------
\n
\nTo format swap partition, use the next command :
\nmkswap /dev/sdX"
learnformatdevice="Format root or home partition.
\n------------------------------
\n
\nFor this partitions, you can choose many format.
\n - btrfs : mkfs.btrfs -f /dev/sdX
\n - reiserfs : mkfs.reiserfs -f /dev/sdX
\n - ext4 : mkfs.ext4 /dev/sdX
\n - ext3 : mkfs.ext3 /dev/sdX
\n - ext2 : mkfs.ext2 /dev/sdX
\n - jfs : mkfs.jfs -f /dev/sdX
\n - xfs : mkfs.xfs -f /dev/sdX
\n
\nYou need to learn which format is best for you.
\nbtrfs is a good choice because it work fine with snapper for snapshot (It's a good recovery method)."
learnmountparts="Mount partitions.
\n-----------------
\n
\nTo install Arch Linux, you need to mount selected partitions.
\n
\nFirst mount root device in /mnt :
\nmount /dev/sdX /mnt
\n
\nMake child directories :
\nmkdir /mnt/{boot,home}
\n
\nIf you have a boot partition, mount it in /mnt/boot :
\nmount /dev/sdX /mtn/boot
\n
\nIf you have a swap partition, enable it :
\nswapon /dev/sdX
\n
\nIf you have a home partition, mount it in /mnt/home :
\nmount /dev/sdX /mnt/home"
learninstallbase="Install base packages.
\n----------------------
\n
\nTo install Arch Linux just use the next command :
\npacstrap /mnt base"
learnunmountdevices="Unmount partitions.
\n-------------------
\n
\nWhen operation on new install is terminated, you need to unmount partitions in /mnt.
\nUse the next command :
\numount -R /mnt
\n
\nif you have selected a swap partition, disable it with the next command :
\nswapoff /dev/sdX"
learnarchsetkeymap="Set keyboard layout for the new installation.
\n---------------------------------------------
\n
\nUse the next command for list available keymap :
\nlocalectl list-keymaps
\n
\nAnd to apply the desired keymap :
\necho ""KEYMAP=en"" > /mnt/etc/vconsole.conf"
learnarchsethostname="Set computer name for the new installation.
\n-------------------------------------------
\n
\nTo set your computer name just write it to /etc/hostname with :
\necho ""computer_name"" > /etc/hostname"
learnarchsetlocale="Set locale for the new installation.""
\n------------------------------------
\n
\nFor this, use the next command to enum available locales :
\nls /usr/share/i18n/locales
\n
\nAnd for apply selection (add .UTF-8 to the selection) :
\necho ""LANG=en_US.UTF-8"" > /mnt/etc/locale.conf
\necho ""LC_COLLATE=C"" >> /mnt/etc/locale.conf
\n
\nDon't miss to uncomment your locale in /mnt/etc/locale.gen
\nsed -i '/en_US.UTF-8/s/^#//g' /mnt/etc/locale.gen
\nor
\nnano /mnt/etc/locale.gen
\n
\nNow chroot the new installation and call locale-gen
\narch-chroot /mnt
\nlocale-gen
\nexit"
learnarchsettime="Set time for new installation.
\n------------------------------
\n
\nFor this, use the next command to enum available locale :
\nls -l /mnt/usr/share/zoneinfo
\nls -l /mnt/usr/share/zoneinfo/[zone]
\n
\nMake a symlink from the selection to /mnt/etc/localtime :
\nln -sf /usr/share/zoneinfo/America/New_York /mnt/etc/localtime
\n
\nNow chroot the new installation and set the hardware clock
\narch-chroot /mnt
\n
\nFor utc harware clock, use the next command :
\nhwclock --systohc --utc
\n
\nFor localtime harware clock, use the next command (if you use a dual boot with Windows) :
\nhwclock --systohc --localtime"
learnarchsetrootpassword="Set root password.
\n------------------
\n
\nNow you need to set root password, for this enter chroot and call passwd root :
\narch-chroot /mnt
\npasswd root
\nexit"
learnarchgenfstab="Generate fstab.
\n---------------
\n
\nTo write mounted partition in the installation fstab, use the next command :
\ngenfstab -U -p /mnt >> /mnt/etc/fstab"
learnarchinstallgrub="Install Grub.
\n-------------
\n
\nNow you need a bootloader.
\nFor this, Grub is a great bootloader.
\n
\nFirstly install grub package
\nFor this, use the next command :
\npacstrap /mnt grub
\n
\nTo make configuration, you need to chroot the new installation and call the next commands :
\narch-chroot /mnt
\ngrub-mkconfig -o /boot/grub/grub.cfg
\nexit"
learnarchinstallbootloader="Install Bootloader.
\n-------------------
\n
\nBefore reboot, you need to make bootable your drive.
\n
\nTo install Grub in your MBR, chroot the new installation and call the next commands for bios install:
\narch-chroot /mnt
\ngrub-install --recheck /dev/sdX
\n\nand for EFI install :
\ngrub-install --target=x86_64-efi --efi-directory=/boot --recheck /dev/sdX
\n\nand if you make a USB key, you can choose BIOS+EFI but you need the correct partitions.
\nexit"
learnarchenabledhcpcd="Enable dhcpd.
\n-------------
\n
\nWhen boot the new install, dhcpcd is not enabled by default.
\nTo enable it and get your network connected at boot, enable it with the next command in chroot :
\n
\narch-chroot /mnt
\nsystemctl enable dhcpcd
\nexit"