├── .gitignore ├── README.md ├── alarmimg ├── etc │ ├── default │ │ └── cpupower │ ├── environment │ ├── group │ ├── gshadow │ ├── hostname │ ├── localtime │ ├── makepkg.conf │ ├── mkinitcpio.conf.bak │ ├── pacman.conf │ ├── passwd │ ├── plymouth │ │ └── plymouthd.conf │ ├── polkit-1 │ │ └── rules.d │ │ │ └── 49-nopasswd_global.rules │ ├── pulse │ │ └── pulse.conf │ ├── sddm.conf.d │ │ └── autologin.conf │ ├── shadow │ ├── sudoers.d │ │ └── g_wheel │ └── systemd │ │ └── system │ │ ├── display-manager.service │ │ └── multi-user.target.wants │ │ ├── NetworkManager.service │ │ ├── cpupower.service │ │ ├── opi5-usb.service │ │ ├── pacman-init.service │ │ ├── resizefs.service │ │ ├── sddm.service │ │ ├── sshd.service │ │ ├── sshdkeygen.service │ │ ├── systemd-timesyncd.service │ │ └── zswap-arm.service ├── home │ └── rebornos │ │ ├── .rebornos-iso-welcome │ │ └── configuration │ │ │ └── settings.json │ │ └── .rebornos-welcome │ │ └── configuration │ │ └── settings.json └── usr │ ├── bin │ ├── oemcleanup │ ├── remove-calamares │ ├── resizefs │ └── zswap-arm-ctrl │ ├── lib │ └── systemd │ │ └── system │ │ ├── oemcleanup.service │ │ ├── opi5-usb.service │ │ ├── pacman-init.service │ │ ├── remove-calamares.service │ │ ├── resizefs.service │ │ └── zswap-arm.service │ └── share │ └── backgrounds │ ├── pexels-dương-nhân-2232979.jpg │ └── pexels-pixabay-258112.jpg ├── fixperms.sh ├── idbloader.img ├── packages.aarch64 ├── pacman.conf.aarch64 ├── profiledef └── u-boot.itb /.gitignore: -------------------------------------------------------------------------------- 1 | .img 2 | **/out 3 | **/work 4 | .img.xz 5 | .log 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # lxqt-opi5-image 2 | Files for creating an lxqt Orange pi 5 image 3 | Usage 4 | ``` 5 | mkimage.py -w ./work/ -o ./out/ -c ./lxqt-opi5-image/ 6 | ``` 7 | -------------------------------------------------------------------------------- /alarmimg/etc/default/cpupower: -------------------------------------------------------------------------------- 1 | # Define CPUs governor 2 | # valid governors: ondemand, performance, powersave, conservative, userspace. 3 | governor='performance' 4 | 5 | # Limit frequency range 6 | # Valid suffixes: Hz, kHz (default), MHz, GHz, THz 7 | #min_freq="2.25GHz" 8 | #max_freq="3GHz" 9 | 10 | # Specific frequency to be set. 11 | # Requires userspace governor to be available. 12 | # Do not set governor field if you use this one. 13 | #freq= 14 | 15 | # Utilizes cores in one processor package/socket first before processes are 16 | # scheduled to other processor packages/sockets. 17 | # See man (1) CPUPOWER-SET for additional details. 18 | #mc_scheduler= 19 | 20 | # Utilizes thread siblings of one processor core first before processes are 21 | # scheduled to other cores. See man (1) CPUPOWER-SET for additional details. 22 | #smp_scheduler= 23 | 24 | # Sets a register on supported Intel processore which allows software to convey 25 | # its policy for the relative importance of performance versus energy savings to 26 | # the processor. See man (1) CPUPOWER-SET for additional details. 27 | #perf_bias= 28 | 29 | # vim:set ts=2 sw=2 ft=sh et: -------------------------------------------------------------------------------- /alarmimg/etc/environment: -------------------------------------------------------------------------------- 1 | # 2 | # This file is parsed by pam_env module 3 | # 4 | # Syntax: simple "KEY=VAL" pairs on separate lines 5 | # 6 | PAN_MESA_DEBUG=gofaster -------------------------------------------------------------------------------- /alarmimg/etc/group: -------------------------------------------------------------------------------- 1 | root:x:0:root 2 | sys:x:3:bin,rebornos 3 | network:x:90:rebornos 4 | power:x:98:rebornos 5 | adm:x:999:rebornos 6 | wheel:x:998:rebornos 7 | uucp:x:987:rebornos 8 | optical:x:990:rebornos 9 | rfkill:x:983:rebornos 10 | video:x:986:rebornos 11 | storage:x:988:rebornos 12 | audio:x:995:rebornos 13 | users:x:985:rebornos 14 | nopasswdlogin:x:966:rebornos 15 | autologin:x:967:rebornos 16 | rebornos:x:1001: 17 | -------------------------------------------------------------------------------- /alarmimg/etc/gshadow: -------------------------------------------------------------------------------- 1 | root:::root 2 | sys:!!::rebornos 3 | network:!!::rebornos 4 | power:!!::rebornos 5 | adm:!!::rebornos 6 | wheel:!!::rebornos 7 | uucp:!!::rebornos 8 | optical:!!::rebornos 9 | rfkill:!!::rebornos 10 | video:!!::rebornos 11 | storage:!!::rebornos 12 | audio:!!::rebornos 13 | users:!!::rebornos 14 | nopasswdlogin:!::rebornos 15 | autologin:!::rebornos 16 | libvirt:!!::rebornos 17 | rebornos:!:: 18 | -------------------------------------------------------------------------------- /alarmimg/etc/hostname: -------------------------------------------------------------------------------- 1 | rebornos 2 | -------------------------------------------------------------------------------- /alarmimg/etc/localtime: -------------------------------------------------------------------------------- 1 | /usr/share/zoneinfo/Europe/London -------------------------------------------------------------------------------- /alarmimg/etc/makepkg.conf: -------------------------------------------------------------------------------- 1 | #!/hint/bash 2 | # 3 | # /etc/makepkg.conf 4 | # 5 | 6 | ######################################################################### 7 | # SOURCE ACQUISITION 8 | ######################################################################### 9 | # 10 | #-- The download utilities that makepkg should use to acquire sources 11 | # Format: 'protocol::agent' 12 | DLAGENTS=('file::/usr/bin/curl -qgC - -o %o %u' 13 | 'ftp::/usr/bin/curl -qgfC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u' 14 | 'http::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' 15 | 'https::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' 16 | 'rsync::/usr/bin/rsync --no-motd -z %u %o' 17 | 'scp::/usr/bin/scp -C %u %o') 18 | 19 | # Other common tools: 20 | # /usr/bin/snarf 21 | # /usr/bin/lftpget -c 22 | # /usr/bin/wget 23 | 24 | #-- The package required by makepkg to download VCS sources 25 | # Format: 'protocol::package' 26 | VCSCLIENTS=('bzr::bzr' 27 | 'fossil::fossil' 28 | 'git::git' 29 | 'hg::mercurial' 30 | 'svn::subversion') 31 | 32 | ######################################################################### 33 | # ARCHITECTURE, COMPILE FLAGS 34 | ######################################################################### 35 | # 36 | CARCH="aarch64" 37 | CHOST="aarch64-unknown-linux-gnu" 38 | 39 | #-- Compiler and Linker Flags 40 | # -march (or -mcpu) builds exclusively for an architecture 41 | # -mtune optimizes for an architecture, but builds for whole processor family 42 | CPPFLAGS="" 43 | CFLAGS="-march=armv8-a -O2 -pipe -fstack-protector-strong -fno-plt -fexceptions \ 44 | -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \ 45 | -fstack-clash-protection" 46 | CXXFLAGS="$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS" 47 | LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now" 48 | LTOFLAGS="" 49 | #RUSTFLAGS="-C opt-level=2" 50 | #-- Make Flags: change this for DistCC/SMP systems 51 | MAKEFLAGS="-j7" 52 | #-- Debugging flags 53 | DEBUG_CFLAGS="-g -fvar-tracking-assignments" 54 | DEBUG_CXXFLAGS="-g -fvar-tracking-assignments" 55 | #DEBUG_RUSTFLAGS="-C debuginfo=2" 56 | 57 | ######################################################################### 58 | # BUILD ENVIRONMENT 59 | ######################################################################### 60 | # 61 | # Makepkg defaults: BUILDENV=(!distcc !color !ccache check !sign) 62 | # A negated environment option will do the opposite of the comments below. 63 | # 64 | #-- distcc: Use the Distributed C/C++/ObjC compiler 65 | #-- color: Colorize output messages 66 | #-- ccache: Use ccache to cache compilation 67 | #-- check: Run the check() function if present in the PKGBUILD 68 | #-- sign: Generate PGP signature file 69 | # 70 | BUILDENV=(!distcc color !ccache check !sign) 71 | # 72 | #-- If using DistCC, your MAKEFLAGS will also need modification. In addition, 73 | #-- specify a space-delimited list of hosts running in the DistCC cluster. 74 | #DISTCC_HOSTS="" 75 | # 76 | #-- Specify a directory for package building. 77 | #BUILDDIR=/tmp/makepkg 78 | 79 | ######################################################################### 80 | # GLOBAL PACKAGE OPTIONS 81 | # These are default values for the options=() settings 82 | ######################################################################### 83 | # 84 | # Makepkg defaults: OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug !lto) 85 | # A negated option will do the opposite of the comments below. 86 | # 87 | #-- strip: Strip symbols from binaries/libraries 88 | #-- docs: Save doc directories specified by DOC_DIRS 89 | #-- libtool: Leave libtool (.la) files in packages 90 | #-- staticlibs: Leave static library (.a) files in packages 91 | #-- emptydirs: Leave empty directories in packages 92 | #-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip 93 | #-- purge: Remove files specified by PURGE_TARGETS 94 | #-- debug: Add debugging flags as specified in DEBUG_* variables 95 | #-- lto: Add compile flags for building with link time optimization 96 | # 97 | OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !debug !lto) 98 | 99 | #-- File integrity checks to use. Valid: md5, sha1, sha224, sha256, sha384, sha512, b2 100 | INTEGRITY_CHECK=(sha256) 101 | #-- Options to be used when stripping binaries. See `man strip' for details. 102 | STRIP_BINARIES="--strip-all" 103 | #-- Options to be used when stripping shared libraries. See `man strip' for details. 104 | STRIP_SHARED="--strip-unneeded" 105 | #-- Options to be used when stripping static libraries. See `man strip' for details. 106 | STRIP_STATIC="--strip-debug" 107 | #-- Manual (man and info) directories to compress (if zipman is specified) 108 | MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info}) 109 | #-- Doc directories to remove (if !docs is specified) 110 | DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc}) 111 | #-- Files to be removed from all packages (if purge is specified) 112 | PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod) 113 | #-- Directory to store source code in for debug packages 114 | DBGSRCDIR="/usr/src/debug" 115 | 116 | ######################################################################### 117 | # PACKAGE OUTPUT 118 | ######################################################################### 119 | # 120 | # Default: put built package and cached source in build directory 121 | # 122 | #-- Destination: specify a fixed directory where all packages will be placed 123 | #PKGDEST=/home/packages 124 | #-- Source cache: specify a fixed directory where source files will be cached 125 | #SRCDEST=/home/sources 126 | #-- Source packages: specify a fixed directory where all src packages will be placed 127 | #SRCPKGDEST=/home/srcpackages 128 | #-- Log files: specify a fixed directory where all log files will be placed 129 | #LOGDEST=/home/makepkglogs 130 | #-- Packager: name/email of the person or organization building packages 131 | #PACKAGER="John Doe " 132 | #-- Specify a key to use for package signing 133 | #GPGKEY="" 134 | 135 | ######################################################################### 136 | # COMPRESSION DEFAULTS 137 | ######################################################################### 138 | # 139 | COMPRESSGZ=(gzip -c -f -n) 140 | COMPRESSBZ2=(bzip2 -c -f) 141 | COMPRESSXZ=(xz -T0 -c -z -) 142 | COMPRESSZST=(zstd -c -z -q -) 143 | COMPRESSLRZ=(lrzip -q) 144 | COMPRESSLZO=(lzop -q) 145 | COMPRESSZ=(compress -c -f) 146 | COMPRESSLZ4=(lz4 -q) 147 | COMPRESSLZ=(lzip -c -f) 148 | 149 | ######################################################################### 150 | # EXTENSION DEFAULTS 151 | ######################################################################### 152 | # 153 | PKGEXT='.pkg.tar.zst' 154 | SRCEXT='.src.tar.gz' 155 | 156 | ######################################################################### 157 | # OTHER 158 | ######################################################################### 159 | # 160 | #-- Command used to run pacman as root, instead of trying sudo and su 161 | #PACMAN_AUTH=() 162 | -------------------------------------------------------------------------------- /alarmimg/etc/mkinitcpio.conf.bak: -------------------------------------------------------------------------------- 1 | # vim:set ft=sh 2 | # MODULES 3 | # The following modules are loaded before any boot hooks are 4 | # run. Advanced users may wish to specify all system modules 5 | # in this array. For instance: 6 | # MODULES=(piix ide_disk reiserfs) 7 | MODULES=() 8 | 9 | # BINARIES 10 | # This setting includes any additional binaries a given user may 11 | # wish into the CPIO image. This is run last, so it may be used to 12 | # override the actual binaries included by a given hook 13 | # BINARIES are dependency parsed, so you may safely ignore libraries 14 | BINARIES=() 15 | 16 | # FILES 17 | # This setting is similar to BINARIES above, however, files are added 18 | # as-is and are not parsed in any way. This is useful for config files. 19 | FILES=() 20 | 21 | # HOOKS 22 | # This is the most important setting in this file. The HOOKS control the 23 | # modules and scripts added to the image, and what happens at boot time. 24 | # Order is important, and it is recommended that you do not change the 25 | # order in which HOOKS are added. Run 'mkinitcpio -H ' for 26 | # help on a given hook. 27 | # 'base' is _required_ unless you know precisely what you are doing. 28 | # 'udev' is _required_ in order to automatically load modules 29 | # 'filesystems' is _required_ unless you specify your fs modules in MODULES 30 | # Examples: 31 | ## This setup specifies all modules in the MODULES setting above. 32 | ## No raid, lvm2, or encrypted root is needed. 33 | # HOOKS=(base) 34 | # 35 | ## This setup will autodetect all modules for your system and should 36 | ## work as a sane default 37 | # HOOKS=(base udev autodetect block filesystems) 38 | # 39 | ## This setup will generate a 'full' image which supports most systems. 40 | ## No autodetection is done. 41 | # HOOKS=(base udev block filesystems) 42 | # 43 | ## This setup assembles a pata mdadm array with an encrypted root FS. 44 | ## Note: See 'mkinitcpio -H mdadm' for more information on raid devices. 45 | # HOOKS=(base udev block mdadm encrypt filesystems) 46 | # 47 | ## This setup loads an lvm2 volume group on a usb device. 48 | # HOOKS=(base udev block lvm2 filesystems) 49 | # 50 | ## NOTE: If you have /usr on a separate partition, you MUST include the 51 | # usr, fsck and shutdown hooks. 52 | HOOKS=(base udev autodetect modconf block filesystems keyboard fsck plymouth) 53 | 54 | # COMPRESSION 55 | # Use this to compress the initramfs image. By default, gazip compression 56 | # is used. Use 'cat' to create an uncompressed image. 57 | #COMPRESSION="zstd" 58 | #COMPRESSION="gzip" 59 | #COMPRESSION="bzip2" 60 | #COMPRESSION="lzma" 61 | #COMPRESSION="xz" 62 | #COMPRESSION="lzop" 63 | #COMPRESSION="lz4" 64 | 65 | # COMPRESSION_OPTIONS 66 | # Additional options for the compressor 67 | #COMPRESSION_OPTIONS=() 68 | -------------------------------------------------------------------------------- /alarmimg/etc/pacman.conf: -------------------------------------------------------------------------------- 1 | # /etc/pacman.conf 2 | # 3 | # 4 | # See the pacman.conf(5) manpage for option and repository directives 5 | 6 | # 7 | # GENERAL OPTIONS 8 | # 9 | [options] 10 | # IgnorePkg = 11 | # RootDir = / 12 | # DBPath = /var/lib/pacman/ 13 | # CacheDir = /var/cache/pacman/pkg/ 14 | # LogFile = /var/log/pacman.log 15 | # GPGDir = /etc/pacman.d/gnupg/ 16 | # HookDir = /etc/pacman.d/hooks/ 17 | HoldPkg = pacman glibc 18 | # XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u 19 | # XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u 20 | # CleanMethod = KeepInstalled 21 | Architecture = aarch64 22 | # IgnorePkg = 23 | # IgnoreGroup = 24 | # NoUpgrade = 25 | # NoExtract = 26 | # UseSyslog 27 | Color 28 | ILoveCandy 29 | # NoProgressBar 30 | CheckSpace 31 | # VerbosePkgLists 32 | ParallelDownloads = 5 33 | SigLevel = Required DatabaseOptional 34 | LocalFileSigLevel = Optional 35 | # RemoteFileSigLevel = Required 36 | 37 | [RebornOS] 38 | Include = /etc/pacman.d/reborn-mirrorlist 39 | 40 | [core] 41 | Include = /etc/pacman.d/mirrorlist 42 | 43 | [extra] 44 | Include = /etc/pacman.d/mirrorlist 45 | 46 | [community] 47 | Include = /etc/pacman.d/mirrorlist 48 | 49 | [alarm] 50 | Include = /etc/pacman.d/mirrorlist 51 | 52 | [aur] 53 | Include = /etc/pacman.d/mirrorlist 54 | -------------------------------------------------------------------------------- /alarmimg/etc/passwd: -------------------------------------------------------------------------------- 1 | root:x:0:0:root:/root:/bin/fish 2 | rebornos:x:1001:1001::/home/rebornos:/bin/fish 3 | -------------------------------------------------------------------------------- /alarmimg/etc/plymouth/plymouthd.conf : -------------------------------------------------------------------------------- 1 | # Set your plymouth configuration here. 2 | [Daemon] 3 | Theme=reborn 4 | ShowDelay=0 5 | DeviceTimeout=8 6 | -------------------------------------------------------------------------------- /alarmimg/etc/polkit-1/rules.d/49-nopasswd_global.rules: -------------------------------------------------------------------------------- 1 | /* Allow members of the wheel group to execute any actions 2 | * without password authentication, similar to "sudo NOPASSWD:" 3 | */ 4 | polkit.addRule(function(action, subject) { 5 | if (subject.isInGroup("wheel")) { 6 | return polkit.Result.YES; 7 | } 8 | }); 9 | -------------------------------------------------------------------------------- /alarmimg/etc/pulse/pulse.conf: -------------------------------------------------------------------------------- 1 | # This file is part of PulseAudio. 2 | # 3 | # PulseAudio is free software; you can redistribute it and/or modify 4 | # it under the terms of the GNU Lesser General Public License as published by 5 | # the Free Software Foundation; either version 2 of the License, or 6 | # (at your option) any later version. 7 | # 8 | # PulseAudio is distributed in the hope that it will be useful, but 9 | # WITHOUT ANY WARRANTY; without even the implied warranty of 10 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 11 | # General Public License for more details. 12 | # 13 | # You should have received a copy of the GNU Lesser General Public License 14 | # along with PulseAudio; if not, see . 15 | 16 | ## Configuration file for PulseAudio clients. See pulse-client.conf(5) for 17 | ## more information. Default values are commented out. Use either ; or # for 18 | ## commenting. 19 | 20 | default-sink = alsa_output.platform-hdmi0-sound.hdmi-stereo 21 | ; default-source = 22 | ; default-server = 23 | ; default-dbus-server = 24 | 25 | autospawn = no 26 | ; autospawn = yes 27 | ; daemon-binary = /usr/bin/pulseaudio 28 | ; extra-arguments = --log-target=syslog 29 | 30 | ; cookie-file = 31 | 32 | ; enable-shm = yes 33 | ; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB 34 | 35 | ; auto-connect-localhost = no 36 | ; auto-connect-display = no 37 | -------------------------------------------------------------------------------- /alarmimg/etc/sddm.conf.d/autologin.conf: -------------------------------------------------------------------------------- 1 | [Autologin] 2 | User=rebornos 3 | Session=lxqt 4 | -------------------------------------------------------------------------------- /alarmimg/etc/shadow: -------------------------------------------------------------------------------- 1 | root:$6$OU1SWX1aw8sjVq7z$zq/2JdqKJmJONSUxRgkx2g.rNQIWnCBpcSfMg/kM40K/Dr1LzqoRi2Q0Rw7KaFNzWQrg/wuR0FByhlohhuAO9/:14871:::::: 2 | rebornos:$6$OU1SWX1aw8sjVq7z$zq/2JdqKJmJONSUxRgkx2g.rNQIWnCBpcSfMg/kM40K/Dr1LzqoRi2Q0Rw7KaFNzWQrg/wuR0FByhlohhuAO9/:14871:::::: -------------------------------------------------------------------------------- /alarmimg/etc/sudoers.d/g_wheel: -------------------------------------------------------------------------------- 1 | %wheel ALL=(ALL:ALL) NOPASSWD: ALL 2 | -------------------------------------------------------------------------------- /alarmimg/etc/systemd/system/display-manager.service: -------------------------------------------------------------------------------- 1 | /usr/lib/systemd/system/sddm-test.service -------------------------------------------------------------------------------- /alarmimg/etc/systemd/system/multi-user.target.wants/NetworkManager.service: -------------------------------------------------------------------------------- 1 | /usr/lib/systemd/system/NetworkManager.service -------------------------------------------------------------------------------- /alarmimg/etc/systemd/system/multi-user.target.wants/cpupower.service: -------------------------------------------------------------------------------- 1 | /usr/lib/systemd/system/cpupower.service -------------------------------------------------------------------------------- /alarmimg/etc/systemd/system/multi-user.target.wants/opi5-usb.service: -------------------------------------------------------------------------------- 1 | /usr/lib/systemd/system/opi5-usb.service -------------------------------------------------------------------------------- /alarmimg/etc/systemd/system/multi-user.target.wants/pacman-init.service: -------------------------------------------------------------------------------- 1 | /usr/lib/systemd/system/pacman-init.service -------------------------------------------------------------------------------- /alarmimg/etc/systemd/system/multi-user.target.wants/resizefs.service: -------------------------------------------------------------------------------- 1 | /usr/lib/systemd/system/resizefs.service -------------------------------------------------------------------------------- /alarmimg/etc/systemd/system/multi-user.target.wants/sddm.service: -------------------------------------------------------------------------------- 1 | /usr/lib/systemd/system/sddm.service -------------------------------------------------------------------------------- /alarmimg/etc/systemd/system/multi-user.target.wants/sshd.service: -------------------------------------------------------------------------------- 1 | /usr/lib/systemd/system/sshd.service -------------------------------------------------------------------------------- /alarmimg/etc/systemd/system/multi-user.target.wants/sshdkeygen.service: -------------------------------------------------------------------------------- 1 | /usr/lib/systemd/system/sshdkeygen.service -------------------------------------------------------------------------------- /alarmimg/etc/systemd/system/multi-user.target.wants/systemd-timesyncd.service: -------------------------------------------------------------------------------- 1 | /usr/lib/systemd/system/systemd-timesyncd.service -------------------------------------------------------------------------------- /alarmimg/etc/systemd/system/multi-user.target.wants/zswap-arm.service: -------------------------------------------------------------------------------- 1 | /usr/lib/systemd/system/zswap-arm.service -------------------------------------------------------------------------------- /alarmimg/home/rebornos/.rebornos-iso-welcome/configuration/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1", 3 | "ui-toolkits": { 4 | "available": [ 5 | "gtk" 6 | ], 7 | "default": "gtk", 8 | "current": "gtk" 9 | }, 10 | "log_directory": "~/.rebornos-iso-welcome/log", 11 | "auto_start_enabled": true, 12 | "show_install_info": true, 13 | "show_update_toggle": true, 14 | "show_git_toggle": false, 15 | "installer_package_name_stub": "calamares-core", 16 | "installer_config_package_name_stub": "calamares-configuration-opi5" 17 | } -------------------------------------------------------------------------------- /alarmimg/home/rebornos/.rebornos-welcome/configuration/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1", 3 | "ui-toolkits": { 4 | "available": [ 5 | "gtk" 6 | ], 7 | "default": "gtk", 8 | "current": "gtk" 9 | }, 10 | "log_directory": "/home/rebornos/.rebornos-welcome/log", 11 | "auto_start_enabled": false, 12 | "current_working_directory": "/opt/rebornos-welcome", 13 | "show_install_info": true 14 | } 15 | -------------------------------------------------------------------------------- /alarmimg/usr/bin/oemcleanup: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | /usr/bin/userdel -r -f rebornos 4 | /usr/bin/rm -rf /home/rebornos || true 5 | /usr/bin/systemctl disable oemcleanup.service 6 | /usr/bin/rm /etc/systemd/system/oemcleanup.service 7 | /usr/bin/rm /usr/bin/oemcleanup -------------------------------------------------------------------------------- /alarmimg/usr/bin/remove-calamares: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | /bin/pacman -Rncsu --noconfirm calamares-core calamares-configuration-opi5 3 | /usr/bin/systemctl disable remove-calamares.service 4 | /usr/bin/rm -rf /usr/lib/systemd/system/remove-calamares.service 5 | /usr/bin/rm -rf /usr/bin/remove-calamares -------------------------------------------------------------------------------- /alarmimg/usr/bin/resizefs: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # This script will attempt to resize the partition and filesystem in order to fill the drive and do a few other minor adjustments to the system 3 | # Credits to rpi-distro https://github.com/RPi-Distro/raspi-config/ 4 | 5 | # Get device and partition numbers/names 6 | # Root Partition 7 | PART_DEV=`findmnt / -o source -n | cut -f1 -d"["` 8 | 9 | # Remove '/dev/' from the name 10 | PART_NAME=`echo $PART_DEV | cut -d "/" -f 3` 11 | 12 | # Set just the name of the device, usually mmcblk0 13 | DEV_NAME=`echo /sys/block/*/${PART_NAME} | cut -d "/" -f 4` 14 | 15 | # Add /dev/ to device name 16 | DEV="/dev/${DEV_NAME}" 17 | 18 | # Get Number of device as single digit integer 19 | PART_NUM=`cat /sys/block/${DEV_NAME}/${PART_NAME}/partition` 20 | 21 | # Get size of SDCard (final sector) 22 | SECTOR_SIZE=`cat /sys/block/${DEV_NAME}/size` 23 | 24 | # Set the ending sector that the partition should be resized too 25 | END_SECTOR=`expr $SECTOR_SIZE - 1` 26 | 27 | #growpartfs $PART_DEV 28 | 29 | # resize the partition 30 | # parted command disabled for now. Using sfdisk instead 31 | #parted -m $DEV u s resizepart $PART_NUM yes $END_SECTOR 32 | echo ", +" | sfdisk --no-reread -N $PART_NUM $DEV 33 | 34 | # reload the partitions in the kernel 35 | #partprobe 36 | partx -u $DEV 37 | 38 | # resize 39 | if [[ $(lsblk -o NAME,FSTYPE | grep $PART_NAME | awk '{print $2}') = "btrfs" ]]; then 40 | btrfs filesystem resize max / 41 | else 42 | resize2fs $PART_DEV 43 | fi -------------------------------------------------------------------------------- /alarmimg/usr/bin/zswap-arm-ctrl: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | start() { 4 | ZRAM_SIZE_PERCENT=100 5 | 6 | (( MEM_TOTAL= `cat /proc/meminfo|grep MemTotal|awk '{print $2}'` * 1024 )) 7 | (( MEM= MEM_TOTAL * $ZRAM_SIZE_PERCENT / 100 )) 8 | modprobe zram 9 | echo $MEM > /sys/block/zram0/disksize 10 | mkswap /dev/zram0 -L zram0 11 | swapon -p 100 /dev/zram0 12 | } 13 | 14 | stop() { 15 | swapoff /dev/zram0 16 | rmmod zram 17 | } 18 | 19 | case $1 in 20 | start|stop) "$1" ;; 21 | esac -------------------------------------------------------------------------------- /alarmimg/usr/lib/systemd/system/oemcleanup.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Remove OEM user 3 | 4 | [Service] 5 | Type=oneshot 6 | RemainAfterExit=no 7 | ExecStart=/usr/bin/oemcleanup 8 | 9 | [Install] 10 | WantedBy=multi-user.target 11 | -------------------------------------------------------------------------------- /alarmimg/usr/lib/systemd/system/opi5-usb.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Enable Orange Pi USB 3 | 4 | [Service] 5 | Type=oneshot 6 | ExecStart=/bin/sh -c "echo host > /sys/kernel/debug/usb/fc000000.usb/mode" 7 | RemainAfterExit=yes 8 | 9 | [Install] 10 | WantedBy=multi-user.target -------------------------------------------------------------------------------- /alarmimg/usr/lib/systemd/system/pacman-init.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Initializes Pacman keyring 3 | Before=sshd.service cloud-final.service 4 | # ConditionFirstBoot=yes 5 | 6 | [Service] 7 | Type=oneshot 8 | RemainAfterExit=yes 9 | ExecStartPre=/usr/bin/pacman-key --init 10 | ExecStart=/usr/bin/pacman-key --populate archlinuxarm rebornos 11 | 12 | [Install] 13 | WantedBy=multi-user.target -------------------------------------------------------------------------------- /alarmimg/usr/lib/systemd/system/remove-calamares.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Remove Calamares 3 | 4 | [Service] 5 | Type=oneshot 6 | ExecStart=/usr/bin/remove-calamares 7 | 8 | [Install] 9 | WantedBy=multi-user.target 10 | -------------------------------------------------------------------------------- /alarmimg/usr/lib/systemd/system/resizefs.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Resize root filesystem 3 | 4 | [Service] 5 | Type=oneshot 6 | RemainAfterExit=yes 7 | ExecStartPre=/usr/bin/resizefs 8 | ExecStart=systemctl disable resizefs.service 9 | 10 | [Install] 11 | WantedBy=multi-user.target -------------------------------------------------------------------------------- /alarmimg/usr/lib/systemd/system/zswap-arm.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Zram-based swap (compressed RAM block devices) 3 | 4 | [Service] 5 | Type=oneshot 6 | ExecStart=/usr/bin/zswap-arm-ctrl start 7 | ExecStop=/usr/bin/zswap-arm-ctrl stop 8 | RemainAfterExit=yes 9 | 10 | [Install] 11 | WantedBy=multi-user.target -------------------------------------------------------------------------------- /alarmimg/usr/share/backgrounds/pexels-dương-nhân-2232979.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RebornOS-Team/lxqt-opi5-image/e075002cb2f966d1c8d410a9d6ca391bd7b8457c/alarmimg/usr/share/backgrounds/pexels-dương-nhân-2232979.jpg -------------------------------------------------------------------------------- /alarmimg/usr/share/backgrounds/pexels-pixabay-258112.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RebornOS-Team/lxqt-opi5-image/e075002cb2f966d1c8d410a9d6ca391bd7b8457c/alarmimg/usr/share/backgrounds/pexels-pixabay-258112.jpg -------------------------------------------------------------------------------- /fixperms.sh: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env bash 2 | 3 | declare -A file_permissions=() 4 | file_permissions=( 5 | ["/etc/"]="0:0:755" 6 | ["/usr/bin/resizefs"]="0:0:755" 7 | ["/usr/bin/zswap-arm-ctrl"]="0:0:755" 8 | ["/usr/bin/oemcleanup"]="0:0:755" 9 | ["/usr/bin/remove-calamares"]="0:0:755" 10 | ["/home/rebornos/"]="1001:1001:750" 11 | ) 12 | #template dir is passed as an arg converted from a relative path to an absolute path 13 | template_dir=$(readlink -f "$1") 14 | 15 | if [[ -d "$template_dir" ]]; then 16 | # Set ownership and mode for files and directories 17 | for filename in "${!file_permissions[@]}"; do 18 | IFS=':' read -ra permissions <<< "${file_permissions["${filename}"]}" 19 | # Prevent file path traversal outside of $template_dir 20 | if [[ "$(realpath -q -- "${template_dir}${filename}")" != "${template_dir}"* ]]; then 21 | echo "Failed to set permissions on '${template_dir}${filename}'. Outside of valid path." 1 22 | # Warn if the file does not exist 23 | elif [[ ! -e "${template_dir}${filename}" ]]; then 24 | echo "Cannot change permissions of '${template_dir}${filename}'. The file or directory does not exist." 25 | else 26 | if [[ "${filename: -1}" == "/" ]]; then 27 | chown -Rh -- "${permissions[0]}:${permissions[1]}" "${template_dir}${filename}" 28 | echo "Set ownership of '${template_dir}${filename}' to '${permissions[0]}:${permissions[1]}'." 29 | chmod -- "${permissions[2]}" "${template_dir}${filename}" 30 | # find "${template_dir}${filename}" -type d -exec chmod "${permissions[2]}" {} \; 31 | else 32 | chown -hv -- "${permissions[0]}:${permissions[1]}" "${template_dir}${filename}" 33 | chmod -- "${permissions[2]}" "${template_dir}${filename}" 34 | fi 35 | fi 36 | done 37 | echo "Done!" 38 | fi -------------------------------------------------------------------------------- /idbloader.img: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RebornOS-Team/lxqt-opi5-image/e075002cb2f966d1c8d410a9d6ca391bd7b8457c/idbloader.img -------------------------------------------------------------------------------- /packages.aarch64: -------------------------------------------------------------------------------- 1 | base 2 | networkmanager 3 | network-manager-applet 4 | nano 5 | lm_sensors 6 | archlinux-keyring 7 | archlinuxarm-keyring 8 | btrfs-progs 9 | bluez 10 | fish 11 | sudo 12 | polkit 13 | bluez-utils 14 | opi5-post-install 15 | #f2fs-tools 16 | linux-rockchip-rk3588 17 | linux-rockchip-rk3588-headers 18 | mesa-panfork-git 19 | libdrm 20 | #libdrm-rockchip 21 | uboot-tools 22 | #firmware-raspberrypi 23 | #raspberrypi-bootloader 24 | linux-firmware 25 | linux-firmware-whence 26 | lsb-release 27 | xf86-video-fbdev 28 | xorg-server 29 | rebornos-os-release 30 | parted 31 | gvfs 32 | pipewire-pulse 33 | #pipewire-media-session 34 | pipewire-alsa 35 | pipewire-jack 36 | #rebornos-extras 37 | rebornos-keyring 38 | rebornos-mirrorlist 39 | rebornos-iso-welcome 40 | rebornos-welcome 41 | dosfstools 42 | e2fsprogs 43 | firefox 44 | pamac-aur 45 | calamares-core 46 | calamares-configuration-opi5 47 | #rebornos-plymouth-theme 48 | rebornos-cosmic-lxqt 49 | mali-G610-firmware 50 | # update-extlinux 51 | blueman 52 | cpupower -------------------------------------------------------------------------------- /pacman.conf.aarch64: -------------------------------------------------------------------------------- 1 | # /etc/pacman.conf 2 | # 3 | # 4 | # See the pacman.conf(5) manpage for option and repository directives 5 | 6 | # 7 | # GENERAL OPTIONS 8 | # 9 | [options] 10 | # IgnorePkg = 11 | # RootDir = / 12 | # DBPath = /var/lib/pacman/ 13 | # CacheDir = /var/cache/pacman/pkg/ 14 | # LogFile = /var/log/pacman.log 15 | # GPGDir = /etc/pacman.d/gnupg/ 16 | # HookDir = /etc/pacman.d/hooks/ 17 | HoldPkg = pacman glibc 18 | # XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u 19 | # XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u 20 | # CleanMethod = KeepInstalled 21 | Architecture = aarch64 22 | # IgnorePkg = 23 | # IgnoreGroup = 24 | # NoUpgrade = 25 | # NoExtract = 26 | # UseSyslog 27 | Color 28 | # NoProgressBar 29 | CheckSpace 30 | # VerbosePkgLists 31 | ParallelDownloads = 5 32 | SigLevel = Required DatabaseOptional 33 | LocalFileSigLevel = Optional 34 | # RemoteFileSigLevel = Required 35 | 36 | [RebornOS] 37 | Include = /etc/pacman.d/reborn-mirrorlist 38 | 39 | [core] 40 | Include = /etc/pacman.d/mirrorlist 41 | 42 | [extra] 43 | Include = /etc/pacman.d/mirrorlist 44 | 45 | [community] 46 | Include = /etc/pacman.d/mirrorlist 47 | 48 | [alarm] 49 | Include = /etc/pacman.d/mirrorlist 50 | 51 | [aur] 52 | Include = /etc/pacman.d/mirrorlist 53 | -------------------------------------------------------------------------------- /profiledef: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python 2 | import time 3 | 4 | img_version=time.strftime("%Y-%m-%d") 5 | edition="lxqt" # home, security 6 | device="rock5b" # rpi more will be added soon 7 | arch="aarch64" # aarch64, armv7h 8 | img_name="RebornOS-ARM-opi5-" + img_version 9 | install_dir="arch" 10 | fs="ext4" # ext4 or btrfs 11 | img_type="image" # image (img.xz) or rootfs (tar.gz) 12 | img_backend="loop" # loop or qemu-nbd 13 | # append root=PARTUUID=XXXXXX-02 + CMDLINE will always be added to the kernel command line 14 | # if you use btrfs you need add rootflags=subvol=@ 15 | cmdline="earlycon=uart8250,mmio32,0xfeb50000 console=ttyFIQ0 console=tty1 consoleblank=0 loglevel=0 panic=10 rootwait rw init=/sbin/init rootfstype=ext4 cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1 irqchip.gicv3_pseudo_nmi=0 switolb=1 coherent_pool=2M" 16 | configtxt=''' 17 | label RebornOS ARM 18 | kernel /vmlinuz-linux-rockchip-rk3588 19 | initrd /initramfs-linux-rockchip-rk3588.img 20 | fdt /dtbs/rockchip/rk3588s-orangepi-5.dtb 21 | ''' 22 | -------------------------------------------------------------------------------- /u-boot.itb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RebornOS-Team/lxqt-opi5-image/e075002cb2f966d1c8d410a9d6ca391bd7b8457c/u-boot.itb --------------------------------------------------------------------------------