initramfs changes for installer/livedisk
This commit is contained in:
parent
97385889a3
commit
3d860fcd6e
@ -10,6 +10,11 @@ SRC_URI = "\
|
|||||||
file://11-dm.rules \
|
file://11-dm.rules \
|
||||||
file://citadel-rootfs-mount.path \
|
file://citadel-rootfs-mount.path \
|
||||||
file://citadel-rootfs-mount.service \
|
file://citadel-rootfs-mount.service \
|
||||||
|
file://citadel-rootfs-setup.service \
|
||||||
|
file://citadel-install-rootfs-mount.service \
|
||||||
|
file://citadel-install-rootfs-setup.service \
|
||||||
|
file://citadel-image.conf \
|
||||||
|
file://99-grsec.conf \
|
||||||
"
|
"
|
||||||
|
|
||||||
S = "${WORKDIR}"
|
S = "${WORKDIR}"
|
||||||
@ -25,17 +30,30 @@ do_install() {
|
|||||||
install -d ${D}${systemd_system_unitdir}
|
install -d ${D}${systemd_system_unitdir}
|
||||||
install -m 644 ${WORKDIR}/citadel-rootfs-mount.path ${D}${systemd_system_unitdir}
|
install -m 644 ${WORKDIR}/citadel-rootfs-mount.path ${D}${systemd_system_unitdir}
|
||||||
install -m 644 ${WORKDIR}/citadel-rootfs-mount.service ${D}${systemd_system_unitdir}
|
install -m 644 ${WORKDIR}/citadel-rootfs-mount.service ${D}${systemd_system_unitdir}
|
||||||
|
install -m 644 ${WORKDIR}/citadel-rootfs-setup.service ${D}${systemd_system_unitdir}
|
||||||
|
install -m 644 ${WORKDIR}/citadel-install-rootfs-mount.service ${D}${systemd_system_unitdir}
|
||||||
|
install -m 644 ${WORKDIR}/citadel-install-rootfs-setup.service ${D}${systemd_system_unitdir}
|
||||||
|
|
||||||
install -d ${D}${systemd_system_unitdir}/sysinit.target.wants
|
install -d ${D}${systemd_system_unitdir}/sysinit.target.wants
|
||||||
ln -s ../citadel-rootfs-mount.path ${D}${systemd_system_unitdir}/sysinit.target.wants/citadel-rootfs-mount.path
|
ln -s ../citadel-rootfs-mount.path ${D}${systemd_system_unitdir}/sysinit.target.wants/citadel-rootfs-mount.path
|
||||||
|
ln -s ../citadel-rootfs-setup.service ${D}${systemd_system_unitdir}/sysinit.target.wants/citadel-rootfs-setup.service
|
||||||
|
ln -s ../citadel-install-rootfs-mount.service ${D}${systemd_system_unitdir}/sysinit.target.wants/citadel-install-rootfs-mount.service
|
||||||
|
|
||||||
|
install -d ${D}${libdir}/sysctl.d/
|
||||||
|
install -m 0644 ${WORKDIR}/99-grsec.conf ${D}${libdir}/sysctl.d/
|
||||||
|
|
||||||
install -d ${D}${sysconfdir}
|
install -d ${D}${sysconfdir}
|
||||||
install -m 644 ${WORKDIR}/initrd-release ${D}${sysconfdir}
|
install -m 644 ${WORKDIR}/initrd-release ${D}${sysconfdir}
|
||||||
install -m 644 ${WORKDIR}/crypttab ${D}${sysconfdir}
|
install -m 644 ${WORKDIR}/crypttab ${D}${sysconfdir}
|
||||||
install -d ${D}${sysconfdir}/udev/rules.d
|
install -d ${D}${sysconfdir}/udev/rules.d
|
||||||
install -m 644 ${WORKDIR}/11-dm.rules ${D}${sysconfdir}/udev/rules.d
|
install -m 644 ${WORKDIR}/11-dm.rules ${D}${sysconfdir}/udev/rules.d
|
||||||
|
|
||||||
|
install -d ${D}${datadir}/citadel
|
||||||
|
install -m 644 ${S}/citadel-image.conf ${D}${datadir}/citadel/
|
||||||
|
|
||||||
install -d ${D}/dev
|
install -d ${D}/dev
|
||||||
mknod -m 622 ${D}/dev/console c 5 1
|
mknod -m 622 ${D}/dev/console c 5 1
|
||||||
|
mknod -m 644 ${D}/dev/loop0 b 7 0
|
||||||
}
|
}
|
||||||
|
|
||||||
FILES_${PN} += "/dev/console /boot /dev /usr /etc /proc /run /sys /tmp"
|
FILES_${PN} += "/dev/console /boot /dev /usr /etc /proc /run /sys /tmp"
|
||||||
|
@ -0,0 +1,9 @@
|
|||||||
|
|
||||||
|
# disable some pax and grsecurity features so that debootstrap will work
|
||||||
|
# this should be removed later
|
||||||
|
|
||||||
|
kernel.grsecurity.chroot_caps = 0
|
||||||
|
kernel.grsecurity.chroot_deny_chmod = 0
|
||||||
|
kernel.grsecurity.chroot_deny_mknod = 0
|
||||||
|
kernel.grsecurity.chroot_deny_mount = 0
|
||||||
|
kernel.pax.softmode = 1
|
@ -0,0 +1,3 @@
|
|||||||
|
[channel.testing]
|
||||||
|
update_server = ""
|
||||||
|
pubkey = "2adc094a709bb3f81f9b311dbd702b1d5598be8e80e2afac3b4e4eb66bbf82a4"
|
@ -0,0 +1,25 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Mount citadel rootfs in install/live mode
|
||||||
|
DefaultDependencies=no
|
||||||
|
|
||||||
|
# Only run in initramfs
|
||||||
|
ConditionPathExists=/etc/initrd-release
|
||||||
|
|
||||||
|
# Only run in install or live mode
|
||||||
|
ConditionKernelCommandLine=|citadel.install
|
||||||
|
ConditionKernelCommandLine=|citadel.live
|
||||||
|
|
||||||
|
# Only run if root is set to this exact path
|
||||||
|
ConditionKernelCommandLine=root=/dev/mapper/rootfs
|
||||||
|
|
||||||
|
Wants=citadel-rootfs-setup.service citadel-install-rootfs-setup.service
|
||||||
|
|
||||||
|
Requires=systemd-sysctl.service systemd-udev-settle.service
|
||||||
|
After=systemd-sysctl.service systemd-udev-settle.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
RemainAfterExit=yes
|
||||||
|
ExecStartPre=/usr/bin/plymouth message --text="Copying files from boot disk and decompressing rootfs image"
|
||||||
|
ExecStart=/usr/libexec/citadel-install copy-artifacts
|
||||||
|
ExecStart=/usr/libexec/citadel-mount rootfs
|
@ -0,0 +1,19 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Set up citadel for install/live boot
|
||||||
|
DefaultDependencies=no
|
||||||
|
Conflicts=shutdown.target
|
||||||
|
After=sysroot.mount citadel-rootfs-setup.service
|
||||||
|
Requires=sysroot.mount
|
||||||
|
Before=initrd-root-fs.target shutdown.target
|
||||||
|
AssertPathExists=/etc/initrd-release
|
||||||
|
|
||||||
|
# Only run in install or live modes
|
||||||
|
ConditionKernelCommandLine=|citadel.install
|
||||||
|
ConditionKernelCommandLine=|citadel.live
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
RemainAfterExit=yes
|
||||||
|
ExecStartPre=/usr/bin/plymouth message --text="Setting up filesystem in RAM for live boot"
|
||||||
|
ExecStart=/usr/libexec/citadel-install live-setup
|
||||||
|
ExecStartPost=/usr/bin/plymouth message --text="Starting desktop"
|
@ -1,5 +1,17 @@
|
|||||||
[Unit]
|
[Unit]
|
||||||
Description=Watch for new entries in /dev/mapper
|
Description=Watch for new entries in /dev/mapper
|
||||||
|
DefaultDependencies=no
|
||||||
|
|
||||||
|
# Only run in initramfs
|
||||||
|
ConditionPathExists=/etc/initrd-release
|
||||||
|
|
||||||
|
# Only run if root is set to this exact path, since that's
|
||||||
|
# the path created by 'citadel-mount rootfs'
|
||||||
|
ConditionKernelCommandLine=root=/dev/mapper/rootfs
|
||||||
|
|
||||||
|
# Don't run if running from installer or in live mode
|
||||||
|
ConditionKernelCommandLine=!citadel.install
|
||||||
|
ConditionKernelCommandLine=!citadel.live
|
||||||
|
|
||||||
[Path]
|
[Path]
|
||||||
PathChanged=/dev/mapper
|
PathChanged=/dev/mapper
|
||||||
|
@ -1,11 +1,26 @@
|
|||||||
[Unit]
|
[Unit]
|
||||||
Description=Mount citadel rootfs
|
Description=Create rootfs device with citadel-mount rootfs
|
||||||
|
DefaultDependencies=no
|
||||||
|
|
||||||
|
#
|
||||||
|
# Only run after all partitions have been discovered
|
||||||
|
#
|
||||||
ConditionPathExists=/dev/mapper/citadel-rootfsA
|
ConditionPathExists=/dev/mapper/citadel-rootfsA
|
||||||
ConditionPathExists=/dev/mapper/citadel-rootfsB
|
ConditionPathExists=/dev/mapper/citadel-rootfsB
|
||||||
ConditionPathExists=/dev/mapper/citadel-storage
|
ConditionPathExists=/dev/mapper/citadel-storage
|
||||||
|
|
||||||
|
#
|
||||||
|
# Pull in the unit that mounts 'extra' and 'modules' images
|
||||||
|
#
|
||||||
|
Wants=citadel-rootfs-setup.service
|
||||||
|
|
||||||
|
#
|
||||||
|
# citadel-mount needs to run in pax soft mode
|
||||||
|
#
|
||||||
|
Requires=systemd-sysctl.service
|
||||||
|
After=systemd-sysctl.service
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Type=oneshot
|
Type=oneshot
|
||||||
RemainAfterExit=yes
|
RemainAfterExit=yes
|
||||||
ExecStart=/bin/sh -c 'echo "hello world"'
|
ExecStart=/usr/libexec/citadel-mount rootfs
|
||||||
|
@ -0,0 +1,14 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Set up citadel rootfs by mounting 'modules' and 'extra'
|
||||||
|
DefaultDependencies=no
|
||||||
|
Conflicts=shutdown.target
|
||||||
|
After=sysroot.mount
|
||||||
|
Requires=sysroot.mount
|
||||||
|
Before=initrd-root-fs.target shutdown.target
|
||||||
|
AssertPathExists=/etc/initrd-release
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
RemainAfterExit=yes
|
||||||
|
ExecStart=/usr/libexec/citadel-mount modules
|
||||||
|
ExecStart=/usr/libexec/citadel-mount extra
|
@ -4,6 +4,12 @@ NO_RECOMMENDATIONS = "1"
|
|||||||
|
|
||||||
PACKAGE_INSTALL = "\
|
PACKAGE_INSTALL = "\
|
||||||
citadel-initramfs \
|
citadel-initramfs \
|
||||||
|
citadel-mount \
|
||||||
|
citadel-install \
|
||||||
|
strace \
|
||||||
|
xz \
|
||||||
|
tar \
|
||||||
|
btrfs-tools \
|
||||||
base-passwd \
|
base-passwd \
|
||||||
busybox \
|
busybox \
|
||||||
kbd \
|
kbd \
|
||||||
@ -75,6 +81,7 @@ PACKAGE_INSTALL = "\
|
|||||||
kernel-module-intel-ishtp \
|
kernel-module-intel-ishtp \
|
||||||
kernel-module-intel-ishtp-hid \
|
kernel-module-intel-ishtp-hid \
|
||||||
kernel-module-intel-rng \
|
kernel-module-intel-rng \
|
||||||
|
kernel-module-lz4 \
|
||||||
kernel-module-msi-wmi \
|
kernel-module-msi-wmi \
|
||||||
kernel-module-mxm-wmi \
|
kernel-module-mxm-wmi \
|
||||||
kernel-module-radeon \
|
kernel-module-radeon \
|
||||||
@ -87,6 +94,7 @@ PACKAGE_INSTALL = "\
|
|||||||
kernel-module-wmi \
|
kernel-module-wmi \
|
||||||
kernel-module-xhci-plat-hcd \
|
kernel-module-xhci-plat-hcd \
|
||||||
liberation-fonts \
|
liberation-fonts \
|
||||||
|
util-linux \
|
||||||
plymouth \
|
plymouth \
|
||||||
"
|
"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user