diff options
author | Kyle K <kylek389@gmail.com> | 2020-01-27 17:10:23 -0600 |
---|---|---|
committer | Kyle K <kylek389@gmail.com> | 2020-01-27 17:10:23 -0600 |
commit | f4f7b4ac910b7d74daf7524f86833ce242e9aaa1 (patch) | |
tree | a414285c8e08c00c426f0c6f726c05c6b381424a | |
parent | 10976d5eac561ca712aac29d3f5e5f50988af390 (diff) | |
download | gentoox-f4f7b4ac910b7d74daf7524f86833ce242e9aaa1.tar.gz gentoox-f4f7b4ac910b7d74daf7524f86833ce242e9aaa1.tar.bz2 gentoox-f4f7b4ac910b7d74daf7524f86833ce242e9aaa1.zip |
20200127 update
- provide script to build stage3 gcc graphite tarball
- linux 5.5
- use zstd10 for ISO
- enable UEFI booting
-rw-r--r-- | 0001-kernel-config-muqss.patch | 418 | ||||
-rw-r--r--[-rwxr-xr-x] | 0001-releng-gcc-add-graphite-support.patch | 0 | ||||
-rwxr-xr-x | build-stage3.sh | 36 | ||||
-rw-r--r-- | efitools-1.9.2-fixup-UNKNOWN_GLYPH.patch | 16 | ||||
-rwxr-xr-x | gentoox_build.sh | 237 | ||||
-rw-r--r-- | stage1.spec | 13 | ||||
-rw-r--r-- | stage2.spec | 11 | ||||
-rw-r--r-- | stage3.spec | 11 |
8 files changed, 251 insertions, 491 deletions
diff --git a/0001-kernel-config-muqss.patch b/0001-kernel-config-muqss.patch deleted file mode 100644 index 161b0c9..0000000 --- a/0001-kernel-config-muqss.patch +++ /dev/null @@ -1,418 +0,0 @@ ---- .config-artix 2020-01-03 17:27:26.372849422 +0000 -+++ .config 2020-01-03 17:30:01.523838593 +0000 -@@ -1,10 +1,10 @@ - # - # Automatically generated file; DO NOT EDIT. --# Linux/x86 5.4.1-artix1 Kernel Configuration -+# Linux/x86 5.4.7-gentoo-ck1 Kernel Configuration - # - - # --# Compiler: gcc (GCC) 9.2.0 -+# Compiler: gcc (Gentoo 9.2.0-r3 p4) 9.2.0 - # - CONFIG_CC_IS_GCC=y - CONFIG_GCC_VERSION=90200 -@@ -13,6 +13,7 @@ - CONFIG_CC_HAS_ASM_GOTO=y - CONFIG_CC_HAS_ASM_INLINE=y - CONFIG_CC_HAS_WARN_MAYBE_UNINITIALIZED=y -+CONFIG_CC_DISABLE_WARN_MAYBE_UNINITIALIZED=y - CONFIG_IRQ_WORK=y - CONFIG_BUILDTIME_EXTABLE_SORT=y - CONFIG_THREAD_INFO_IN_TASK=y -@@ -20,6 +21,7 @@ - # - # General setup - # -+CONFIG_SCHED_MUQSS=y - CONFIG_INIT_ENV_ARG_LIMIT=32 - # CONFIG_COMPILE_TEST is not set - # CONFIG_HEADER_TEST is not set -@@ -67,6 +69,7 @@ - CONFIG_GENERIC_IRQ_MATRIX_ALLOCATOR=y - CONFIG_GENERIC_IRQ_RESERVATION_MODE=y - CONFIG_IRQ_FORCED_THREADING=y -+CONFIG_FORCE_IRQ_THREADING=y - CONFIG_SPARSE_IRQ=y - # CONFIG_GENERIC_IRQ_DEBUGFS is not set - # end of IRQ subsystem -@@ -88,7 +91,7 @@ - CONFIG_NO_HZ_COMMON=y - # CONFIG_HZ_PERIODIC is not set - CONFIG_NO_HZ_IDLE=y --# CONFIG_NO_HZ_FULL is not set -+# CONFIG_NO_HZ_FULL_NODEF is not set - CONFIG_NO_HZ=y - CONFIG_HIGH_RES_TIMERS=y - # end of Timers subsystem -@@ -155,8 +158,6 @@ - CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y - CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y - CONFIG_ARCH_SUPPORTS_INT128=y --CONFIG_NUMA_BALANCING=y --CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y - CONFIG_CGROUPS=y - CONFIG_PAGE_COUNTER=y - CONFIG_MEMCG=y -@@ -166,9 +167,6 @@ - CONFIG_BLK_CGROUP=y - CONFIG_CGROUP_WRITEBACK=y - CONFIG_CGROUP_SCHED=y --CONFIG_FAIR_GROUP_SCHED=y --CONFIG_CFS_BANDWIDTH=y --# CONFIG_RT_GROUP_SCHED is not set - CONFIG_UCLAMP_TASK_GROUP=y - CONFIG_CGROUP_PIDS=y - CONFIG_CGROUP_RDMA=y -@@ -177,7 +175,6 @@ - CONFIG_CPUSETS=y - CONFIG_PROC_PID_CPUSET=y - CONFIG_CGROUP_DEVICE=y --CONFIG_CGROUP_CPUACCT=y - CONFIG_CGROUP_PERF=y - CONFIG_CGROUP_BPF=y - # CONFIG_CGROUP_DEBUG is not set -@@ -186,11 +183,9 @@ - CONFIG_UTS_NS=y - CONFIG_IPC_NS=y - CONFIG_USER_NS=y --CONFIG_USER_NS_UNPRIVILEGED=y - CONFIG_PID_NS=y - CONFIG_NET_NS=y - CONFIG_CHECKPOINT_RESTORE=y --CONFIG_SCHED_AUTOGROUP=y - # CONFIG_SYSFS_DEPRECATED is not set - CONFIG_RELAY=y - CONFIG_BLK_DEV_INITRD=y -@@ -201,7 +196,8 @@ - CONFIG_RD_XZ=y - CONFIG_RD_LZO=y - CONFIG_RD_LZ4=y --CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y -+# CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set -+CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3=y - # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set - CONFIG_SYSCTL=y - CONFIG_HAVE_UID16=y -@@ -352,12 +348,41 @@ - CONFIG_JAILHOUSE_GUEST=y - CONFIG_ACRN_GUEST=y - # CONFIG_MK8 is not set -+# CONFIG_MK8SSE3 is not set -+# CONFIG_MK10 is not set -+# CONFIG_MBARCELONA is not set -+# CONFIG_MBOBCAT is not set -+# CONFIG_MJAGUAR is not set -+# CONFIG_MBULLDOZER is not set -+# CONFIG_MPILEDRIVER is not set -+# CONFIG_MSTEAMROLLER is not set -+# CONFIG_MEXCAVATOR is not set -+# CONFIG_MZEN is not set -+# CONFIG_MZEN2 is not set - # CONFIG_MPSC is not set --# CONFIG_MCORE2 is not set - # CONFIG_MATOM is not set --CONFIG_GENERIC_CPU=y -+# CONFIG_MCORE2 is not set -+# CONFIG_MNEHALEM is not set -+# CONFIG_MWESTMERE is not set -+# CONFIG_MSILVERMONT is not set -+# CONFIG_MGOLDMONT is not set -+# CONFIG_MGOLDMONTPLUS is not set -+CONFIG_MSANDYBRIDGE=y -+# CONFIG_MIVYBRIDGE is not set -+# CONFIG_MHASWELL is not set -+# CONFIG_MBROADWELL is not set -+# CONFIG_MSKYLAKE is not set -+# CONFIG_MSKYLAKEX is not set -+# CONFIG_MCANNONLAKE is not set -+# CONFIG_MICELAKE is not set -+# CONFIG_MCASCADELAKE is not set -+# CONFIG_GENERIC_CPU is not set -+# CONFIG_MNATIVE is not set - CONFIG_X86_INTERNODE_CACHE_SHIFT=6 - CONFIG_X86_L1_CACHE_SHIFT=6 -+CONFIG_X86_INTEL_USERCOPY=y -+CONFIG_X86_USE_PPRO_CHECKSUM=y -+CONFIG_X86_P6_NOP=y - CONFIG_X86_TSC=y - CONFIG_X86_CMPXCHG64=y - CONFIG_X86_CMOV=y -@@ -381,8 +406,16 @@ - CONFIG_NR_CPUS_DEFAULT=64 - CONFIG_NR_CPUS=320 - CONFIG_SCHED_SMT=y -+CONFIG_SMT_NICE=y - CONFIG_SCHED_MC=y - CONFIG_SCHED_MC_PRIO=y -+# CONFIG_RQ_NONE is not set -+# CONFIG_RQ_SMT is not set -+CONFIG_RQ_MC=y -+# CONFIG_RQ_MC_LLC is not set -+# CONFIG_RQ_SMP is not set -+# CONFIG_RQ_ALL is not set -+CONFIG_SHARERQ=2 - CONFIG_X86_LOCAL_APIC=y - CONFIG_X86_IO_APIC=y - CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y -@@ -454,10 +487,10 @@ - CONFIG_EFI_MIXED=y - CONFIG_SECCOMP=y - # CONFIG_HZ_100 is not set --# CONFIG_HZ_250 is not set --CONFIG_HZ_300=y --# CONFIG_HZ_1000 is not set --CONFIG_HZ=300 -+# CONFIG_HZ_250_NODEF is not set -+# CONFIG_HZ_300_NODEF is not set -+CONFIG_HZ_1000_NODEF=y -+CONFIG_HZ=1000 - CONFIG_SCHED_HRTICK=y - CONFIG_KEXEC=y - CONFIG_KEXEC_FILE=y -@@ -697,11 +730,14 @@ - # - # EFI (Extensible Firmware Interface) Support - # --# CONFIG_EFI_VARS is not set -+CONFIG_EFI_VARS=y - CONFIG_EFI_ESRT=y -+CONFIG_EFI_VARS_PSTORE=y -+# CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE is not set - CONFIG_EFI_RUNTIME_MAP=y - # CONFIG_EFI_FAKE_MEMMAP is not set - CONFIG_EFI_RUNTIME_WRAPPERS=y -+# CONFIG_EFI_BOOTLOADER_CONTROL is not set - CONFIG_EFI_CAPSULE_LOADER=m - # CONFIG_EFI_TEST is not set - CONFIG_APPLE_PROPERTIES=y -@@ -2583,9 +2619,9 @@ - # - # SCSI device support - # --CONFIG_SCSI_MOD=m -+CONFIG_SCSI_MOD=y - CONFIG_RAID_ATTRS=m --CONFIG_SCSI=m -+CONFIG_SCSI=y - CONFIG_SCSI_DMA=y - CONFIG_SCSI_NETLINK=y - CONFIG_SCSI_PROC_FS=y -@@ -2735,7 +2771,7 @@ - CONFIG_SCSI_DH_ALUA=m - # end of SCSI device support - --CONFIG_ATA=m -+CONFIG_ATA=y - CONFIG_ATA_VERBOSE_ERROR=y - CONFIG_ATA_ACPI=y - CONFIG_SATA_ZPODD=y -@@ -2744,7 +2780,7 @@ - # - # Controllers with non-SFF native interface - # --CONFIG_SATA_AHCI=m -+CONFIG_SATA_AHCI=y - CONFIG_SATA_MOBILE_LPM_POLICY=3 - CONFIG_SATA_AHCI_PLATFORM=m - CONFIG_AHCI_CEVA=m -@@ -6619,7 +6655,10 @@ - CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER=y - # end of Console display driver support - --# CONFIG_LOGO is not set -+CONFIG_LOGO=y -+CONFIG_LOGO_LINUX_MONO=y -+CONFIG_LOGO_LINUX_VGA16=y -+CONFIG_LOGO_LINUX_CLUT224=y - # end of Graphics support - - CONFIG_SOUND=m -@@ -7164,11 +7203,11 @@ - # - # HID support - # --CONFIG_HID=m -+CONFIG_HID=y - CONFIG_HID_BATTERY_STRENGTH=y - CONFIG_HIDRAW=y --CONFIG_UHID=m --CONFIG_HID_GENERIC=m -+CONFIG_UHID=y -+CONFIG_HID_GENERIC=y - - # - # Special HID drivers -@@ -7287,16 +7326,9 @@ - # - # USB HID support - # --CONFIG_USB_HID=m -+CONFIG_USB_HID=y - CONFIG_HID_PID=y - CONFIG_USB_HIDDEV=y -- --# --# USB HID Boot Protocol drivers --# --# CONFIG_USB_KBD is not set --# CONFIG_USB_MOUSE is not set --# end of USB HID Boot Protocol drivers - # end of USB HID support - - # -@@ -7340,23 +7372,22 @@ - # USB Host Controller Drivers - # - CONFIG_USB_C67X00_HCD=m --CONFIG_USB_XHCI_HCD=m -+CONFIG_USB_XHCI_HCD=y - # CONFIG_USB_XHCI_DBGCAP is not set --CONFIG_USB_XHCI_PCI=m -+CONFIG_USB_XHCI_PCI=y - CONFIG_USB_XHCI_PLATFORM=m --CONFIG_USB_EHCI_HCD=m -+CONFIG_USB_EHCI_HCD=y - CONFIG_USB_EHCI_ROOT_HUB_TT=y - CONFIG_USB_EHCI_TT_NEWSCHED=y --CONFIG_USB_EHCI_PCI=m -+CONFIG_USB_EHCI_PCI=y - CONFIG_USB_EHCI_FSL=m - CONFIG_USB_EHCI_HCD_PLATFORM=m - CONFIG_USB_OXU210HP_HCD=m - CONFIG_USB_ISP116X_HCD=m - CONFIG_USB_FOTG210_HCD=m - CONFIG_USB_MAX3421_HCD=m --CONFIG_USB_OHCI_HCD=m -+CONFIG_USB_OHCI_HCD=y - CONFIG_USB_OHCI_HCD_PCI=m --# CONFIG_USB_OHCI_HCD_SSB is not set - CONFIG_USB_OHCI_HCD_PLATFORM=m - CONFIG_USB_UHCI_HCD=m - CONFIG_USB_U132_HCD=m -@@ -9507,14 +9538,14 @@ - CONFIG_FS_IOMAP=y - # CONFIG_EXT2_FS is not set - # CONFIG_EXT3_FS is not set --CONFIG_EXT4_FS=m -+CONFIG_EXT4_FS=y - CONFIG_EXT4_USE_FOR_EXT2=y - CONFIG_EXT4_FS_POSIX_ACL=y - CONFIG_EXT4_FS_SECURITY=y - # CONFIG_EXT4_DEBUG is not set --CONFIG_JBD2=m -+CONFIG_JBD2=y - # CONFIG_JBD2_DEBUG is not set --CONFIG_FS_MBCACHE=m -+CONFIG_FS_MBCACHE=y - CONFIG_REISERFS_FS=m - # CONFIG_REISERFS_CHECK is not set - CONFIG_REISERFS_PROC_INFO=y -@@ -9526,7 +9557,7 @@ - CONFIG_JFS_SECURITY=y - # CONFIG_JFS_DEBUG is not set - CONFIG_JFS_STATISTICS=y --CONFIG_XFS_FS=m -+CONFIG_XFS_FS=y - CONFIG_XFS_QUOTA=y - CONFIG_XFS_POSIX_ACL=y - CONFIG_XFS_RT=y -@@ -9542,7 +9573,7 @@ - CONFIG_OCFS2_FS_STATS=y - CONFIG_OCFS2_DEBUG_MASKLOG=y - # CONFIG_OCFS2_DEBUG_FS is not set --CONFIG_BTRFS_FS=m -+CONFIG_BTRFS_FS=y - CONFIG_BTRFS_FS_POSIX_ACL=y - # CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set - # CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set -@@ -9550,7 +9581,7 @@ - # CONFIG_BTRFS_ASSERT is not set - # CONFIG_BTRFS_FS_REF_VERIFY is not set - CONFIG_NILFS2_FS=m --CONFIG_F2FS_FS=m -+CONFIG_F2FS_FS=y - CONFIG_F2FS_STAT_FS=y - CONFIG_F2FS_FS_XATTR=y - CONFIG_F2FS_FS_POSIX_ACL=y -@@ -9620,9 +9651,9 @@ - # - # DOS/FAT/NT Filesystems - # --CONFIG_FAT_FS=m --CONFIG_MSDOS_FS=m --CONFIG_VFAT_FS=m -+CONFIG_FAT_FS=y -+CONFIG_MSDOS_FS=y -+CONFIG_VFAT_FS=y - CONFIG_FAT_DEFAULT_CODEPAGE=437 - CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" - CONFIG_FAT_DEFAULT_UTF8=y -@@ -9954,7 +9985,7 @@ - # end of Kernel hardening options - # end of Security options - --CONFIG_XOR_BLOCKS=m -+CONFIG_XOR_BLOCKS=y - CONFIG_ASYNC_CORE=m - CONFIG_ASYNC_MEMCPY=m - CONFIG_ASYNC_XOR=m -@@ -10046,9 +10077,9 @@ - # - # Digest - # --CONFIG_CRYPTO_CRC32C=m -+CONFIG_CRYPTO_CRC32C=y - CONFIG_CRYPTO_CRC32C_INTEL=m --CONFIG_CRYPTO_CRC32=m -+CONFIG_CRYPTO_CRC32=y - CONFIG_CRYPTO_CRC32_PCLMUL=m - CONFIG_CRYPTO_XXHASH=m - CONFIG_CRYPTO_CRCT10DIF=y -@@ -10202,7 +10233,7 @@ - # - # Library routines - # --CONFIG_RAID6_PQ=m -+CONFIG_RAID6_PQ=y - CONFIG_RAID6_PQ_BENCHMARK=y - CONFIG_PACKING=y - CONFIG_BITREVERSE=y -@@ -10217,7 +10248,7 @@ - CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y - CONFIG_ARCH_HAS_FAST_MULTIPLIER=y - CONFIG_CRC_CCITT=y --CONFIG_CRC16=m -+CONFIG_CRC16=y - CONFIG_CRC_T10DIF=y - CONFIG_CRC_ITU_T=m - CONFIG_CRC32=y -@@ -10229,7 +10260,7 @@ - CONFIG_CRC64=m - CONFIG_CRC4=m - CONFIG_CRC7=m --CONFIG_LIBCRC32C=m -+CONFIG_LIBCRC32C=y - CONFIG_CRC8=m - CONFIG_XXHASH=y - # CONFIG_RANDOM32_SELFTEST is not set -@@ -10607,3 +10638,18 @@ - # CONFIG_UNWINDER_FRAME_POINTER is not set - # CONFIG_UNWINDER_GUESS is not set - # end of Kernel hacking -+ -+# -+# Gentoo Linux -+# -+CONFIG_GENTOO_LINUX=y -+CONFIG_GENTOO_LINUX_UDEV=y -+CONFIG_GENTOO_LINUX_PORTAGE=y -+ -+# -+# Support for init systems, system and service managers -+# -+CONFIG_GENTOO_LINUX_INIT_SCRIPT=y -+# CONFIG_GENTOO_LINUX_INIT_SYSTEMD is not set -+# end of Support for init systems, system and service managers -+# end of Gentoo Linux diff --git a/0001-releng-gcc-add-graphite-support.patch b/0001-releng-gcc-add-graphite-support.patch index 7803788..7803788 100755..100644 --- a/0001-releng-gcc-add-graphite-support.patch +++ b/0001-releng-gcc-add-graphite-support.patch diff --git a/build-stage3.sh b/build-stage3.sh new file mode 100755 index 0000000..f073223 --- /dev/null +++ b/build-stage3.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +version_stamp="$(date +%Y%m%d).graphite" + +if [[ ! -f .catalyst-prep-done ]]; then + builddate=$(wget --quiet -O - http://distfiles.gentoo.org/releases/amd64/autobuilds/current-stage3-amd64/ | sed -nr "s/.*href=\"stage3-amd64-([0-9].*).tar.xz\">.*/\1/p") + if [[ ! -f "stage3-amd64-$builddate.tar.xz" ]]; then + wget http://distfiles.gentoo.org/releases/amd64/autobuilds/current-stage3-amd64/stage3-amd64-$builddate.tar.xz + fi + + (git clone https://github.com/gentoo/releng.git; cd releng; patch -p1 < ../0001-releng-gcc-add-graphite-support.patch) + + mkdir -p /var/tmp/catalyst/builds/default + cp -v "stage3-amd64-$builddate.tar.xz" /var/tmp/catalyst/builds/default/stage3-amd64-latest.tar.xz + emerge --sync + catalyst -s latest + touch .catalyst-prep-done +fi + +cp -v releng/releases/weekly/specs/amd64/stage{1,2,3}.spec . + +sed -i "s/version_stamp: latest/version_stamp: $version_stamp/" stage1.spec +sed -i "s#@REPO_DIR@#$(pwd)/releng#g" stage1.spec +sed -i "s/version_stamp: latest/version_stamp: $version_stamp/" stage2.spec +sed -i "s/source_subpath: default\/stage1-amd64-latest/source_subpath: default\/stage1-amd64-$version_stamp/" stage2.spec +sed -i "s#@REPO_DIR@#$(pwd)/releng#g" stage2.spec +sed -i "s/version_stamp: latest/version_stamp: $version_stamp/" stage3.spec +sed -i "s/source_subpath: default\/stage2-amd64-latest/source_subpath: default\/stage2-amd64-$version_stamp/" stage3.spec +sed -i "s#@REPO_DIR@#$(pwd)/releng#g" stage3.spec + +catalyst -f stage1.spec +catalyst -f stage2.spec +catalyst -f stage3.spec + +cp -v /var/tmp/catalyst/builds/default/stage3-amd64-$version_stamp.tar.xz . + diff --git a/efitools-1.9.2-fixup-UNKNOWN_GLYPH.patch b/efitools-1.9.2-fixup-UNKNOWN_GLYPH.patch new file mode 100644 index 0000000..3b287bd --- /dev/null +++ b/efitools-1.9.2-fixup-UNKNOWN_GLYPH.patch @@ -0,0 +1,16 @@ +diff -Naru a/lib/console.c b/lib/console.c +--- a/lib/console.c 2019-11-28 13:59:02.099153788 +0100 ++++ b/lib/console.c 2019-11-28 13:59:42.209153890 +0100 +@@ -357,7 +357,11 @@ + { EFI_SECURITY_VIOLATION, L"Security Violation"}, + + // warnings +- { EFI_WARN_UNKOWN_GLYPH, L"Warning Unknown Glyph"}, ++#ifndef EFI_WARN_UNKOWN_GLYPH ++ { EFI_WARN_UNKNOWN_GLYPH, L"Warning Unknown Glyph"}, ++#else ++ { EFI_WARN_UNKOWN_GLYPH, L"Warning Unknown Glyph"}, ++#endif + { EFI_WARN_DELETE_FAILURE, L"Warning Delete Failure"}, + { EFI_WARN_WRITE_FAILURE, L"Warning Write Failure"}, + { EFI_WARN_BUFFER_TOO_SMALL, L"Warning Buffer Too Small"} diff --git a/gentoox_build.sh b/gentoox_build.sh index 0b06ca8..ed3fcd6 100755 --- a/gentoox_build.sh +++ b/gentoox_build.sh @@ -5,7 +5,11 @@ if [ $(id -u) != "0" ]; then fi # -# Notes: start with clean /var/db/, if you have /var/cache/distfiles/ on host only rsync that to chroot +# Notes +# • start with clean /var/db/, if you have binpkgs or distfiles on a host you can mount --bind or rsync them to the chroot +# • plymouth graphical splash via genkernel-next is commented out as it only supports systemd, GentooX is using OpenRC +# • ZFS temporarily disabled as it's not officially supported in Linux 5.5 and also errors with: +# FATAL: modpost: GPL-incompatible module zfs.ko uses GPL-only symbol '__rcu_read_lock' # # dependencies # base install: genkernel btrfs-progs portage-utils gentoolkit cpuid2cpuflags cryptsetup lvm2 mdadm dev-vcs/git @@ -16,24 +20,46 @@ gitprefix="https://gitgud.io/cloveros/cloveros/raw/master" rootpassword=gentoox username=gentoox userpassword=gentoox -builddate="20200101.graphite" +#builddate="$(date +%Y%m%d).graphite" +builddate="20200127.graphite" +builddir="build-$(date +%Y%m%d)" +KERNEL_CONFIG_DIFF="0001-kernel-config-cfs-r2.patch" +binpkgs=/root/var/cache/binpkgs/ +distfiles=/root/var/cache/distfiles/ + +build_weston=y #build_kde=y -#clover_rice="y" +#build_steam=y #configure_user=y +#clover_rice="y" #build_iso=y +if [[ ! -d $builddir ]]; then mkdir -v $builddir; fi +cd $builddir + if [[ ! -f 'image/etc/gentoo-release' ]]; then mkdir image/ cd image/ cp -v /var/tmp/catalyst/builds/default/stage3-amd64-$builddate.tar.xz . + if [[ $? -ne 0 ]]; then exit 1; fi + echo 'extracting stage3 tarball...' tar xJpf /var/tmp/catalyst/builds/default/stage3-amd64-$builddate.tar.xz --xattrs --numeric-owner rm -f stage3* - cp ../0001-kernel-config-cfs-r2.patch usr/src - rsync -a ../var/ var/ + + cp ../../$KERNEL_CONFIG_DIFF usr/src + mkdir -p etc/portage/patches/app-crypt/efitools + cp ../../efitools-1.9.2-fixup-UNKNOWN_GLYPH.patch etc/portage/patches/app-crypt/efitools/ + + if [[ ! -z $binpkgs ]] && [[ ! -z $distfiles ]]; then + #rsync -a $binpkgs var/cache/binpkgs/ + #rsync -a $distfiles var/cache/distfiles/ + mount --bind $binpkgs var/cache/binpkgs/ + mount --bind $distfiles var/cache/distfiles/ + fi cp /etc/resolv.conf etc/ cd .. @@ -82,13 +108,14 @@ echo 'CFLAGS="\${CFLAGS} -fno-lto" CXXFLAGS="\${CFLAGS} -fno-lto"' > /etc/portage/env/nolto.conf echo 'dev-libs/elfutils nolto.conf +app-crypt/efitools nolto.conf dev-libs/libaio nolto.conf media-libs/alsa-lib nolto.conf media-libs/mesa nolto.conf media-libs/x264 nolto.conf dev-libs/weston nolto.conf sys-auth/elogind nolto.conf -dev-lang/spidermonkey +dev-lang/spidermonkey nolto.conf x11-drivers/xf86-video-intel nolto.conf x11-drivers/xf86-video-amdgpu nolto.conf x11-drivers/xf86-video-ati nolto.conf @@ -98,17 +125,19 @@ echo 'sys-devel/gcc graphite sys-apps/kmod lzma sys-kernel/linux-firmware initramfs redistributable unknown-license x11-libs/libdrm libkms -www-client/firefox hwaccel pgo lto wayland +media-libs/mesa d3d9 lm-sensors opencl vaapi vdpau vulkan vulkan-overlay xa xvmc +www-client/firefox -system-libvpx hwaccel pgo lto wayland +dev-libs/boost python dev-lang/python sqlite sys-fs/squashfs-tools zstd -sys-boot/grub:2 libzfs mount +sys-boot/grub:2 mount # libzfs x11-libs/libxcb xkb' > /etc/portage/package.use/gentoox rm -rf /etc/portage/package.accept_keywords/ echo -n > /etc/portage/package.accept_keywords emerge --autounmask=y --autounmask-write=y -vDN @world -emerge -v gentoo-sources genkernel btrfs-progs portage-utils gentoolkit cpuid2cpuflags cryptsetup lvm2 mdadm dev-vcs/git +emerge -v gentoo-sources genkernel portage-utils gentoolkit cpuid2cpuflags cryptsetup lvm2 mdadm dev-vcs/git btrfs-progs app-arch/lz4 ntfs3g dosfstools exfat-utils gptfdisk efitools shim touch /tmp/gentoox-base-done HEREDOC #rsync -av --delete var/cache/{binpkgs,distfiles} ../var/cache/ @@ -120,37 +149,67 @@ if [[ ! -f 'tmp/gentoox-kernel-done' ]]; then cat <<HEREDOC | chroot . source /etc/profile && export PS1="(chroot) \$PS1" KERNELVERSION=\$(qlist -Iv gentoo-sources | tr '-' ' ' | awk '{print \$4}') + +#echo -e '\nPLYMOUTH="yes" +#PLYMOUTH_THEME="fade-in"' >> /etc/genkernel.conf +#echo -e '\nrc_interactive="NO"' >> /etc/rc.conf cd /usr/src/linux/ if [[ ! -f '/tmp/gentoox-kernelpatches-applied' ]]; then - wget 'https://gitea.artixlinux.org/artixlinux/packages-kernel/raw/branch/master/linux/trunk/config' -O .config + wget --quiet 'https://gitea.artixlinux.org/artixlinux/packages-kernel/raw/branch/master/linux/trunk/config' -O .config git clone https://github.com/graysky2/kernel_gcc_patch.git - wget https://gitlab.com/post-factum/pf-kernel/commit/cf7a8ad26e0bd6ca8afba89f53d2e9dc43ee2598.diff -O O3-always-available.diff - #wget --quiet -m -np -c 'ck.kolivas.org/patches/5.0/5.4/5.4-ck1/patches/' - #wget https://gitlab.com/sirlucjan/kernel-patches/raw/master/5.4/aufs-patches/0001-aufs-20191223.patch - wget https://raw.githubusercontent.com/sirlucjan/kernel-patches/master/5.4/aufs-patches/0001-aufs-20200113.patch - wget https://git.froggi.es/tkg/PKGBUILDS/raw/master/linux54-tkg/linux54-tkg-patches/0007-v5.4-fsync.patch - wget https://git.froggi.es/tkg/PKGBUILDS/raw/master/linux54-tkg/linux54-tkg-patches/0011-ZFS-fix.patch - - patch -p1 < kernel_gcc_patch/enable_additional_cpu_optimizations_for_gcc_v9.1+_kernel_v4.13+.patch + wget --quiet https://gitlab.com/post-factum/pf-kernel/commit/cf7a8ad26e0bd6ca8afba89f53d2e9dc43ee2598.diff -O O3-always-available.diff + #wget --quiet -m -np -c 'ck.kolivas.org/patches/5.0/5.5/5.5-ck1/patches/' + wget --quiet https://gitlab.com/sirlucjan/kernel-patches/raw/master/5.5/aufs-patches/0001-aufs-20200127.patch + wget --quiet https://git.froggi.es/tkg/PKGBUILDS/raw/master/linux55-tkg/linux55-tkg-patches/0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch + wget --quiet https://git.froggi.es/tkg/PKGBUILDS/raw/master/linux55-tkg/linux55-tkg-patches/0002-clear-patches.patch + wget --quiet https://git.froggi.es/tkg/PKGBUILDS/raw/master/linux55-tkg/linux55-tkg-patches/0006-add-acs-overrides_iommu.patch + wget --quiet https://git.froggi.es/tkg/PKGBUILDS/raw/master/linux55-tkg/linux55-tkg-patches/0007-v5.5-fsync.patch + wget --quiet https://git.froggi.es/tkg/PKGBUILDS/raw/master/linux55-tkg/linux55-tkg-patches/0011-ZFS-fix.patch + + patch -p1 < kernel_gcc_patch/enable_additional_cpu_optimizations_for_gcc_v9.1+_kernel_v5.5+.patch patch -p1 < O3-always-available.diff - #for f in ck.kolivas.org/patches/5.0/5.4/5.4-ck1/patches/*.patch; do patch -p1 < "\$f"; done - patch -p0 < ../0001-kernel-config-cfs-r2.patch - patch -p1 < 0001-aufs-20200113.patch + #for f in ck.kolivas.org/patches/5.0/5.5/5.5-ck1/patches/*.patch; do patch -p1 < "\$f"; done + patch -p0 < ../$KERNEL_CONFIG_DIFF + patch -p1 < 0001-aufs-20200127.patch echo -e "CONFIG_AUFS_FS=y\nCONFIG_AUFS_BRANCH_MAX_127=y\nCONFIG_AUFS_BRANCH_MAX_511=n\nCONFIG_AUFS_BRANCH_MAX_1023=n\nCONFIG_AUFS_BRANCH_MAX_32767=n\nCONFIG_AUFS_HNOTIFY=y\nCONFIG_AUFS_EXPORT=n\nCONFIG_AUFS_XATTR=y\nCONFIG_AUFS_FHSM=y\nCONFIG_AUFS_RDU=n\nCONFIG_AUFS_DIRREN=n\nCONFIG_AUFS_SHWH=n\nCONFIG_AUFS_BR_RAMFS=y\nCONFIG_AUFS_BR_FUSE=n\nCONFIG_AUFS_BR_HFSPLUS=n\nCONFIG_AUFS_DEBUG=n" >> .config sed -i "s/CONFIG_ISO9660_FS=m/CONFIG_ISO9660_FS=y/" .config - patch -p1 < 0007-v5.4-fsync.patch + patch -p1 < 0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch + patch -p1 < 0002-clear-patches.patch + patch -p1 < 0006-add-acs-overrides_iommu.patch + patch -p1 < 0007-v5.5-fsync.patch patch -p1 < 0011-ZFS-fix.patch + sed -i 's/CONFIG_DEFAULT_HOSTNAME="artixlinux"/CONFIG_DEFAULT_HOSTNAME="gentoox"/' .config make oldconfig touch /tmp/gentoox-kernelpatches-applied fi -cd .. -rm -f 0001-kernel-config-cfs-r2.patch -genkernel --kernel-config=/usr/src/linux-\$KERNELVERSION-gentoo/.config --no-mrproper --microcode --luks --lvm --mdadm --btrfs --disklabel all +cd /usr/src +rm -f $KERNEL_CONFIG_DIFF +#mkdir -p /usr/share/genkernel/distfiles/ +#wget https://www.busybox.net/downloads/busybox-1.20.2.tar.bz2 -d /usr/share/genkernel/distfiles/ +#cho -e '\nMAKEOPTS="-j12"' >> /etc/genkernel.conf + +# former command is genkernel-next (systemd only), latter is for genkernel +#genkernel --kernel-config=/usr/src/linux-\$KERNELVERSION-gentoo/.config --no-mrproper --udev --plymouth --luks --lvm --mdadm --btrfs --zfs all +genkernel --kernel-config=/usr/src/linux-\$KERNELVERSION-gentoo/.config --no-mrproper kernel + +#unmask zfs to prompt installation of masked zfs-9999 zfs-kmod-9999 +#echo 'sys-fs/zfs +#sys-fs/zfs-kmod' >> /etc/portage/package.unmask +#echo 'sys-fs/zfs ** +#sys-fs/zfs-kmod **' >> /etc/portage/package.accept_keywords +emerge -v squashfs-tools linux-firmware os-prober # zfs zfs-kmod + +genkernel --microcode --luks --lvm --mdadm --btrfs --disklabel initramfs # --zfs XZ_OPT="--lzma1=preset=9e,dict=128MB,nice=273,depth=200,lc=4" tar --lzma -cf /usr/src/kernel-gentoox.tar.lzma /boot/*\${KERNELVERSION}* -C /lib/modules/ . -emerge -v squashfs-tools linux-firmware os-prober grub:2 +emerge -v grub:2 +sed -i "s/#GRUB_CMDLINE_LINUX_DEFAULT=\"\"/GRUB_CMDLINE_LINUX_DEFAULT=\"zswap.enabled=1 zswap.compressor=lz4 zswap.max_pool_percent=20 zswap.zpool=z3fold\"/" /etc/default/grub +sed -i "s/#GRUB_GFXMODE=640x480/GRUB_GFXMODE=auto/" /etc/default/grub +sed -i "s/#GRUB_GFXPAYLOAD_LINUX=/GRUB_GFXPAYLOAD_LINUX=keep/" /etc/default/grub +#rc-update add zfs-import boot +#rc-update add zfs-mount boot touch /tmp/gentoox-kernel-done HEREDOC cp -v usr/src/kernel-gentoox.tar.lzma ../ @@ -158,22 +217,41 @@ exit 0 else echo "kernel already compiled, skipping..."; fi -if [[ ! -f 'tmp/gentoox-weston-done' ]]; then +if [[ ! -z $build_weston ]] && [[ ! -f 'tmp/gentoox-weston-done' ]]; then cat <<HEREDOC | chroot . source /etc/profile && export PS1="(chroot) \$PS1" -sed -i -r "s/^USE=\"([^\"]*)\"$/USE=\"\1 elogind -consolekit -systemd udev dbus X wayland gles plymouth pulseaudio ffmpeg ipv6\"/g" /etc/portage/make.conf +sed -i -r "s/^USE=\"([^\"]*)\"$/USE=\"\1 elogind -consolekit -systemd udev dbus X wayland gles vulkan plymouth pulseaudio ffmpeg ipv6\"/g" /etc/portage/make.conf FEATURES="-userpriv" emerge dev-lang/yasm # yasm fails to build otherwise -emerge -v --autounmask=y --autounmask-write=y --keep-going=y --deep --newuse xorg-server elogind sudo vim weston wpa_supplicant nfs-utils cifs-utils dhcpcd zsh zsh-completions +#echo 'sys-kernel/genkernel-next plymouth +#sys-boot/plymouth gdm' > /etc/portage/package.use/gentoox + +echo -e '\ndev-ruby/minitest ruby_targets_ruby27 +dev-ruby/net-telnet ruby_targets_ruby27 +dev-ruby/power_assert ruby_targets_ruby27 +dev-ruby/rake ruby_targets_ruby27 +dev-ruby/test-unit ruby_targets_ruby27 +dev-ruby/xmlrpc ruby_targets_ruby27 +dev-ruby/bundler ruby_targets_ruby27 +dev-ruby/did_you_mean ruby_targets_ruby27 +dev-ruby/json ruby_targets_ruby27 +dev-ruby/rdoc ruby_targets_ruby27 +virtual/rubygems ruby_targets_ruby27 +dev-ruby/rubygems ruby_targets_ruby27 +dev-ruby/kpeg ruby_targets_ruby27 +dev-ruby/racc ruby_targets_ruby27' >> /etc/portage/package.use/gentoox + +emerge -v --autounmask=y --autounmask-write=y --keep-going=y --deep --newuse xorg-server elogind sudo vim weston wpa_supplicant snapper \ +nfs-utils cifs-utils samba dhcpcd nss-mdns zsh zsh-completions powertop lm-sensors #plymouth-openrc-plugin #emerge -v --depclean -rc-update add dhcpcd default touch /tmp/gentoox-weston-done HEREDOC exit 0 fi +exit 0 -if [[ ! -z $build_kde ]]; then +if [[ ! -z $build_kde ]] && [[ ! -f 'tmp/gentoox-kde-done' ]]; then cat <<HEREDOC | chroot . source /etc/profile && export PS1="(chroot) \$PS1" eselect profile set "default/linux/amd64/17.1/desktop/plasma" @@ -193,18 +271,90 @@ emerge sys-config/ltoize sed -i '1s/^/source make.conf.lto\n/' /etc/portage/make.conf sed -i '1s/^/NTHREADS="12"\n/' /etc/portage/make.conf -emerge -v --jobs=4 --keep-going=y --autounmask=y --autounmask-write=y --deep --newuse kde-plasma/plasma-meta kde-apps/kde-apps-meta firefox mpv +echo -e '\nkde-plasma/plasma-meta discover networkmanager thunderbolt +kde-apps/kio-extras samba' >> /etc/portage/package.use/gentoox +emerge -v --jobs=4 --keep-going=y --autounmask=y --autounmask-write=y --deep --newuse kde-plasma/plasma-meta kde-apps/kde-apps-meta kde-apps/kmail calamares firefox mpv + +yes | layman -o https://raw.githubusercontent.com/fosero/flatpak-overlay/master/repositories.xml -f -a flatpak-overlay -q +emerge -v sys-apps/flatpak + cd /home/$username/ echo 'exec dbus-launch --exit-with-session startplasma-x11' > .xinitrc chown -R $username /home/$username/ +su - gentoox +flatpak --user remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo +touch /tmp/gentoox-kde-done HEREDOC exit 0 fi -if [[ ! -z $configure_user ]]; then +if [[ ! -z $build_steam ]] && [[ ! -f 'tmp/gentoox-steam-done' ]]; then cat <<HEREDOC | chroot . source /etc/profile && export PS1="(chroot) \$PS1" +yes | layman -a steam-overlay -q +USE="abi_x86_32" emerge -O gpm +echo -e '\n# steam +app-arch/bzip2 abi_x86_32 +dev-libs/elfutils abi_x86_32 +dev-libs/expat abi_x86_32 +dev-libs/icu abi_x86_32 +dev-libs/libffi abi_x86_32 +dev-libs/libpthread-stubs abi_x86_32 +dev-libs/libxml2 abi_x86_32 +dev-libs/ocl-icd abi_x86_32 +dev-libs/wayland abi_x86_32 +dev-util/glslang abi_x86_32 +dev-util/pkgconf abi_x86_32 +media-libs/mesa abi_x86_32 +sys-apps/lm-sensors abi_x86_32 +sys-devel/clang abi_x86_32 +sys-devel/llvm abi_x86_32 +sys-libs/gpm abi_x86_32 +sys-libs/ncurses abi_x86_32 +sys-libs/zlib abi_x86_32 +virtual/libelf abi_x86_32 +virtual/libffi abi_x86_32 +virtual/opengl abi_x86_32 +virtual/pkgconfig abi_x86_32 +x11-base/xcb-proto abi_x86_32 +x11-libs/libdrm abi_x86_32 +x11-libs/libpciaccess abi_x86_32 +x11-libs/libva abi_x86_32 +x11-libs/libva-intel-driver abi_x86_32 +x11-libs/libva-vdpau-driver abi_x86_32 +x11-libs/libvdpau abi_x86_32 +x11-libs/libX11 abi_x86_32 +x11-libs/libXau abi_x86_32 +x11-libs/libxcb abi_x86_32 +x11-libs/libXdamage abi_x86_32 +x11-libs/libXdmcp abi_x86_32 +x11-libs/libXext abi_x86_32 +x11-libs/libXfixes abi_x86_32 +x11-libs/libXrandr abi_x86_32 +x11-libs/libXrender abi_x86_32 +x11-libs/libxshmfence abi_x86_32 +x11-libs/libXv abi_x86_32 +x11-libs/libXvMC abi_x86_32 +x11-libs/libXxf86vm abi_x86_32' >> /etc/portage/package.use/gentoox +emerge -v steam-meta +touch /tmp/gentoox-steam-done +HEREDOC +exit 0 +fi + + +if [[ ! -z $configure_user ]] && [[ ! -f 'tmp/gentoox-user-configured' ]]; then +cat <<HEREDOC | chroot . +source /etc/profile && export PS1="(chroot) \$PS1" + +sed -i "s/localhost/gentoox/g" /etc/conf.d/hostname +sed -i "s/127.0.0.1 localhost/127.0.0.1 gentoox.haxx.dafuq gentoox localhost/" /etc/hosts +sed -i "s/::1 localhost/::1 gentoox.haxx.dafuq gentoox localhost/" /etc/hosts +echo 'dns_domain_lo="haxx.local" +nis_domain_lo="haxx.local"' > /etc/conf.d/net +echo 'nameserver 1.1.1.1 +nameserver 2606:4700:4700::1111' > /etc/resolv.conf echo "root:$rootpassword" | chpasswd useradd $username @@ -225,7 +375,16 @@ eselect fontconfig enable 52-infinality.conf eselect infinality set infinality eselect lcdfilter set infinality -usermod -aG audio,video,games,input $username +usermod -aG users,portage,lp,adm,audio,cdrom,disk,games,input,usb,video,cron $username + +cp /etc/samba/smb.conf.default /etc/samba/smb.conf +sed -i "s/ workgroup = MYGROUP/ workgroup = WORKGROUP/" /etc/samba/smb.conf +rc-update add dbus default +rc-update add dhcpcd default +rc-update add avahi-daemon default +rc-update add samba default + +touch /tmp/gentoox-user-configured HEREDOC exit 0 fi @@ -270,9 +429,10 @@ if [[ ! -z $build_iso ]]; then #rm -f /tmp/* #ToDo: clear bash history, truncate logs in /var/log/ cd .. +umount -l image/var/cache/{binpkgs,distfiles} umount -l image/* mv image/usr/src/kernel-gentoox.tar.lzma . -mksquashfs image/ image.squashfs -b 1M -comp xz -Xbcj x86 -Xdict-size 1M +mksquashfs image/ image.squashfs -b 1M -comp zstd -Xcompression-level 10 mkdir iso/ builddate=$(wget -O - http://distfiles.gentoo.org/releases/amd64/autobuilds/current-install-amd64-minimal/ | sed -nr "s/.*href=\"install-amd64-minimal-([0-9].*).iso\">.*/\1/p") if [[ ! -f "current-install-amd64-minimal/install-amd64-minimal-$builddate.iso" ]]; then @@ -288,10 +448,11 @@ sed -i "s@dokeymap@aufs@g" iso/grub/grub.cfg xorriso -as mkisofs -r -J \ -joliet-long -l -cache-inodes \ -isohybrid-mbr /usr/share/syslinux/isohdpfx.bin \ - -partition_offset 16 -A "Gentoo Live" \ + -partition_offset 16 -A "GentooX Live" \ -b isolinux/isolinux.bin -c isolinux/boot.cat \ - -no-emul-boot -boot-load-size 4 -boot-info-table \ - -o Gentoox-x86_64-$builddate.iso iso/ + -no-emul-boot -boot-load-size 4 -boot-info-table \ + -eltorito-alt-boot -e gentoo.efimg -no-emul-boot -isohybrid-gpt-basdat \ + -V "GentooX Live" -o Gentoox-x86_64-$builddate.iso iso/ #rm -Rf image/ iso/ kernel-gentoox.tar.lzma fi diff --git a/stage1.spec b/stage1.spec deleted file mode 100644 index 747e0a1..0000000 --- a/stage1.spec +++ /dev/null @@ -1,13 +0,0 @@ -subarch: amd64 -target: stage1 -version_stamp: 20200101.graphite -rel_type: default -profile: default/linux/amd64/17.1 -snapshot: latest -source_subpath: default/stage3-amd64-latest -compression_mode: pixz_x -decompressor_search_order: tar pixz xz lbzip2 bzip2 gzip -update_seed: yes -update_seed_command: --update --deep @world -portage_confdir: /root/releng/releases/weekly/portage/stages -portage_prefix: releng diff --git a/stage2.spec b/stage2.spec deleted file mode 100644 index d26b23c..0000000 --- a/stage2.spec +++ /dev/null @@ -1,11 +0,0 @@ -subarch: amd64 -target: stage2 -version_stamp: 20200101.graphite -rel_type: default -profile: default/linux/amd64/17.1 -snapshot: latest -source_subpath: default/stage1-amd64-20200101.graphite -compression_mode: pixz_x -decompressor_search_order: tar pixz xz lbzip2 bzip2 gzip -portage_confdir: /root/releng/releases/weekly/portage/stages -portage_prefix: releng diff --git a/stage3.spec b/stage3.spec deleted file mode 100644 index b00eda2..0000000 --- a/stage3.spec +++ /dev/null @@ -1,11 +0,0 @@ -subarch: amd64 -target: stage3 -version_stamp: 20200101.graphite -rel_type: default -profile: default/linux/amd64/17.1 -snapshot: latest -source_subpath: default/stage2-amd64-20200101.graphite -compression_mode: pixz_x -decompressor_search_order: tar pixz xz lbzip2 bzip2 gzip -portage_confdir: /root/releng/releases/weekly/portage/stages -portage_prefix: releng |