This commit is contained in:
nelle 2023-08-10 10:13:32 -06:00
parent c592f54854
commit c18e3005c1
2 changed files with 77 additions and 74 deletions

View file

@ -1,32 +1,30 @@
# archfi
# obos-fi
### Fork of [MatMoul's Archfi](https://github.com/MatMoul)
Just a simple bash script wizard to install Ourobor.OS after you have booted on the official Ourobor.OS install media.
Just a simple bash script wizard to install Arch Linux after you have booted on the official Arch Linux install media.
With this script, you can install Arch Linux with two simple terminal commands.
With this script, you can install Ourobor.OS with two simple terminal commands.
This wizard is made to install minimum packages (Base, bootloader and optionally archdi).
This wizard is made to install minimum packages (Base, bootloader and optionally obosdi).
At the end of this wizard, you can install or launch [archdi](https://github.com/MatMoul/archdi) (Arch Linux Desktop Install) to install and configure desktop packages.
At the end of this wizard, you can install or launch [obosdi](https://git.ouroboros.group/Ouroboros/obosdi) (Ourobor.OS Desktop Install) to install and configure desktop packages.
You can watch my videos to see how to use it [here](https://www.youtube.com/playlist?list=PLytHgIKLV1caHlCrcTSkm5OF2WSVI1_Sq).
You can watch MatMoul's videos to see how to use it [here](https://www.youtube.com/playlist?list=PLytHgIKLV1caHlCrcTSkm5OF2WSVI1_Sq).
## How to use
First, boot with the [last Arch Linux image](https://www.archlinux.org/download/) with a [bootable device](https://wiki.archlinux.org/index.php/USB_flash_installation_media).
First, boot with the last Ourobor.OS image:
[Releases](https://git.ouroboros.group/Ouroboros/Ourobor.OS/releases/) | [Downloads](https://files.nullafati.xyz/OS-Images/OuroborOS/) with a [bootable device](https://wiki.archlinux.org/index.php/USB_flash_installation_media).
Then make sure you have Internet connection on the Arch iso. If you have a wireless connection the [`iwctl`](https://wiki.archlinux.org/index.php/Iwd#iwctl) command might be useful to you. You can also read the [Network configuration](https://wiki.archlinux.org/index.php/Network_configuration) from the Arch Linux guide for more detailed instructions.
Then download the script with from the command line:
curl -LO archfi.sf.net/archfi
If SourceForge is down, use this instead:
curl -LO matmoul.github.io/archfi
curl -LO git.ouroboros.group/Ouroboros/obos-fi/raw/branch/master/archfi
Finally, launch the script:
sh archfi
sh obosfi
Then follow the on-screen instructions to completion.
@ -34,7 +32,7 @@ If you require extra help, visit the provided video playlist and follow my examp
## More custom install
sh archfi -cpl {URL of your custom package list}
sh obosfi -cpl {URL of your custom package list}
You can find a sample custom package list file in the samples folder.
@ -42,8 +40,8 @@ You can find a sample custom package list file in the samples folder.
You can test your script with this command :
sh archfi -t {githubusername} {branchname}
sh obosfi -t {githubusername} {branchname}
Example :
sh archfi -t matmoul master
sh obosfi -t matmoul master

View file

@ -1,19 +1,24 @@
#!/bin/bash
# Arch Linux Fast Install (archfi)
# Ourobor.OS Fast Install (obos-fi)
# --------------------------------
# author : MatMoul
# archfi author : MatMoul
# https://github.com/MatMoul
# http://sourceforge.net/u/matmoul
# project : https://github.com/MatMoul/archfi
# http://sourceforge.net/projects/archfi/
# obosfi author : LimePotato (Ouroboros)
# https://limepot.xyz/
# https://git.ouroboros.group/Ouroboros/
# https://git.ouroboros.group/LimePotato/
#
# project : https://git.ouroboros.group/Ouroboros/obos-fi
#
# license : LGPL-3.0 (http://opensource.org/licenses/lgpl-3.0.html)
#
# reference : https://wiki.archlinux.org/index.php/Installation_guide
apptitle="Arch Linux Fast Install (archfi) - Version: 2022.11.21.01.44.43 (GPLv3)"
baseurl=https://raw.githubusercontent.com/MatMoul/archfi/master
apptitle="Ourobor.OS Fast Install (obosfi) - Version: 0.0.1 (GPLv3)"
baseurl=https://git.ouroboros.group/Ouroboros/obos-fi/raw/branch/master
cpl=0
skipfont="0"
fspkgs=""
@ -912,12 +917,12 @@ installbase(){
done
if [[ ${cpl} == 1 ]]; then
sed -i '/^\s*$/d' /tmp/archfi-custom-package-list
sed -i '/^#/ d' /tmp/archfi-custom-package-list
sed -i '/^\s*$/d' /tmp/obosfi-custom-package-list
sed -i '/^#/ d' /tmp/obosfi-custom-package-list
options=()
while read pkg; do
options+=("${pkg}" "" on)
done < /tmp/archfi-custom-package-list
done < /tmp/obosfi-custom-package-list
sel=$(dialog --backtitle "${apptitle}" --title "${txtinstallarchlinuxcustompackagelist}" --checklist "" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
@ -982,7 +987,7 @@ archmenu(){
options+=("${txtedit//%1/mirrorlist}" "(${txtoptional})")
options+=("${txtbootloader}" "")
options+=("${txtextrasmenu}" "")
options+=("archdi" "${txtarchdidesc}")
options+=("obosdi" "${txtobosdidesc}")
sel=$(dialog --backtitle "${apptitle}" --title "${txtarchinstallmenu}" --cancel-button "${txtback}" --default-item "${nextitem}" --menu "" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
@ -1074,11 +1079,11 @@ archmenu(){
;;
"${txtextrasmenu}")
archextrasmenu
nextitem="archdi"
nextitem="obosdi"
;;
"archdi")
installarchdi
nextitem="archdi"
"obosdi")
installobosdi
nextitem="obosdi"
;;
esac
archmenu "${nextitem}"
@ -1089,7 +1094,7 @@ archchroot(){
echo "arch-chroot /mnt /root"
cp ${0} /mnt/root
chmod 755 /mnt/root/$(basename "${0}")
echo "dialog is required for archfi, it will be installed as dep. Then it will removed when cleaning orphan."
echo "dialog is required for obosfi, it will be installed as dep. Then it will removed when cleaning orphan."
echo "arch-chroot /mnt pacman -S --asdeps --needed --noconfirm dialog"
arch-chroot /mnt pacman -S --asdeps --needed --noconfirm dialog
arch-chroot /mnt /root/$(basename "${0}") --chroot ${1} ${2}
@ -1815,30 +1820,30 @@ archenablenetworkmanagerchroot(){
exit
}
installarchdi(){
dialog --backtitle "${apptitle}" --title "archdi" --msgbox "${txtinstallarchdi}" 0 0
installobosdi(){
dialog --backtitle "${apptitle}" --title "obosdi" --msgbox "${txtinstallobosdi}" 0 0
if [ "$?" = "0" ]; then
options=()
options+=("${txtarchdiinstallandlaunch}" "")
options+=("${txtarchdilaunch}" "")
options+=("${txtarchdiinstall}" "")
sel=$(dialog --backtitle "${apptitle}" --title "${txtarchdimenu}" --cancel-button "${txtback}" --menu "" 0 0 0 \
options+=("${txtobosdiinstallandlaunch}" "")
options+=("${txtobosdilaunch}" "")
options+=("${txtobosdiinstall}" "")
sel=$(dialog --backtitle "${apptitle}" --title "${txtobosdimenu}" --cancel-button "${txtback}" --menu "" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ "$?" = "0" ]; then
case ${sel} in
"${txtarchdiinstallandlaunch}") archchroot archdiinstallandlaunch;;
"${txtarchdilaunch}") archchroot archdilaunch;;
"${txtarchdiinstall}")
"${txtobosdiinstallandlaunch}") archchroot obosdiinstallandlaunch;;
"${txtobosdilaunch}") archchroot obosdilaunch;;
"${txtobosdiinstall}")
clear
archchroot archdiinstall
archchroot obosdiinstall
pressanykey
;;
esac
fi
fi
}
archdidownload(){
obosdidownload(){
txtselectserver="Select source server :"
txtback="Back"
options=()
@ -1850,34 +1855,34 @@ archdidownload(){
if [ "$?" = "0" ]; then
case ${sel} in
"sourceforge.net")
archdiurl=archdi.sourceforge.net/archdi
obosdiurl=obosdi.sourceforge.net/obosdi
;;
"github.com")
archdiurl=matmoul.github.io/archdi >archdi
obosdiurl=matmoul.github.io/obosdi >obosdi
;;
esac
fi
echo "curl -L ${archdiurl} >archdi"
curl -L ${archdiurl} >archdi
echo "curl -L ${obosdiurl} >obosdi"
curl -L ${obosdiurl} >obosdi
}
archdiinstallandlaunchchroot(){
obosdiinstallandlaunchchroot(){
cd
archdidownload
sh archdi -i
archdi --chroot
obosdidownload
sh obosdi -i
obosdi --chroot
exit
}
archdilaunchchroot(){
obosdilaunchchroot(){
cd
archdidownload
sh archdi --chroot
rm archdi
obosdidownload
sh obosdi --chroot
rm obosdi
exit
}
archdiinstallchroot(){
obosdiinstallchroot(){
cd
archdidownload
sh archdi -i
obosdidownload
sh obosdi -i
exit
}
# --------------------------------------------------------
@ -1997,11 +2002,11 @@ loadstrings(){
txtpressanykey="Press any key to continue."
txtarchdidesc="Full desktop install script"
txtinstallarchdi="Arch Linux Desktop Install (archdi) is a second script who can help you to install a full workstation.\n\nYou can just launch the script or install it. Choose in the next menu."
txtarchdiinstallandlaunch="Install and run archdi"
txtarchdiinstall="Install archdi"
txtarchdilaunch="Launch archdi"
txtobosdidesc="Full desktop install script"
txtinstallobosdi="Arch Linux Desktop Install (obosdi) is a second script who can help you to install a full workstation.\n\nYou can just launch the script or install it. Choose in the next menu."
txtobosdiinstallandlaunch="Install and run obosdi"
txtobosdiinstall="Install obosdi"
txtobosdilaunch="Launch obosdi"
}
# --------------------------------------------------------
@ -2012,16 +2017,16 @@ loadstrings(){
while (( "$#" )); do
case ${1} in
--help)
echo "archfi"
echo "obosfi"
echo "------"
echo "-cpl | --custom-package-list url Set custom package list url"
echo "-sf | --skip-font Skip setfont from language files"
echo "-efiX -efi0 : disable EFI, -efi1 efi inst, -efi2 efi hybrid inst"
echo "-t | --test ghusername ghbranch Test archfi script and language"
echo "-t | --test ghusername ghbranch Test obosfi script and language"
exit 0
;;
-cpl | --custom-package-list)
curl -L ${2} > /tmp/archfi-custom-package-list
curl -L ${2} > /tmp/obosfi-custom-package-list
if [[ "$?" != "0" ]]; then
echo "Error downloading custom package list"
exit 0
@ -2030,11 +2035,11 @@ while (( "$#" )); do
;;
-sf | --skip-font) skipfont=1;;
-t | --test)
curl -L https://raw.githubusercontent.com/${2}/archfi/${3}/archfi > archfi
sh archfi -tt ${2} ${3}
curl -L https://raw.githubusercontent.com/${2}/obosfi/${3}/obosfi > obosfi
sh obosfi -tt ${2} ${3}
exit 0
;;
-tt) baseurl="https://raw.githubusercontent.com/${2}/archfi/${3}";;
-tt) baseurl="https://raw.githubusercontent.com/${2}/obosfi/${3}";;
-efi0) efimode=0;;
-efi1)
eficomputer=1
@ -2068,9 +2073,9 @@ if [ "${chroot}" = "1" ]; then
'syslinuxbootloaderefiinstall') archsyslinuxinstallbootloaderefichroot ${args};;
'systemdbootloaderinstall') archsystemdinstallchroot ${args};;
'refindbootloaderinstall') archrefindinstallchroot ${args};;
'archdiinstallandlaunch') archdiinstallandlaunchchroot;;
'archdiinstall') archdiinstallchroot;;
'archdilaunch') archdilaunchchroot;;
'obosdiinstallandlaunch') obosdiinstallandlaunchchroot;;
'obosdiinstall') obosdiinstallchroot;;
'obosdilaunch') obosdilaunchchroot;;
esac
else
echo "Init pacman, please wait..."
@ -2087,7 +2092,7 @@ else
efimode=1
fi
fi
cat << EOF > dialog.archfi
cat << EOF > dialog.obosfi
use_shadow = OFF
title_color = (BLACK,WHITE,OFF)
button_label_active_color = (WHITE,BLUE,ON)
@ -2099,11 +2104,11 @@ tag_key_selected_color = (WHITE,BLUE,ON)
check_color = tag_color
check_selected_color = tag_selected_color
EOF
export DIALOGRC="dialog.archfi"
export DIALOGRC="dialog.obosfi"
loadstrings
EDITOR=nano
mainmenu
rm dialog.archfi
rm dialog.obosfi
fi
exit 0