e2k, e2k.mk: merge boot, fixup and x11 bits

This commit is packing a bunch of changes that went
into RELENG-e2k-workstation during its forked
development; it covers three distinct things:

- boot.conf preparation for firmware to load the image;
- fixup of packages common for e2k images;
- major cleanup of obsolete/unused cruft
  (unified kernel and reliable xorg autodetection
  allow us to move away from canned machine-specific
  configurations for the most part).
This commit is contained in:
Michael Shigorin 2020-08-21 12:07:56 +03:00
parent daf939f71c
commit f47e09cff1
3 changed files with 65 additions and 85 deletions

View File

@ -51,21 +51,14 @@ ifeq (distro,$(IMAGE_CLASS))
distro/.e2k-rescue: distro/.base mixin/e2k-base use/rescue/.base +net-eth distro/.e2k-rescue: distro/.base mixin/e2k-base use/rescue/.base +net-eth
@$(call set,META_VOL_ID,ALT Rescue for Elbrus) @$(call set,META_VOL_ID,ALT Rescue for Elbrus)
distro/e2k-101-rescue: distro/.e2k-rescue
@$(call add,KFLAVOURS,elbrus-1cp)
# NB: this one is NOT suited for a particular processor yet!
# (that's to be done downstream)
distro/.e2k-installer-base: distro/.base mixin/e2k-base \ distro/.e2k-installer-base: distro/.base mixin/e2k-base \
use/install2 use/install2/packages use/e2k/install2 \ use/install2 use/install2/packages use/e2k \
use/volumes/regular use/net-ssh +net-eth use/volumes/regular use/net-ssh +net-eth
@$(call set,INSTALLER,altlinux-generic) @$(call set,INSTALLER,altlinux-generic)
@$(call set,META_PUBLISHER,BaseALT Ltd) @$(call set,META_PUBLISHER,BaseALT Ltd)
@$(call set,META_VOL_SET,ALT) @$(call set,META_VOL_SET,ALT)
@$(call set,META_VOL_ID,ALT for Elbrus) @$(call set,META_VOL_ID,ALT for Elbrus)
@$(call set,META_APP_ID,ALT/$(ARCH)) @$(call set,META_APP_ID,ALT/$(ARCH))
@$(call add,INSTALL2_PACKAGES,agetty)
@$(call add,INSTALL2_PACKAGES,ifplugd) ### for net-eth link status
@$(call add,INSTALL2_BRANDING,alterator) @$(call add,INSTALL2_BRANDING,alterator)
@$(call add,THE_PACKAGES,agetty gpm fdisk parted smartmontools pv sshfs) @$(call add,THE_PACKAGES,agetty gpm fdisk parted smartmontools pv sshfs)
@$(call add,THE_PACKAGES,make-initrd dhcpcd hdparm nfs-clients vim-console) @$(call add,THE_PACKAGES,make-initrd dhcpcd hdparm nfs-clients vim-console)
@ -78,28 +71,4 @@ distro/.e2k-installer-base: distro/.base mixin/e2k-base \
distro/.e2k-installer-sysv: distro/.e2k-installer-base +sysvinit; @: distro/.e2k-installer-sysv: distro/.e2k-installer-base +sysvinit; @:
distro/.e2k-installer: distro/.e2k-installer-base +systemd; @: distro/.e2k-installer: distro/.e2k-installer-base +systemd; @:
distro/e2k-801-builder: distro/.e2k-installer-sysv \
use/e2k/install2/801 use/dev/groups/builder; @:
distro/alt-jeos-401: distro/.e2k-installer-sysv use/e2k/install2/401
@$(call set,META_VOL_ID,ALT JeOS 401)
distro/alt-jeos-801: distro/.e2k-installer-sysv use/e2k/install2/801
@$(call set,META_VOL_ID,ALT JeOS 801)
distro/alt-jeos-101: distro/.e2k-installer-sysv use/e2k/install2/101
@$(call set,META_VOL_ID,ALT JeOS 101)
distro/e2k-101-mate: distro/.e2k-installer use/e2k/101 \
mixin/e2k-desktop mixin/e2k-mate
@$(call add,THE_PACKAGES,LibreOffice-integrated LibreOffice-gnome)
@$(call add,THE_PACKAGES,LibreOffice-langpack-ru)
distro/e2k-4xx-installer: distro/.e2k-installer-sysv use/e2k/install2/4xx
@$(call set,INSTALLER,altlinux-server)
@$(call add,BASE_PACKAGES,make-initrd-mdadm make-initrd-lvm)
distro/.e2k-installer-mate: distro/.e2k-installer \
mixin/e2k-desktop mixin/e2k-mate; @:
endif endif

View File

@ -1,61 +1,22 @@
use/e2k: use/e2k: use/tty/S0
@$(call add_feature) @$(call add_feature)
@$(call add,BASE_PACKAGES,installer-feature-e2k-fix-clock-stage3) @$(call add,BASE_PACKAGES,installer-feature-e2k-fix-clock-stage3)
@$(call add,LIVE_PACKAGES,installer-feature-e2k-fix-boot-stage2)
# at least one of these is requisite @$(call add,LIVE_PACKAGES,installer-feature-e2k-ignore-cf-stage2)
use/e2k/1cp use/e2k/4c use/e2k/8c: use/e2k/%: use/e2k @$(call add,LIVE_PACKAGES,livecd-installer-features)
@$(call set,KFLAVOURS,elbrus-$*) @$(call add,LIVE_PACKAGES,blacklist-ide) # avoid overwriting hda
@$(call add,STAGE2_PACKAGES,agetty)
@$(call add,INSTALL2_PACKAGES,installer-feature-e2k-xorg-conf-stage2)
@$(call add,INSTALL2_PACKAGES,installer-feature-e2k-fix-boot-stage2)
@$(call add,INSTALL2_PACKAGES,installer-feature-fstrim-stage2)
@$(call add,INSTALL2_PACKAGES,blacklist-ide) # avoid overwriting hda
@$(call add,INSTALL2_PACKAGES,ifplugd) # for net-eth link status
@$(call add,INSTALL2_CLEANUP_PACKAGES,llvm)
@$(call set,KFLAVOURS,elbrus-def) # no other flavours for now
@$(call xport,STAGE2_BOOTARGS)
use/e2k/x11: use/e2k use/x11 use/e2k/x11: use/e2k use/x11
@$(call add,THE_PACKAGES,xorg-server xinit) @$(call add,THE_PACKAGES,xorg-server xinit)
use/e2k/x11/401: use/e2k/x11 use/e2k/4c
@$(call add,THE_PACKAGES,xorg-conf-e401-radeon)
@$(call add,THE_PACKAGES,xorg-drv-ati)
use/e2k/x11/801: use/e2k/x11 use/e2k/8c
@$(call add,THE_PACKAGES,xorg-conf-e801-radeon)
@$(call add,THE_PACKAGES,xorg-drv-ati)
use/e2k/x11/.101: use/e2k/x11 use/e2k/1cp; @:
use/e2k/x11/101/modesetting: use/e2k/x11/.101
@$(call add,THE_PACKAGES,xorg-conf-e101-modesetting)
@$(call add,THE_PACKAGES,dummy-xorg-drv-vivante)
use/e2k/x11/101/mga2: use/e2k/x11/.101
@$(call add,THE_PACKAGES,xorg-conf-e101-mga2)
@$(call add,THE_PACKAGES,xorg-drv-mga2 vivante_glx)
use/e2k/x11/101: use/e2k/x11/101/modesetting
@$(call add,MAIN_PACKAGES,xorg-conf-e101-mga2)
@$(call add,MAIN_PACKAGES,xorg-drv-mga2 vivante_glx)
use/e2k/install2: use/e2k
@$(call add,INSTALL2_PACKAGES,installer-feature-e2k-xorg-conf-stage2)
@$(call add,INSTALL2_PACKAGES,installer-feature-e2k-fix-boot-stage2)
@$(call add,INSTALL2_PACKAGES,installer-feature-fstrim-stage2)
@$(call add,INSTALL2_CLEANUP_PACKAGES,llvm)
use/e2k/install2/desktop: use/e2k/install2
@$(call add,INSTALL2_PACKAGES,installer-feature-e2k-ignore-cf-stage2)
use/e2k/install2/4xx: use/e2k/install2 use/e2k/4c
@$(call add,INSTALL2_PACKAGES,xorg-conf-e4xx-fbdev)
use/e2k/install2/401: use/e2k/install2/desktop use/e2k/4c
@$(call add,INSTALL2_PACKAGES,xorg-conf-e401-modesetting)
use/e2k/install2/801: use/e2k/install2/desktop use/e2k/8c
@$(call add,INSTALL2_PACKAGES,xorg-conf-e801-modesetting)
use/e2k/install2/101: use/e2k/install2/desktop use/e2k/1cp
@$(call add,INSTALL2_PACKAGES,xorg-conf-e101-modesetting)
@$(call add,INSTALL2_PACKAGES,dummy-xorg-drv-vivante)
use/e2k/sound/401: use/e2k/sound/401:
@$(call add,THE_PACKAGES,setup-alsa-elbrus-401) @$(call add,THE_PACKAGES,setup-alsa-elbrus-401)
use/e2k/401: use/e2k/install2/401 use/e2k/x11/401 use/e2k/sound/401; @:
use/e2k/801: use/e2k/install2/801 use/e2k/x11/801; @:
use/e2k/101: use/e2k/install2/101 use/e2k/x11/101; @:

View File

@ -0,0 +1,50 @@
#!/bin/sh
echo "** 20-e2k-boot START"
cd "$WORKDIR"
# slightly different logic as there's no boot *menu*:
# ensure the user can install this if possible
[ -f live ] && default=live
[ -f rescue ] && default=rescue
[ -f altinst ] && default=install
cat > boot.conf << EOF
# USB Flash note: write the contents including .disk/ onto
# an ext2 formatted drive with "altinst" filesystem label
default=$default
timeout=3
EOF
for i in live altinst rescue; do
[ -f "$i" ] || continue
if [ "$i" = "altinst" ]; then
label=install
stage2=
else
label="$i"
stage2="stagename=$i"
fi
cat >> boot.conf << EOF
label=$label
partition=0
image=/alt0/vmlinux.0
cmdline=console=ttyS0,115200 console=tty0 hardreset fastboot live automatic=method:cdrom ${stage2:+$stage2 }${GLOBAL_STAGE2_BOOTARGS:+$GLOBAL_STAGE2_BOOTARGS }${GLOBAL_BOOT_LANG:+lang=$GLOBAL_BOOT_LANG}
initrd=/alt0/full.cz
label=${label}_flash
partition=0
image=/alt0/vmlinux.0
cmdline=console=ttyS0,115200 console=tty0 hardreset fastboot live lowmem automatic=method:disk,label:altinst,directory:/ ${stage2:+$stage2 }${GLOBAL_STAGE2_BOOTARGS:+$GLOBAL_STAGE2_BOOTARGS }${GLOBAL_BOOT_LANG:+lang=$GLOBAL_BOOT_LANG}
initrd=/alt0/full.cz
EOF
done
ls -lh
echo "** 20-e2k-boot END"