Compare commits

...

18 Commits

Author SHA1 Message Date
Сергей Морозов 5d85bf67dd Update hooks in mkinitcpio 2022-12-06 14:16:37 +03:00
Сергей Морозов b5e7b3a2fc Use grub for UEFI boot 2022-12-04 19:46:05 +03:00
Сергей Морозов 3af2442005 Remove ipw2100-fw and ipw2200-fw packages
because it's removed in upstreamt
2022-10-04 21:17:38 +03:00
Сергей Морозов ea2b34c11f Change startx notification 2022-04-29 01:11:16 +03:00
Сергей Морозов aa5f48f539 Add packages to kde build 2022-04-29 00:43:12 +03:00
Сергей Морозов 382cd00759 Remove sed dependency from xorg-xinit hook 2022-04-27 23:55:31 +03:00
Сергей Морозов eb5f209529 Add startx notification to motd 2022-04-27 23:52:41 +03:00
Сергей Морозов 098454ccc3 Revert "Keyboard configuration"
This reverts commit a1b887540b.
2022-04-27 23:52:13 +03:00
Сергей Морозов a1b887540b Keyboard configuration 2022-04-27 23:41:05 +03:00
Сергей Морозов 0ec917dac1 Replace lxde with kde 2022-04-27 23:40:15 +03:00
Сергей Морозов 0b73e4192f Increase free space for root filesystem to 1 GiB 2022-04-27 22:47:27 +03:00
Сергей Морозов b4c46daf2a Enable ZFS services at startup 2022-04-26 23:05:54 +03:00
Сергей Морозов 6de42955ca Build two images (with and without gui).
Add LXDE, Firefox, gparted and NetworkManager to image with gui.
Add build and clean scripts.
2022-04-26 00:35:48 +03:00
Сергей Морозов 9982ff5dfd Use zfs-dkms instead of precompiled version 2022-01-17 21:39:10 +03:00
Сергей Морозов f5377f54c1 Fix sudo in README.md 2022-01-17 18:56:28 +03:00
Сергей Морозов c3909041e7 Fix README.md 2021-11-06 21:39:10 +03:00
Сергей Морозов 3e078dc320 Add README.md 2021-11-06 21:38:06 +03:00
Сергей Морозов 8e2615e3cf Add .gitignore 2021-11-06 21:18:46 +03:00
36 changed files with 465 additions and 16 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
/work
/out

29
README.md Normal file
View File

@ -0,0 +1,29 @@
# ArchLive-ZFS
Профиль Arch Live CD с поддержкой ZFS для archiso на основе профиля releng. ZFS берётся из репозитория [archzfs](https://github.com/archzfs/archzfs/wiki).
## Инструкция по сборке:
Для сборки обязательно должен быть установлен archiso:
```
sudo pacman -S archiso
```
Установите ключи:
```
sudo pacman-key -r DDF7DB817396A49B2A2723F7403BD972F75D9D76
sudo pacman-key --lsign-key DDF7DB817396A49B2A2723F7403BD972F75D9D76
```
Этими ключами подписаны пакеты в archzfs.
Далее в каталоге проекта:
```
sudo ./build
```
Если требуется собрать только 1 образ, то используйте команду `sudo mkarchiso -v kde` для сборки образа с графикой или команду `sudo mkarchiso -v nox` для сборки образа без графики.
В случае успешного завершения, в каталоге `out` должны быть созданы ISO образы.
Если у вас установлен qemu, можете протестировать образ:
```
run_archiso -u -i out/archlinux-zfs-kde-*.iso
```
Для очистки каталога проекта от результатов сборки используйте команду:
```
sudo ./clean
```

View File

@ -49,7 +49,7 @@ FILES=()
#
## NOTE: If you have /usr on a separate partition, you MUST include the
# usr, fsck and shutdown hooks.
HOOKS=(base udev modconf memdisk archiso_shutdown archiso archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd archiso_pxe_http archiso_pxe_nfs archiso_kms block filesystems keyboard)
HOOKS=(base udev modconf kms memdisk archiso archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd archiso_pxe_http archiso_pxe_nfs block filesystems keyboard)
# COMPRESSION
# Use this to compress the initramfs image. By default, gzip compression

View File

@ -0,0 +1,12 @@
# remove from airootfs!
[Trigger]
Operation = Install
Type = Package
Target = xorg-xinit
[Action]
Description = Add instructions for startx
When = PostTransaction
Depends = xorg-xinit
Depends = sh
Exec = /bin/sh -c 'echo -e \\nTo start GUI, type \\033\[0\;35mstartx\\033\[0\;0m.\\n >> /etc/motd'

View File

@ -0,0 +1 @@
/usr/lib/systemd/system/NetworkManager-dispatcher.service

View File

@ -0,0 +1 @@
/usr/lib/systemd/system/NetworkManager.service

View File

@ -0,0 +1 @@
/usr/lib/systemd/system/zfs.target

View File

@ -0,0 +1 @@
/usr/lib/systemd/system/NetworkManager-wait-online.service

View File

@ -0,0 +1,6 @@
[$Version]
update_info=kscreenlocker.upd:0.1-autolock
[Daemon]
Autolock=false
LockOnResume=false

View File

@ -0,0 +1,11 @@
[$Version]
update_info=kxkb.upd:remove-empty-lists,kxkb.upd:add-back-resetoptions,kxkb_variants.upd:split-variants
[Layout]
DisplayNames=,
LayoutList=us,ru
Options=grp:ctrl_shift_toggle,grp_led:scroll
ResetOldOptions=true
SwitchMode=WinClass
Use=true
VariantList=,

View File

@ -0,0 +1,119 @@
[ActionPlugins][0]
RightButton;NoModifier=org.kde.contextmenu
wheel:Vertical;NoModifier=org.kde.switchdesktop
[ActionPlugins][1]
RightButton;NoModifier=org.kde.contextmenu
[Containments][1]
ItemGeometries-1024x768=
ItemGeometriesHorizontal=
activityId=e22b904d-6156-441d-8265-e49aa36765d8
formfactor=0
immutability=1
lastScreen=0
location=0
plugin=org.kde.plasma.folder
wallpaperplugin=org.kde.image
[Containments][1][Wallpaper][org.kde.image][General]
Image=file:///usr/share/wallpapers/Next/contents/images/1024x768.jpg
[Containments][2]
activityId=
formfactor=2
immutability=1
lastScreen=0
location=4
plugin=org.kde.panel
wallpaperplugin=org.kde.image
[Containments][2][Applets][14]
immutability=1
plugin=org.kde.plasma.digitalclock
[Containments][2][Applets][15]
immutability=1
plugin=org.kde.plasma.showdesktop
[Containments][2][Applets][3]
immutability=1
plugin=org.kde.plasma.kickoff
[Containments][2][Applets][3][Configuration]
PreloadWeight=100
[Containments][2][Applets][3][Configuration][General]
favoritesPortedToKAstats=true
[Containments][2][Applets][3][Configuration][Shortcuts]
global=Alt+F1
[Containments][2][Applets][3][Shortcuts]
global=Alt+F1
[Containments][2][Applets][4]
immutability=1
plugin=org.kde.plasma.pager
[Containments][2][Applets][5]
immutability=1
plugin=org.kde.plasma.icontasks
[Containments][2][Applets][5][Configuration][General]
launchers=applications:systemsettings.desktop,preferred://filemanager,preferred://browser
[Containments][2][Applets][6]
immutability=1
plugin=org.kde.plasma.marginsseparator
[Containments][2][Applets][7]
immutability=1
plugin=org.kde.plasma.systemtray
[Containments][2][Applets][7][Configuration]
PreloadWeight=55
SystrayContainmentId=8
[Containments][2][General]
AppletOrder=3;4;5;6;7;14;15
[Containments][8]
activityId=
formfactor=2
immutability=1
lastScreen=0
location=4
plugin=org.kde.plasma.private.systemtray
wallpaperplugin=org.kde.image
[Containments][8][Applets][10]
immutability=1
plugin=org.kde.plasma.devicenotifier
[Containments][8][Applets][11]
immutability=1
plugin=org.kde.plasma.keyboardlayout
[Containments][8][Applets][12]
immutability=1
plugin=org.kde.plasma.manage-inputmethod
[Containments][8][Applets][13]
immutability=1
plugin=org.kde.plasma.notifications
[Containments][8][Applets][16]
immutability=1
plugin=org.kde.plasma.networkmanagement
[Containments][8][Applets][9]
immutability=1
plugin=org.kde.plasma.clipboard
[Containments][8][General]
extraItems=org.kde.plasma.battery,org.kde.plasma.clipboard,org.kde.plasma.devicenotifier,org.kde.plasma.keyboardlayout,org.kde.plasma.manage-inputmethod,org.kde.plasma.mediacontroller,org.kde.plasma.networkmanagement,org.kde.plasma.notifications
knownItems=org.kde.plasma.battery,org.kde.plasma.clipboard,org.kde.plasma.devicenotifier,org.kde.plasma.keyboardlayout,org.kde.plasma.manage-inputmethod,org.kde.plasma.mediacontroller,org.kde.plasma.networkmanagement,org.kde.plasma.notifications
[ScreenMapping]
itemsOnDisabledScreens=

1
airootfs/root/.xinitrc Normal file
View File

@ -0,0 +1 @@
exec startplasma-x11

5
build Executable file
View File

@ -0,0 +1,5 @@
#!/bin/bash
mkarchiso -v ./nox
rm -rf work
mkarchiso -v ./kde
rm -rf work

2
clean Executable file
View File

@ -0,0 +1,2 @@
#!/bin/bash
rm -rf work out

View File

@ -3,4 +3,4 @@ linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
initrd /%INSTALL_DIR%/boot/intel-ucode.img
initrd /%INSTALL_DIR%/boot/amd-ucode.img
initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL%
options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% cow_spacesize=1G

View File

@ -3,4 +3,4 @@ linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
initrd /%INSTALL_DIR%/boot/intel-ucode.img
initrd /%INSTALL_DIR%/boot/amd-ucode.img
initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% accessibility=on
options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% cow_spacesize=1G accessibility=on

View File

@ -3,4 +3,4 @@ linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
initrd /%INSTALL_DIR%/boot/intel-ucode.img
initrd /%INSTALL_DIR%/boot/amd-ucode.img
initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% copytoram
options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% cow_spacesize=1G copytoram

75
grub/grub.cfg Normal file
View File

@ -0,0 +1,75 @@
# Load partition table and file system modules
insmod part_gpt
insmod part_msdos
insmod fat
insmod iso9660
# Use graphics-mode output
insmod all_video
insmod font
if loadfont "${prefix}/fonts/unicode.pf2" ; then
insmod gfxterm
set gfxmode="auto"
terminal_input console
terminal_output gfxterm
fi
# Enable serial console
if serial --unit=0 --speed=115200; then
terminal_input --append serial
terminal_output --append serial
fi
# Set default menu entry
default=archlinux
timeout=15
timeout_style=menu
# GRUB init tune for accessibility
play 600 988 1 1319 4
# Menu entries
menuentry "Arch Linux install medium (x86_64, UEFI)" --class arch --class gnu-linux --class gnu --class os --id 'archlinux' {
set gfxpayload=keep
search --no-floppy --set=root --label %ARCHISO_LABEL%
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% cow_spacesize=1G
initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
}
menuentry "Arch Linux install medium with speakup screen reader (x86_64, UEFI)" --hotkey s --class arch --class gnu-linux --class gnu --class os --id 'archlinux-accessibility' {
set gfxpayload=keep
search --no-floppy --set=root --label %ARCHISO_LABEL%
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% cow_spacesize=1G accessibility=on
initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
}
if [ "${grub_platform}" == "efi" ]; then
if [ "${grub_cpu}" == "x86_64" ]; then
menuentry "UEFI Shell" {
insmod chain
search --no-floppy --set=root --label %ARCHISO_LABEL%
chainloader /shellx64.efi
}
elif [ "${grub_cpu}" == "i386" ]; then
menuentry "UEFI Shell" {
insmod chain
search --no-floppy --set=root --label %ARCHISO_LABEL%
chainloader /shellia32.efi
}
fi
menuentry 'UEFI Firmware Settings' --id 'uefi-firmware' {
fwsetup
}
fi
menuentry "System shutdown" --class shutdown --class poweroff {
echo "System shutting down..."
halt
}
menuentry "System restart" --class reboot --class restart {
echo "System rebooting..."
reboot
}

1
kde/airootfs Symbolic link
View File

@ -0,0 +1 @@
../airootfs

View File

@ -0,0 +1 @@
../bootstrap_packages.x86_64

1
kde/efiboot Symbolic link
View File

@ -0,0 +1 @@
../efiboot

1
kde/grub Symbolic link
View File

@ -0,0 +1 @@
../grub

144
kde/packages.x86_64 Normal file
View File

@ -0,0 +1,144 @@
alsa-utils
amd-ucode
arch-install-scripts
archinstall
b43-fwcutter
base
bind-tools
brltty
broadcom-wl
btrfs-progs
clonezilla
cloud-init
crda
cryptsetup
darkhttpd
ddrescue
dhclient
dhcpcd
diffutils
dmraid
dnsmasq
dosfstools
e2fsprogs
edk2-shell
efibootmgr
espeakup
ethtool
exfatprogs
f2fs-tools
fatresize
fsarchiver
gnu-netcat
gpart
gpm
gptfdisk
grml-zsh-config
hdparm
intel-ucode
irssi
iw
iwd
jfsutils
kitty-terminfo
less
lftp
libfido2
libusb-compat
linux
linux-atm
linux-firmware
livecd-sounds
lsscsi
lvm2
lynx
man-db
man-pages
mc
mdadm
memtest86+
mkinitcpio
mkinitcpio-archiso
mkinitcpio-nfs-utils
modemmanager
mtools
nano
nbd
ndisc6
nfs-utils
nilfs-utils
nmap
ntfs-3g
nvme-cli
openconnect
openssh
openvpn
partclone
parted
partimage
pcsclite
ppp
pptpclient
pv
qemu-guest-agent
reflector
reiserfsprogs
rp-pppoe
rsync
rxvt-unicode-terminfo
screen
sdparm
sg3_utils
smartmontools
sof-firmware
squashfs-tools
sudo
syslinux
systemd-resolvconf
tcpdump
terminus-font
testdisk
tmux
tpm2-tss
udftools
usb_modeswitch
usbmuxd
usbutils
vim
virtualbox-guest-utils-nox
vpnc
wireless-regdb
wireless_tools
wpa_supplicant
wvdial
xfsprogs
xl2tpd
zsh
# Custom
linux-headers
zfs-dkms
ncdu
xorg
xorg-xinit
plasma-desktop
dolphin
konsole
kwrite
gwenview
okular
kcalc
ark
spectacle
krdc
freerdp
libvncserver
virt-viewer
partitionmanager
networkmanager
plasma-nm
firefox
firefox-i18n-en-us
firefox-i18n-ru
gparted
grub

1
kde/pacman.conf Symbolic link
View File

@ -0,0 +1 @@
../pacman.conf

View File

@ -1,14 +1,16 @@
#!/usr/bin/env bash
# shellcheck disable=SC2034
iso_name="archlinux-zfs"
iso_name="archlinux-zfs-kde"
iso_label="ARCH_$(date +%Y%m)"
iso_publisher="Arch Linux <https://archlinux.org>"
iso_application="Arch Linux Live/Rescue CD"
iso_version="$(date +%Y.%m.%d)"
install_dir="arch"
buildmodes=('iso')
bootmodes=('bios.syslinux.mbr' 'bios.syslinux.eltorito' 'uefi-x64.systemd-boot.esp' 'uefi-x64.systemd-boot.eltorito')
bootmodes=('bios.syslinux.mbr' 'bios.syslinux.eltorito'
'uefi-ia32.grub.esp' 'uefi-x64.grub.esp'
'uefi-ia32.grub.eltorito' 'uefi-x64.grub.eltorito')
arch="x86_64"
pacman_conf="pacman.conf"
airootfs_image_type="squashfs"

1
kde/syslinux Symbolic link
View File

@ -0,0 +1 @@
../syslinux

1
nox/airootfs Symbolic link
View File

@ -0,0 +1 @@
../airootfs

View File

@ -0,0 +1 @@
../bootstrap_packages.x86_64

1
nox/efiboot Symbolic link
View File

@ -0,0 +1 @@
../efiboot

1
nox/grub Symbolic link
View File

@ -0,0 +1 @@
../grub

View File

@ -36,8 +36,6 @@ gptfdisk
grml-zsh-config
hdparm
intel-ucode
ipw2100-fw
ipw2200-fw
irssi
iw
iwd
@ -118,5 +116,7 @@ xl2tpd
zsh
# Custom
zfs-linux
ncdu
linux-headers
zfs-dkms
ncdu
grub

1
nox/pacman.conf Symbolic link
View File

@ -0,0 +1 @@
../pacman.conf

25
nox/profiledef.sh Normal file
View File

@ -0,0 +1,25 @@
#!/usr/bin/env bash
# shellcheck disable=SC2034
iso_name="archlinux-zfs-nox"
iso_label="ARCH_$(date +%Y%m)"
iso_publisher="Arch Linux <https://archlinux.org>"
iso_application="Arch Linux Live/Rescue CD"
iso_version="$(date +%Y.%m.%d)"
install_dir="arch"
buildmodes=('iso')
bootmodes=('bios.syslinux.mbr' 'bios.syslinux.eltorito'
'uefi-ia32.grub.esp' 'uefi-x64.grub.esp'
'uefi-ia32.grub.eltorito' 'uefi-x64.grub.eltorito')
arch="x86_64"
pacman_conf="pacman.conf"
airootfs_image_type="squashfs"
airootfs_image_tool_options=('-comp' 'xz' '-Xbcj' 'x86' '-b' '1M' '-Xdict-size' '1M')
file_permissions=(
["/etc/shadow"]="0:0:400"
["/root"]="0:0:750"
["/root/.automated_script.sh"]="0:0:755"
["/usr/local/bin/choose-mirror"]="0:0:755"
["/usr/local/bin/Installation_guide"]="0:0:755"
["/usr/local/bin/livecd-sound"]="0:0:755"
)

1
nox/syslinux Symbolic link
View File

@ -0,0 +1 @@
../syslinux

View File

@ -6,7 +6,7 @@ ENDTEXT
MENU LABEL Arch Linux install medium (x86_64, NBD)
LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% archiso_nbd_srv=${pxeserver} checksum verify
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% archiso_nbd_srv=${pxeserver} checksum verify cow_spacesize=1G
SYSAPPEND 3
LABEL arch64_nfs
@ -17,7 +17,7 @@ ENDTEXT
MENU LABEL Arch Linux install medium (x86_64, NFS)
LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
APPEND archisobasedir=%INSTALL_DIR% archiso_nfs_srv=${pxeserver}:/run/archiso/bootmnt checksum verify
APPEND archisobasedir=%INSTALL_DIR% archiso_nfs_srv=${pxeserver}:/run/archiso/bootmnt checksum verify cow_spacesize=1G
SYSAPPEND 3
LABEL arch64_http
@ -28,5 +28,5 @@ ENDTEXT
MENU LABEL Arch Linux install medium (x86_64, HTTP)
LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/ checksum verify
APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/ checksum verify cow_spacesize=1G
SYSAPPEND 3

View File

@ -6,7 +6,7 @@ ENDTEXT
MENU LABEL Arch Linux install medium (x86_64, BIOS)
LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL%
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% cow_spacesize=1G
# Accessibility boot option
LABEL arch64speech
@ -17,7 +17,7 @@ ENDTEXT
MENU LABEL Arch Linux install medium (x86_64, BIOS) with ^speech
LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% accessibility=on
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% cow_spacesize=1G accessibility=on
# Copy to RAM boot option
LABEL arch64ram
@ -28,4 +28,4 @@ ENDTEXT
MENU LABEL Arch Linux install medium (x86_64, BIOS, Copy to RAM)
LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% copytoram
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% cow_spacesize=1G copytoram