main/postmarketos-mkinitfs: enable profiling with bootchart (!852)
If (a) the kernel command line parameters include PMOS_BOOTCHART2 and (b) /sbin/bootchartd exists (i.e., the bootchart2 package has been installed), run /sbin/bootchartd instead of /sbin/init.
This commit is contained in:
parent
e068de2de5
commit
8760409717
@ -1,6 +1,6 @@
|
|||||||
pkgname=postmarketos-mkinitfs
|
pkgname=postmarketos-mkinitfs
|
||||||
pkgver=0.8.0
|
pkgver=0.8.0
|
||||||
pkgrel=1
|
pkgrel=2
|
||||||
pkgdesc="Tool to generate initramfs images for postmarketOS"
|
pkgdesc="Tool to generate initramfs images for postmarketOS"
|
||||||
url="https://postmarketos.org"
|
url="https://postmarketos.org"
|
||||||
# multipath-tools: kpartx
|
# multipath-tools: kpartx
|
||||||
@ -23,6 +23,6 @@ package() {
|
|||||||
"$pkgdir/sbin/mkinitfs"
|
"$pkgdir/sbin/mkinitfs"
|
||||||
mkdir -p "$pkgdir/etc/postmarketos-mkinitfs/hooks/"
|
mkdir -p "$pkgdir/etc/postmarketos-mkinitfs/hooks/"
|
||||||
}
|
}
|
||||||
sha512sums="8be7f29394f8cd4e1c4b93f018f6314350f7e37e20d242c97284c1b112a106f882318a101bc0c70b391590b969023901580c677ee9f869850e90e69171a44e80 init.sh.in
|
sha512sums="1d49db8a48ad513cc548b8a0ea23cc64518e71c93863155b4e9d2271fb46090506331c03d6955d693c8568c248ecc76b218efe4a6f6bba57c41c5f6d775dc61b init.sh.in
|
||||||
44571b62e4d326355fa7d96add9a9115a89db3b6ce12c17aa4b0d5bd02d63d5b5d3152305af18795938bc9479d37b44e9a14268efa28a8c114c77ed498a7d65b init_functions.sh
|
3bcec7b35ced7e87c301f71a892e54aa40983396e2ebaa3c8cbd84c91f711b3ca0e30fbc3104b1a1018ec1af51844ba90a63d380359b51db6242562d21776ed0 init_functions.sh
|
||||||
3f918f8b5967b73e507c2ddf36dccc24fee98298f05ca23e22605400de95137f8877e09769616e7db388557c645fb45c03e1e6b5bab815ec9f853c318f0431f1 mkinitfs.sh"
|
3f918f8b5967b73e507c2ddf36dccc24fee98298f05ca23e22605400de95137f8877e09769616e7db388557c645fb45c03e1e6b5bab815ec9f853c318f0431f1 mkinitfs.sh"
|
||||||
|
@ -44,6 +44,9 @@ unlock_root_partition
|
|||||||
resize_root_filesystem
|
resize_root_filesystem
|
||||||
mount_root_partition
|
mount_root_partition
|
||||||
|
|
||||||
|
init="/sbin/init"
|
||||||
|
setup_bootchart2
|
||||||
|
|
||||||
# Switch root
|
# Switch root
|
||||||
killall telnetd mdev msm-fb-refresher 2>/dev/null
|
killall telnetd mdev msm-fb-refresher 2>/dev/null
|
||||||
umount /boot
|
umount /boot
|
||||||
@ -53,7 +56,7 @@ umount /dev/pts
|
|||||||
umount /dev
|
umount /dev
|
||||||
|
|
||||||
# shellcheck disable=SC2093
|
# shellcheck disable=SC2093
|
||||||
exec switch_root /sysroot /sbin/init
|
exec switch_root /sysroot "$init"
|
||||||
|
|
||||||
echo "ERROR: switch_root failed!"
|
echo "ERROR: switch_root failed!"
|
||||||
echo "Looping forever. Install and use the debug-shell hook to debug this."
|
echo "Looping forever. Install and use the debug-shell hook to debug this."
|
||||||
|
@ -374,7 +374,7 @@ start_udhcpd() {
|
|||||||
udhcpd
|
udhcpd
|
||||||
}
|
}
|
||||||
|
|
||||||
setup_directfb_tslib(){
|
setup_directfb_tslib() {
|
||||||
# Set up directfb and tslib
|
# Set up directfb and tslib
|
||||||
# Note: linux_input module is disabled since it will try to take over
|
# Note: linux_input module is disabled since it will try to take over
|
||||||
# the touchscreen device from tslib (e.g. on the N900)
|
# the touchscreen device from tslib (e.g. on the N900)
|
||||||
@ -385,14 +385,14 @@ setup_directfb_tslib(){
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
start_onscreen_keyboard(){
|
start_onscreen_keyboard() {
|
||||||
setup_directfb_tslib
|
setup_directfb_tslib
|
||||||
osk-sdl -n root -d "$partition" -c /etc/osk.conf -v > /osk-sdl.log 2>&1
|
osk-sdl -n root -d "$partition" -c /etc/osk.conf -v > /osk-sdl.log 2>&1
|
||||||
unset DFBARGS
|
unset DFBARGS
|
||||||
unset TSLIB_TSDEVICE
|
unset TSLIB_TSDEVICE
|
||||||
}
|
}
|
||||||
|
|
||||||
start_charging_mode(){
|
start_charging_mode() {
|
||||||
# Check cmdline for charging mode
|
# Check cmdline for charging mode
|
||||||
chargingmodes="
|
chargingmodes="
|
||||||
androidboot.mode=charger
|
androidboot.mode=charger
|
||||||
@ -465,6 +465,25 @@ setup_framebuffer() {
|
|||||||
set_framebuffer_mode
|
set_framebuffer_mode
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setup_bootchart2() {
|
||||||
|
if grep -q PMOS_BOOTCHART2 /proc/cmdline; then
|
||||||
|
if [ -f "/sysroot/sbin/bootchartd" ]; then
|
||||||
|
# shellcheck disable=SC2034
|
||||||
|
init="/sbin/bootchartd"
|
||||||
|
echo "remounting /sysroot as rw for /sbin/bootchartd"
|
||||||
|
mount -o remount, rw /sysroot
|
||||||
|
|
||||||
|
# /dev/null may not exist at the first boot after
|
||||||
|
# the root filesystem has been created.
|
||||||
|
[ -c /sysroot/dev/null ] && return
|
||||||
|
echo "creating /sysroot/dev/null for /sbin/bootchartd"
|
||||||
|
mknod -m 666 "/sysroot/dev/null" c 1 3
|
||||||
|
else
|
||||||
|
echo "WARNING: bootchart2 is not installed."
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
loop_forever() {
|
loop_forever() {
|
||||||
while true; do
|
while true; do
|
||||||
sleep 1
|
sleep 1
|
||||||
|
Loading…
x
Reference in New Issue
Block a user