Skip to content

Commit

Permalink
29.09.2020 Update new mkarchiso, merge xfce
Browse files Browse the repository at this point in the history
  • Loading branch information
creio committed Sep 29, 2020
2 parents 42e6bc1 + 328de1f commit 5bfb867
Show file tree
Hide file tree
Showing 2,589 changed files with 129,116 additions and 863 deletions.
36 changes: 21 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,42 +6,48 @@ Home: https://ctlos.github.io

## Создание(build) iso

[Подробная статья в wiki](https://ctlos.github.io/wiki/other/ctlosiso/).
- [Подробная статья в Ctlos Wiki](https://ctlos.github.io/wiki/other/ctlosiso/)
- [Wiki Arch Linux](https://wiki.archlinux.org/index.php/archiso)
- [Archiso Repo](https://gitlab.archlinux.org/archlinux/archiso)

Установить пакеты для сборки.

```bash
yay -S git arch-install-scripts archiso --noconfirm
yay -S git archiso mkinitcpio-archiso --noconfirm --needed
```

Первым параметром указываем de/wm, ориентир файл packages.openbox(de/wm). Вторым версию(любую), иначе не отработает.

В скрипте `autobuild.sh` измените переменную `USER`, на ваше имя пользователя `st`, или оставьте `$(whoami)`.

Измените список пакетов.

- Основные пакеты: packages.x86_64
- Пакеты относяшиеся к openbox: packages.openbox
- Основные пакеты: `packages.x86_64`

В `pacman.conf` указан репозиторий [Ctlos repo](https://github.com/ctlos/ctlos_repo), соответственно пакеты беруться и отсюда `x86_64`.
В `pacman.conf` указан репозиторий [Ctlos repo](https://github.com/ctlos/ctlos_repo/tree/dev), соответственно пакеты беруться и отсюда `x86_64`.

- Конфиги системы в `/airootfs` это будущий корень.
- Конфиги пользователя в `/airootfs/etc/skel`.
- Часть конфигов залетает в систему, через пакеты ctlos, например [ctlos-openbox-skel](https://github.com/ctlos/ctlos-openbox-skel)
- Часть конфигов залетает в систему, через пакеты ctlos, например [ctlos-bspwm-skel](https://github.com/ctlos/ctlos-bspwm-skel)
- Основной скрипт генерации `/airootfs/root/customize_airootfs.sh`.
- Готовый образ и хэши создаются в данной директории `/out`.
- Скрипт `mkarchiso` это немного измененный стандартный скрипт из `archiso`, добавлено выполнение скрипта `chroot.sh` перед сжатием `mksquashfs`.
- Скрипт `autobuild.sh` дополнительная обертка над `mkarchiso`.

Мастер(master) ветка по умолчанию, в ней xfce.

```sh
git clone https://github.com/ctlos/ctlosiso
git clone --depth=1 https://github.com/ctlos/ctlosiso
cd ctlosiso
chmod +x {autobuild.sh,build.sh,chroot.sh,mkarchiso}
sudo ./autobuild.sh openbox 1.7.0

# делаем скрипты исполняемыми
chmod +x {autobuild.sh,chroot.sh,mkarchiso}

# Передаем аргумент de/wm_версия, можно любой, иначе не отработает.

sudo ./autobuild.sh xfce_1.10.0
```

Можно клонировать определенную ветку, с нужным de/wm (xfce/bspwm).
Можно клонировать определенную ветку, с нужным de/wm (openbox/bspwm).

```sh
git clone -b xfce git@github.com:ctlos/ctlosiso.git
git clone -b bspwm --depth=1 https://github.com/ctlos/ctlosiso
```

Получить удаленную ветку и переключиться на неё.
Expand Down
8 changes: 8 additions & 0 deletions airootfs/etc/X11/xorg.conf.d/50-mouse-acceleration.conf.bak
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
Section "InputClass"
Identifier "libinput pointer catchall"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
MatchIsPointer "yes"
Option "AccelProfile" "flat"
Option "AccelSpeed" "0.6"
EndSection
69 changes: 69 additions & 0 deletions airootfs/etc/ctlos-mkinitcpio.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
#
# SPDX-License-Identifier: GPL-3.0-or-later

# vim:set ft=sh
# MODULES
# The following modules are loaded before any boot hooks are
# run. Advanced users may wish to specify all system modules
# in this array. For instance:
# MODULES=(piix ide_disk reiserfs)
MODULES=()

# BINARIES
# This setting includes any additional binaries a given user may
# wish into the CPIO image. This is run last, so it may be used to
# override the actual binaries included by a given hook
# BINARIES are dependency parsed, so you may safely ignore libraries
BINARIES=()

# FILES
# This setting is similar to BINARIES above, however, files are added
# as-is and are not parsed in any way. This is useful for config files.
FILES=""

# HOOKS
# This is the most important setting in this file. The HOOKS control the
# modules and scripts added to the image, and what happens at boot time.
# Order is important, and it is recommended that you do not change the
# order in which HOOKS are added. Run 'mkinitcpio -H <hook name>' for
# help on a given hook.
# 'base' is _required_ unless you know precisely what you are doing.
# 'udev' is _required_ in order to automatically load modules
# 'filesystems' is _required_ unless you specify your fs modules in MODULES
# Examples:
## This setup specifies all modules in the MODULES setting above.
## No raid, lvm2, or encrypted root is needed.
# HOOKS=(base)
#
## This setup will autodetect all modules for your system and should
## work as a sane default
# HOOKS=(base udev autodetect block filesystems)
#
## This setup will generate a 'full' image which supports most systems.
## No autodetection is done.
# HOOKS=(base udev block filesystems)
#
## This setup assembles a pata mdadm array with an encrypted root FS.
## Note: See 'mkinitcpio -H mdadm' for more information on raid devices.
# HOOKS=(base udev block mdadm encrypt filesystems)
#
## This setup loads an lvm2 volume group on a usb device.
# HOOKS=(base udev block lvm2 filesystems)
#
## NOTE: If you have /usr on a separate partition, you MUST include the
# usr, fsck and shutdown hooks.
HOOKS=(base udev autodetect modconf block keyboard keymap filesystems fsck)

# COMPRESSION
# Use this to compress the initramfs image. By default, gzip compression
# is used. Use 'cat' to create an uncompressed image.
#COMPRESSION="gzip"
#COMPRESSION="bzip2"
#COMPRESSION="lzma"
COMPRESSION="xz"
#COMPRESSION="lzop"
#COMPRESSION="lz4"

# COMPRESSION_OPTIONS
# Additional options for the compressor
#COMPRESSION_OPTIONS=()
2 changes: 1 addition & 1 deletion airootfs/etc/default/grub
Original file line number Diff line number Diff line change
Expand Up @@ -54,4 +54,4 @@ GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT="true"

# Uncomment to make grub show themes
GRUB_THEME="/usr/share/grub/themes/crimson/theme.txt"
#GRUB_THEME="/usr/share/grub/themes/crimson/theme.txt"
4 changes: 3 additions & 1 deletion airootfs/etc/hostname
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
ctlos
#
# SPDX-License-Identifier: GPL-3.0-or-later
ctlos
4 changes: 4 additions & 0 deletions airootfs/etc/locale.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#
# SPDX-License-Identifier: GPL-3.0-or-later

LANG=en_US.UTF-8
1 change: 1 addition & 0 deletions airootfs/etc/localtime
5 changes: 0 additions & 5 deletions airootfs/etc/lsb-release

This file was deleted.

Empty file removed airootfs/etc/machine-id
Empty file.
69 changes: 69 additions & 0 deletions airootfs/etc/mkinitcpio.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
#
# SPDX-License-Identifier: GPL-3.0-or-later

# vim:set ft=sh
# MODULES
# The following modules are loaded before any boot hooks are
# run. Advanced users may wish to specify all system modules
# in this array. For instance:
# MODULES=(piix ide_disk reiserfs)
MODULES=()

# BINARIES
# This setting includes any additional binaries a given user may
# wish into the CPIO image. This is run last, so it may be used to
# override the actual binaries included by a given hook
# BINARIES are dependency parsed, so you may safely ignore libraries
BINARIES=()

# FILES
# This setting is similar to BINARIES above, however, files are added
# as-is and are not parsed in any way. This is useful for config files.
FILES=()

# HOOKS
# This is the most important setting in this file. The HOOKS control the
# modules and scripts added to the image, and what happens at boot time.
# Order is important, and it is recommended that you do not change the
# order in which HOOKS are added. Run 'mkinitcpio -H <hook name>' for
# help on a given hook.
# 'base' is _required_ unless you know precisely what you are doing.
# 'udev' is _required_ in order to automatically load modules
# 'filesystems' is _required_ unless you specify your fs modules in MODULES
# Examples:
## This setup specifies all modules in the MODULES setting above.
## No raid, lvm2, or encrypted root is needed.
# HOOKS=(base)
#
## This setup will autodetect all modules for your system and should
## work as a sane default
# HOOKS=(base udev autodetect block filesystems)
#
## This setup will generate a 'full' image which supports most systems.
## No autodetection is done.
# HOOKS=(base udev block filesystems)
#
## This setup assembles a pata mdadm array with an encrypted root FS.
## Note: See 'mkinitcpio -H mdadm' for more information on raid devices.
# HOOKS=(base udev block mdadm encrypt filesystems)
#
## This setup loads an lvm2 volume group on a usb device.
# HOOKS=(base udev block lvm2 filesystems)
#
## NOTE: If you have /usr on a separate partition, you MUST include the
# usr, fsck and shutdown hooks.
HOOKS=(base udev memdisk archiso_shutdown archiso archiso_loop_mnt archiso_kms block filesystems keyboard)

# COMPRESSION
# Use this to compress the initramfs image. By default, gzip compression
# is used. Use 'cat' to create an uncompressed image.
#COMPRESSION="gzip"
#COMPRESSION="bzip2"
#COMPRESSION="lzma"
COMPRESSION="xz"
#COMPRESSION="lzop"
#COMPRESSION="lz4"

# COMPRESSION_OPTIONS
# Additional options for the compressor
#COMPRESSION_OPTIONS=()
14 changes: 14 additions & 0 deletions airootfs/etc/mkinitcpio.d/ctlos.preset
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# mkinitcpio preset file for the 'linux' package

ALL_config="/etc/mkinitcpio.conf"
ALL_kver="/boot/vmlinuz-linux"

PRESETS=('default' 'fallback')

#default_config="/etc/mkinitcpio.conf"
default_image="/boot/initramfs-linux.img"
#default_options=""

#fallback_config="/etc/mkinitcpio.conf"
fallback_image="/boot/initramfs-linux-fallback.img"
fallback_options="-S autodetect"
11 changes: 11 additions & 0 deletions airootfs/etc/mkinitcpio.d/linux.preset
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#
# SPDX-License-Identifier: GPL-3.0-or-later

# mkinitcpio preset file for the 'linux' package on archiso

PRESETS=('archiso')

ALL_kver='/boot/vmlinuz-linux'
ALL_config='/etc/mkinitcpio.conf'

archiso_image="/boot/archiso.img"
7 changes: 7 additions & 0 deletions airootfs/etc/modprobe.d/broadcom-wl.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# The broadcom-wl package requires some modules to be disabled in order to use
# wl. Since the ISO image needs to cover many hardware cases, this file
# overrides the default blacklist in /usr/lib/modprobe.d/
#
# If you need to use wl, you may need to delete this file, then `rmmod` any
# already-loaded modules that are now blacklisted before proceeding to modprobe
# wl itself.
2 changes: 0 additions & 2 deletions airootfs/etc/modprobe.d/nobeep.conf

This file was deleted.

15 changes: 15 additions & 0 deletions airootfs/etc/motd
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
.
/|\
//|\\
///|\\\
////|\\\\
/////|\\\\\
//////|\\\\\\
/////// \\\\\\\
/////// \\\\\\\
/////// \\\\\\\
"""""""

LOL.
For Wi-Fi, authenticate to the wireless network using the iwctl utility.
Ethernet and Wi-Fi connections using DHCP should work automatically.
28 changes: 0 additions & 28 deletions airootfs/etc/oblogout.conf

This file was deleted.

32 changes: 32 additions & 0 deletions airootfs/etc/pacman.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
[options]
HoldPkg = pacman glibc
Architecture = auto
Color
ILoveCandy

SigLevel = Required DatabaseOptional
LocalFileSigLevel = Optional

IgnorePkg =

[core]
Include = /etc/pacman.d/mirrorlist

[extra]
Include = /etc/pacman.d/mirrorlist

[community]
Include = /etc/pacman.d/mirrorlist

[multilib]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist

[ctlos_repo]
Include = /etc/pacman.d/ctlos-mirrorlist

# [ctlos_repo]
# SigLevel = Required DatabaseOptional
# SigLevel = Optional TrustAll
#SigLevel = Never
# Server = file:///media/files/github/ctlos/ctlos_repo/$arch
11 changes: 11 additions & 0 deletions airootfs/etc/pacman.d/hooks/appstream.hook
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
[Trigger]
Operation = Install
Operation = Upgrade
Type = Package
Target = archlinux-appstream-data

[Action]
Description = Fix pamac
When = PostTransaction
Depends = appstream
Exec = /bin/sh -c "zcat /usr/share/app-info/xmls/community.xml.gz | sed 's|<em>||g;s|<\/em>||g;' | gzip > '/tmp/new.xml.gz'; mv /tmp/new.xml.gz /usr/share/app-info/xmls/community.xml.gz; appstreamcli refresh-cache --force"
10 changes: 10 additions & 0 deletions airootfs/etc/pacman.d/hooks/issue.hook
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
[Trigger]
Operation = Install
Operation = Upgrade
Type = Package
Target = filesystem

[Action]
Description = Add Ctlos specifc config.
When = PostTransaction
Exec = /bin/sh -c "sed -i 's|Arch|Ctlos|g' /etc/issue /usr/share/factory/etc/issue"
10 changes: 10 additions & 0 deletions airootfs/etc/pacman.d/hooks/lsb-release.hook
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
[Trigger]
Operation = Install
Operation = Upgrade
Type = Package
Target = lsb-release

[Action]
Description = Add Ctlos Linux specifc config.
When = PostTransaction
Exec = /bin/sh -c "sed -i -e 's,DISTRIB_ID=.*,DISTRIB_ID=Ctlos,' -e 's,DISTRIB_RELEASE=.*,DISTRIB_RELEASE=Rolling,' -e 's,DISTRIB_CODENAME=.*,DISTRIB_CODENAME=Anon,' -e 's,DISTRIB_DESCRIPTION=.*,DISTRIB_DESCRIPTION=\"Ctlos Linux\",' /etc/lsb-release"
10 changes: 10 additions & 0 deletions airootfs/etc/pacman.d/hooks/mirrors.hook
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
[Trigger]
Operation = Upgrade
Type = Package
Target = pacman-mirrorlist

[Action]
Description = Updating /etc/pacman.d/mirrorlist
When = PostTransaction
Depends = reflector
Exec = /bin/sh -c "reflector --protocol https --latest 30 --sort rate --save /etc/pacman.d/mirrorl"
Loading

0 comments on commit 5bfb867

Please sign in to comment.