new commitnew commit

This commit is contained in:
Manuel 2022-11-12 17:08:04 -01:00
parent 7cf111cd9e
commit 455f99e2ce
34 changed files with 660 additions and 21 deletions

View File

@ -1,13 +0,0 @@
[Desktop Entry]
Type=Application
Version=1.0
Name=Install My-distro
GenericName=InstallMy-distro
Exec=install-debian
Comment=Calamares Installer for My-distro
Keywords=calamares;system;install;debian;installer
Icon=install-debian
Terminal=false
Categories=Qt;System;
StartupWMClass=calamares
StartupNotify=True

View File

@ -0,0 +1,45 @@
[Desktop Entry]
Type=Application
Version=1.0
Name=Install My distro
Name[ar]=تنصيب لوبينتو 22.10
Name[ca]=Instal·lar My distro
Name[da]=Installer My distro
Name[de]=My distro installieren
Name[es]=Instalar My distro
Name[fr]=Installer My distro
Name[it]=Installa My distro
Name[no]=Installer My distro
Name[pl]=Zainstaluj My distro
Name[pt]=Instalar o My distro
Name[pt_BR]=Instalar My distro
GenericName=Install My-distro
GenericName[ar]=تنصيب لوبينتو
GenericName[ca]=Instal·lar My-distro
GenericName[da]=Installer My-distro
GenericName[de]=My-distro installieren
GenericName[es]=Instalar My-distro
GenericName[fr]=Installer My-distro
GenericName[it]=Installa My-distro
GenericName[no]=Installer My-distro
GenericName[pl]=Zainstaluj My-distro
GenericName[pt]=Instalar o My-distro
GenericName[pt_BR]=Instalar My-distro
Exec=pkexec calamares -D6
Comment=Calamares System Installer
Comment[ar]=الحبار منصب النظام
Comment[ca]=Calamares Instal·lador del Sistema
Comment[da]=Calamares - System installation
Comment[de]=Calamares System Installer
Comment[es]=Calamares Instalador del Sistema
Comment[fr]=Calamares Installateur de votre system
Comment[it]=Calamares Installatore del Sistema
Comment[no]=Calamares System installerer
Comment[pl]=Calamares Instalator systemu
Comment[pt]=Calamares Instalador do Sistema
Comment[pt_BR]=Calamares Instalador do sistema
Icon=calamares
Terminal=false
StartupNotify=true
Categories=Qt;System;
Keywords=installer;calamares;system;

View File

@ -0,0 +1,22 @@
#!/bin/bash
CHROOT=$(mount | grep proc | grep calamares | awk '{print $3}' | sed -e "s#/proc##g")
# Set secure permissions for the initramfs if we're configuring
# full-disk-encryption. The initramfs is re-generated later in the
# installation process so we only set the permissions snippet without
# regenerating the initramfs right now:
if [ "$(mount | grep $CHROOT" " | cut -c -16)" = "/dev/mapper/luks" ]; then
echo "UMASK=0077" > $CHROOT/etc/initramfs-tools/conf.d/initramfs-permissions
fi
echo "Running bootloader-config..."
if [ -d /sys/firmware/efi/efivars ]; then
echo " * Installing grub-efi (uefi)..."
DEBIAN_FRONTEND=noninteractive chroot $CHROOT apt install -y --no-upgrade -o Acquire::gpgv::Options::=--ignore-time-conflict grub-efi-$(if grep -q 64 /sys/firmware/efi/fw_platform_size; then echo amd64-signed; else echo ia32; fi)
DEBIAN_FRONTEND=noninteractive chroot $CHROOT apt install -y --no-upgrade -o Acquire::gpgv::Options::=--ignore-time-conflict shim-signed
else
echo " * install grub... (bios)"
DEBIAN_FRONTEND=noninteractive chroot $CHROOT apt-get -y install grub-pc cryptsetup keyutils
fi

View File

@ -58,7 +58,7 @@ linux-headers-generic
locales
language-selector-gnome
update-manager
ayatana-indicator-common
adwaita-icon-theme-full
dkms
dbus-x11
ntp
@ -235,14 +235,18 @@ mkdir -p $build/build/config/includes.chroot/usr/share/pixmaps
mkdir -p $build/build/config/includes.chroot/usr/share/plymouth
mkdir -p $build/build/config/includes.chroot/usr/share/desktop-base
mkdir -p $build/build/config/includes.chroot/etc/skel/Desktop
mkdir -p $build/build/config/includes.chroot/usr/share/ubiquity-slideshow
mkdir -p $build/build/config/includes.chroot/etc/calamares
# Copy Configs to the chroot
cp $build/userconfig/* $build/build/config/includes.chroot/etc/live/config.conf.d
cp $build/applications/* $build/build/config/includes.chroot/usr/share/applications
cp $build/hooks/live/* $build/build/config/hooks/live
cp $build/hooks/normal/* $build/build/config/hooks/normal
cp $build/install-debian/* $build/build/config/includes.chroot/usr/share/pixmaps
cp $build/sources-final/* $build/build/config/includes.chroot/usr/sbin
cp -r $build/calamares/* $build/build/config/includes.chroot/etc/calamares
cp -r $build/lightdm/* $build/build/config/includes.chroot/etc/lightdm
cp -r $build/bootloaders/* $build/build/config/bootloaders
cp -r $build/backgrounds/* $build/build/config/includes.chroot/usr/share/backgrounds
@ -251,6 +255,7 @@ cp -r $build/icons/* $build/build/config/includes.chroot/usr/share/icons
cp -r $build/themes/* $build/build/config/includes.chroot/usr/share/themes
cp -r $build/packages/* $build/build/config/packages.chroot
# Build the ISO #
lb build #--debug --verbose

Binary file not shown.

After

Width:  |  Height:  |  Size: 299 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 209 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 700 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 306 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 KiB

View File

@ -0,0 +1,29 @@
---
componentName: my-distro
welcomeStyleCalamares: true
strings:
productName: My-distro GNU/Linux
shortProductName: My-distro GNU/Linux
version: 1.0
shortVersion: 1.0
versionedName: My-distro GNU/Linux
shortVersionedName: My-distro GNU/Linux 1.0
bootloaderEntryName: debian
images:
productLogo: "debian-logo.png"
productIcon: "debian-logo.png"
productWelcome: "languages.png"
slideshow: "show.qml"
style:
sidebarBackground: "#303030"
sidebarText: "#FFFFFF"
sidebarTextSelect: "#4d7079"
sidebarTextSelect: "#292F34"
slideshowAPI: 2

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 292 KiB

View File

@ -0,0 +1,177 @@
/* === This file is part of Calamares - <https://github.com/calamares> ===
*
* Copyright 2015, Teo Mrnjavac <teo@kde.org>
*
* Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Calamares is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*/
import QtQuick 2.0;
import calamares.slideshow 1.0;
Presentation
{
id: presentation
Timer {
id: advanceTimer
interval: 15000
running: false
repeat: true
onTriggered: presentation.goToNextSlide()
}
Slide {
anchors.fill: parent
Image {
id: background
source: "1.png"
anchors.fill: parent
Text {
anchors.centerIn: parent
anchors.verticalCenterOffset: 0
anchors.horizontalCenterOffset: -125
font.pixelSize: parent.width *.015
color: 'white'
text: qsTr(""+
""+
""+
""+
"")
wrapMode: Text.WordWrap
width: 500
horizontalAlignment: Text.AlignLeft
}
}
}
Slide {
anchors.fill: parent
Image {
id: background1
source: "2.png"
anchors.fill: parent
Text {
anchors.centerIn: parent
anchors.verticalCenterOffset: 0
anchors.horizontalCenterOffset: 250
font.pixelSize: parent.width *.015
color: 'white'
text: qsTr(""+
""+
""+
"")
wrapMode: Text.WordWrap
width: 450
horizontalAlignment: Text.AlignLeft
}
}
}
Slide {
anchors.fill: parent
Image {
id: background2
source: "3.png"
anchors.fill: parent
Text {
anchors.centerIn: parent
anchors.verticalCenterOffset: 0
anchors.horizontalCenterOffset: -100
font.pixelSize: parent.width *.015
color: 'white'
text: qsTr(""+
">")
wrapMode: Text.WordWrap
width: 450
horizontalAlignment: Text.AlignLeft
}
}
}
Slide {
anchors.fill: parent
Image {
id: background3
source: "4.png"
anchors.fill: parent
Text {
anchors.centerIn: parent
anchors.verticalCenterOffset: 0
anchors.horizontalCenterOffset: 250
font.pixelSize: parent.width *.015
color: 'white'
text: qsTr(""+
""+
"")
wrapMode: Text.WordWrap
width: 450
horizontalAlignment: Text.AlignLeft
}
}
}
Slide {
anchors.fill: parent
Image {
id: background4
source: "5.png"
anchors.fill: parent
Text {
anchors.centerIn: parent
anchors.verticalCenterOffset: 0
anchors.horizontalCenterOffset: -200
font.pixelSize: parent.width *.015
color: 'white'
text: qsTr("")
wrapMode: Text.WordWrap
width: 450
horizontalAlignment: Text.Center
}
}
}
Slide {
anchors.fill: parent
Image {
id: background5
source: "6.png"
anchors.fill: parent
Text {
anchors.centerIn: parent
anchors.verticalCenterOffset: 0
anchors.horizontalCenterOffset: 250
font.pixelSize: parent.width *.015
color: 'white'
text: qsTr("")
wrapMode: Text.WordWrap
width: 450
horizontalAlignment: Text.Center
}
}
}
Component.onCompleted: advanceTimer.running = true
}

View File

@ -0,0 +1,54 @@
# Bootloader configuration. The bootloader is installed to allow
# the system to start (and pick one of the installed operating
# systems to run).
---
# Define which bootloader you want to use for EFI installations
# Possible options are 'grub', 'sb-shim' and 'systemd-boot'.
efiBootLoader: "grub"
# systemd-boot configuration files settings, set kernel and initramfs file names
# and amount of time before default selection boots
kernel: "/vmlinuz-linux"
img: "/initramfs-linux.img"
fallback: "/initramfs-linux-fallback.img"
timeout: "10"
# Optionally set the menu entry name and kernel name to use in systemd-boot.
# If not specified here, these settings will be taken from branding.desc.
#
# bootloaderEntryName: "Generic GNU/Linux"
# kernelLine: ", with Stable-Kernel"
# fallbackKernelLine: ", with Stable-Kernel (fallback initramfs)"
# GRUB 2 binary names and boot directory
# Some distributions (e.g. Fedora) use grub2-* (resp. /boot/grub2/) names.
# These names are also used when using sb-shim, since that needs some
# GRUB functionality (notably grub-probe) to work. As needed, you may use
# complete paths like `/usr/bin/efibootmgr` for the executables.
#
grubInstall: "grub-install"
grubMkconfig: "grub-mkconfig"
grubCfg: "/boot/grub/grub.cfg"
grubProbe: "grub-probe"
efiBootMgr: "efibootmgr"
# Optionally set the bootloader ID to use for EFI. This is passed to
# grub-install --bootloader-id.
#
# If not set here, the value from bootloaderEntryName from branding.desc
# is used, with problematic characters (space and slash) replaced.
#
# The ID is also used as a directory name within the EFI environment,
# and the bootloader is copied from /boot/efi/EFI/<dirname>/ . When
# setting the option here, keep in mind that the name is sanitized
# (problematic characters, see above, are replaced).
#
efiBootloaderId: "ubuntu"
# Optionally install a copy of the GRUB EFI bootloader as the EFI
# fallback loader (either bootia32.efi or bootx64.efi depending on
# the system). This may be needed on certain systems (Intel DH87MC
# seems to be the only one). If you set this to false, take care
# to add another module to optionally install the fallback on those
# boards that need it.
installEFIFallback: false

View File

@ -0,0 +1,28 @@
# Configure one or more display managers (e.g. SDDM)
# with a "best effort" approach.
---
#The DM module attempts to set up all the DMs found in this list, in that precise order.
#It also sets up autologin, if the feature is enabled in globalstorage.
#The displaymanagers list can also be set in globalstorage, and in that case it overrides anything set up here.
displaymanagers:
- slim
- sddm
- lightdm
- gdm
- mdm
- lxdm
- kdm
#Enable the following settings to force a desktop environment in your displaymanager configuration file:
#defaultDesktopEnvironment:
# executable: "startkde"
# desktopFile: "plasma"
#If true, try to ensure that the user, group, /var directory etc. for the
#display manager are set up correctly. This is normally done by the distribution
#packages, and best left to them. Therefore, it is disabled by default.
basicSetup: false
#If true, setup autologin for openSUSE. This only makes sense on openSUSE
#derivatives or other systems where /etc/sysconfig/displaymanager exists.
sysconfigSetup: false

View File

@ -0,0 +1,4 @@
---
restartNowEnabled: true
restartNowChecked: true
restartNowCommand: "systemctl -i reboot"

View File

@ -0,0 +1,11 @@
---
mountOptions:
default: defaults,noatime
btrfs: defaults,noatime,space_cache,autodefrag
ssdExtraMountOptions:
ext4: discard
jfs: discard
xfs: discard
swap: discard
btrfs: discard,compress=lzo
crypttabOptions: luks,keyscript=/bin/cat

View File

@ -0,0 +1,6 @@
localeGenPath: "/etc/locale.gen"
geoip:
style: "json"
url: "https://ipapi.co/json"
selector: "timezone"

View File

@ -0,0 +1,4 @@
# Writes an openswap configuration with LUKS settings to the given path
---
# Path of the configuration file to write (in the target system)
configFilePath: /etc/openswap.conf

View File

@ -0,0 +1,15 @@
---
# Whether to create /etc/machine-id for systemd.
systemd: true
# Whether to create /var/lib/dbus/machine-id for D-Bus.
dbus: true
# Whether /var/lib/dbus/machine-id should be a symlink to /etc/machine-id
# (ignored if dbus is false, or if there is no /etc/machine-id to point to).
symlink: true
# Whether to copy entropy from the host
entropy-copy: true
# Which files to write (paths in the target)
entropy-files:
- /var/lib/urandom/random-seed
- /var/lib/systemd/random-seed

View File

@ -0,0 +1,36 @@
# Mount filesystems in the target (generally, before treating the
# target as a usable chroot / "live" system). Filesystems are
# automatically mounted from the partitioning module. Filesystems
# listed here are **extra**. The filesystems listed in *extraMounts*
# are mounted in all target systems. The filesystems listed in
# *extraMountsEfi* are mounted in the target system **only** if
# the host machine uses UEFI.
---
# Extra filesystems to mount. The key's value is a list of entries; each
# entry has four keys:
# - device The device node to mount
# - fs The filesystem type to use
# - mountPoint Where to mount the filesystem
# - options (optional) Extra options to pass to mount(8)
#
extraMounts:
- device: proc
fs: proc
mountPoint: /proc
- device: sys
fs: sysfs
mountPoint: /sys
- device: /dev
mountPoint: /dev
options: bind
- device: tmpfs
fs: tmpfs
mountPoint: /run
- device: /run/udev
mountPoint: /run/udev
options: bind
extraMountsEfi:
- device: efivarfs
fs: efivarfs
mountPoint: /sys/firmware/efi/efivars

View File

@ -0,0 +1,14 @@
backend: apt
operations:
- remove:
- 'live-boot'
- 'live-boot-doc'
- 'live-config'
- 'live-config-doc'
- 'live-config-systemd'
- 'live-tools'
- 'live-task-localisation'
- 'live-task-recommended'
- 'calamares-settings-debian'
- 'calamares'

View File

@ -0,0 +1,12 @@
efiSystemPartition: "/boot/efi"
userSwapChoices:
- none # Create no swap, use no swap
- small # Up to 4GB
- suspend # At least main memory size
- file # To swap file instead of partition
alwaysShowPartitionLabels: true
initialPartitioningChoice: erase
initialSwapChoice: none
defaultFileSystemType: "ext4"
availableFileSystemTypes: ["ext4","btrfs", "f2fs","xfs"]

View File

@ -0,0 +1,5 @@
---
unpack:
- source: "/run/live/medium/live/filesystem.squashfs"
sourcefs: "squashfs"
destination: ""

View File

@ -0,0 +1,18 @@
---
userGroup: users
defaultGroups:
- cdrom
- floppy
- sudo
- audio
- dip
- video
- plugdev
- netdev
- lpadmin
- scanner
- bluetooth
- sambashare
autologinGroup: autologin
sudoersGroup: sudo
setRootPassword: true

View File

@ -0,0 +1,17 @@
---
showSupportUrl: false
showKnownIssuesUrl: false
showReleaseNotesUrl: false
requirements:
requiredStorage: 10
requiredRam: 1.0
check:
- storage
- ram
- power
- root
required:
- storage
- ram
- root

125
calamares/settings.conf Normal file
View File

@ -0,0 +1,125 @@
# Configuration file for Calamares
# Syntax is YAML 1.2
---
# "local" is LIBDIR/calamares/modules with settings in SHARE/calamares/modules
modules-search: [ local, /usr/lib/calamares/modules ]
# If this is set to true, Calamares refers to itself as a "setup program"
# rather than an "installer". Defaults to the value of dont-chroot, but
# Calamares will complain if this is not explicitly set.
oem-setup: false
# If this is set to true, the "Cancel" button will be disabled entirely.
# The button is also hidden from view.
#
# This can be useful if when e.g. Calamares is used as a post-install
# configuration tool and you require the user to go through all the
# configuration steps.
#
# Default is false, but Calamares will complain if this is not explicitly set.
#
# YAML: boolean.
disable-cancel: false
# If this is set to true, the "Cancel" button will be disabled once
# you start the 'Installation', meaning there won't be a way to cancel
# the Installation until it has finished or installation has failed.
#
# Default is false, but Calamares will complain if this is not explicitly set.
#
# YAML: boolean.
disable-cancel-during-exec: false
# If this is set to true, then once the end of the sequence has
# been reached, the quit (done) button is clicked automatically
# and Calamares will close. Default is false: the user will see
# that the end of installation has been reached, and that things are ok.
#
#
quit-at-end: false
sequence:
# Phase 1 - prepare.
# View modules are shown as UI pages, jobs from job modules
# are executed immediately in the background.
# Jobs should be executed sparingly (if at all) in this phase.
- show:
- welcome
- locale
- keyboard
- partition
- users
- summary
# Phase 2 - install.
# View modules are not shown. Only the view modules shown
# in the previous phase are allowed, their names should be
# added here as placeholders to specify the order in which
# view module jobs should be enqueued. Job modules are
# also allowed.
- exec:
- partition
- mount
- unpackfs
- sources-media
- machineid
- fstab
- locale
- keyboard
- localecfg
- users
- displaymanager
- networkcfg
- hwclock
- services-systemd
- bootloader-config
- grubcfg
- bootloader
- packages
- luksbootkeyfile
- plymouthcfg
- initramfscfg
- initramfs
- sources-media-unmount
- sources-final
- umount
# Phase 3 - postinstall.
# View modules are shown as UI pages, jobs from job modules are
# executed immediately in the background.
# Jobs should be executed sparingly (if at all) in this phase.
- show:
- finished
# A branding component is a directory, either in
# SHARE/calamares/branding or in /etc/calamares/branding
# (the latter takes precedence). The directory must contain a
# YAML file branding.desc which may reference additional resources
# (such as images) as paths relative to the current directory.
# Only the name of the branding component (directory) should be
# specified here, Calamares then takes care of finding it and
# loading the contents.
branding: my-distro
# If this is set to true, Calamares will show an "Are you sure?" prompt right
# before each execution phase, i.e. at points of no return. If this is set to
# false, no prompt is shown. Default is false.
#
# YAML: boolean.
prompt-install: false
# If this is set to true, Calamares will execute all target environment
# commands in the current environment, without chroot. This setting should
# only be used when setting up Calamares as a post-install configuration tool,
# as opposed to a full operating system installer.
#
# Some official Calamares modules are not expected to function with this
# setting. (e.g. partitioning seems like a bad idea, since that is expected to
# have been done already)
#
# Default is false (for a normal installer).
#
# YAML: boolean.
dont-chroot: false

View File

@ -1,4 +1,4 @@
favorites=xfce4-web-browser.desktop,xfce4-mail-reader.desktop,xfce4-file-manager.desktop,xfce4-terminal-emulator.desktop
favorites=xfce4-web-browser.desktop,xfce4-mail-reader.desktop,xfce4-file-manager.desktop,xfce4-terminal-emulator.desktop ubiquity.desktop
recent=
button-title=My-distro
button-icon=debian-logo

View File

@ -1,5 +1,4 @@
#!/bin/bash
# install ubiquity installer
apt install -y --no-install-recommends ubiquity ubiquity-frontend-gtk ubiquity-slideshow-xubuntu ubiquity-casper casper
apt install -y --no-install-recommends ubiquity ubiquity-frontend-gtk ubiquity-slideshow-xubuntu ubiquity-casper

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

View File

@ -112,7 +112,7 @@ greeter-hide-users=false
#greeter-show-remote-login=true
#user-session=default
#allow-user-switching=true
#allow-guest=true
allow-guest=false
#guest-session=
#session-wrapper=lightdm-session
#greeter-wrapper=
@ -122,9 +122,9 @@ greeter-hide-users=false
#greeter-setup-script=
#session-setup-script=
#session-cleanup-script=
#autologin-guest=false
autologin-guest=false
autologin-user=user
#autologin-user-timeout=0
autologin-user-timeout=0
#autologin-in-background=false
#autologin-session=
#exit-on-failure=false

26
sources-final/sources-final Executable file
View File

@ -0,0 +1,26 @@
#!/bin/sh
#
# Writes the final sources.list file
#
CHROOT=$(mount | grep proc | grep calamares | awk '{print $3}' | sed -e "s#/proc##g")
RELEASE="jammy"
cat << EOF > $CHROOT/etc/apt/sources.list
# See https://wiki.debian.org/SourcesList for more information.
deb http://archive.ubuntu.com/ubuntu/ jammy main restricted universe multiverse
#deb-src http://archive.ubuntu.com/ubuntu/ jammy main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted universe multiverse
#deb-src http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse
#deb-src http://security.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse
#deb-src http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse
EOF
exit 0