Commit graph

37 commits

Author SHA1 Message Date
Oliver Smith
8b7adeddf3
main/postmarketos-base: remove post-install config overrides (MR 1713)
Do not change config files in post-install scripts anymore (with sed
commands or by other means). Instead, ship the files inside the packages
and use "replaces", so apk allows the package to overwrite files from
other packages:
https://wiki.alpinelinux.org/wiki/APKBUILD_Reference#replaces

Notes on specific files:
* /etc/elogind/logind.conf: original file only consists of commented out
  compile defaults. Copy them over for now. In the future we should be
  able to install our own config into a .d directory, without all the
  comments: 8358fc5950
* /etc/fstab: original file only has /dev/cdrom and /dev/usbdisk
  entries, which are not useful for postmarketOS:
  https://gitlab.alpinelinux.org/alpine/aports/-/blob/master/main/alpine-baselayout/APKBUILD
* /etc/motd: reformat the text, add link to the chat
* /etc/conf.d/syslog: original file only contained 'SYSLOGD_OPTS="-t"',
  make the override file as if the sed statement from post-install was
  executed
* /etc/wpa_supplicant/wpa_supplicant.conf: post-install script touches
  this file. We probably added it back in 2017 in relation to enabling
  D-Bus (though the PR does not mention it explicity), but at least with
  the current init.d script of NetworkManager, we can simply have '-u' in
  wpa_supplicant_args:
  https://github.com/postmarketOS/pmbootstrap/pull/578
  https://gitlab.alpinelinux.org/alpine/aports/-/blob/master/main/wpa_supplicant/wpa_supplicant.initd
* /etc/sudoers: base on original /etc/sudoers, but remove all the
  commented out stuff except for the visudo note at the top. We could
  also put a file in /etc/sudoers.d, but since the wheel line is present
  in the original /etc/sudoers and only commented out, it would be kind
  of unexpected to enable it in a file in /etc/sudoers.d. I prefer this
  stripped down version of the file, that is easy to read.
2020-12-03 13:11:03 +01:00
clayton craft
81fc6a0bed
postmarketos-base: enable rfkill service (MR 1693)
This enabled the rfkill service, part of util-linux, that saves/restores
radio device state on shutdown/boot.

fixed #836
2020-11-09 15:09:32 +01:00
Bart Ribbers
7b58ed7fce
main/postmarketos-base: stop the power key from shutting down devices (MR 1499)
Pressing power button should not power off a device. Although it is
expected on desktops and laptops, it isn't expected on phones and
tablets. Instead it should just turn off the screen or go into a deep
sleep, but that isn't handled by elogind. So let elogind just ignore the
button altogether.

Also re-order the dependencies alphabetically while we're touching the
package anyway
2020-08-22 22:41:41 +02:00
Oliver Smith
784782f543
main/postmarketos-base: keep /etc/fstab (MR 1398)
Only add a comment, do not try to mount the root or boot partitions
anymore. The initramfs is doing this already.

Related: https://postmarketos.org/fstab
2020-07-08 18:02:49 +02:00
Oliver Smith
58ae4df2ef
main/postmarketos-base: rm write_unless_modified (MR 1398)
Get rid of the "write_unless_modified" code, which was supposed to only
change /etc/fstab, /etc/issue, /etc/motd if the user did not modify it.

This is nice in theory, but we have a bug report where the code did not
do what it should (apk audit possibly failed due to a qemu bug?), and
then it lead to strange bugs related to not having the expected
/etc/fstab installed.

Fixes: #661, #258
2020-07-08 18:02:49 +02:00
Federico Amedeo Izzo
b6ea0ba1de
{nokia-n900,samsung-i9070}: move swclock initial timestamp back to postmaketos-base.post-install (MR 1166) 2020-05-23 17:57:40 +02:00
Federico Amedeo Izzo
859772a915
*/*: add missing exit 0 in post-install scripts (MR 1166) 2020-05-23 17:57:36 +02:00
Federico Amedeo Izzo
0e502a5139
postmarketos-base: disable swclock for all devices, enable it for nokia-n900 and samsung-i9070 (MR 1166) 2020-05-23 17:57:27 +02:00
Pops Dylan
7b7c1db0ff
main/postmarketos-base: remove initstepslew from chrony configuration (!838)
Comment out the initstepslew line in /etc/chrony/chrony.conf.
initstepslew can delay booting while chrony sets the time. The
makestep 1 -1 line in the configuration also causes chrony to step
the time (whenever the offset is greater than 1s), making
initstepslew redundant.
2019-12-30 18:34:14 +01:00
Oliver Smith
17292f4f5e
main/postmarketos-base: fix wpa_supplicant config (!365)
Fix wifi on htc-ace by properly setting nl80211 before wext.

/etc/conf.d/wpa_supplicant is supposed to get modified twice with the
current code in the post-install file. The first one was patched
recently to set nl80211 before wext, but that change does not work in
practice, for two reasons:

1. The code block does not even get executed, because apk reports that
   /etc/conf.d/wpa_supplicant was already modified (by a package that
   was installed before, in its post-install script? I could not find
   out which one does that though).
2. Even if it worked, the second code block would revert the change and
   put wext before nl80211 again.

Fix this by removing the first code block, and changing the order in the
second one. Make it easier to catch such errors in the future, by
printing, which files get modified, or get skipped. Set "#!/bin/sh -e",
so the script can not fail silently.

When doing pmbootstrap -y zap and then pmbootstrap install, the output
looks like this:

(141/151) Installing postmarketos-base (3-r26)
Executing postmarketos-base-3-r26.post-install
- Modifying: /etc/fstab
- Modifying: /etc/issue
- Modifying: /etc/motd
- Modifying: /etc/conf.d/syslog
- Modifying: /etc/conf.d/wpa_supplicant
- Modifying: /etc/sudoers
- Modifying: /etc/chrony/chrony.conf
2019-06-30 02:00:08 +02:00
Matthias Berndt
83bdddad4c
postmarketos-base: nl80211 before wext in wpa_supplicant (!264)
Fixes wifi on htc-vision.
2019-03-09 22:33:33 +01:00
Robert Yang
6d25c1bef6 postmarketos-base: Add openrc service that creates partition mappings (!115)
When util-linux v2.32 updated v2.33, remounting a partition stopped
working.

  mount -n -o remount,rw /
  mount: /: can't find LABEL="pmOS_root".

This service will add the pmOS rootfs partitions to device mapper so that
the remount root partition will succeed.

Fixes issue #156
2018-12-26 12:08:36 -05:00
Oliver Smith
340a17d98f Set all of user's groups in "pmbootstrap install" (#1432)
The postmarketos-base package used to make the user part of the "video"
and "audio" groups. However, this did not work reliably, and we were
adding the "wheel" group in "pmbootstrap install" anyway.

Now all groups get added in "pmbootstrap install", and the names of the
groups have been moved to `pmb.config.install_user_groups`.
2018-04-23 20:52:03 +00:00
Daniele Debernardi
19df13804c Remove /etc/network/interfaces and networking service from device packages (#1293)
This is not necessary anymore since there is now NetworkManager.
2018-03-05 21:18:13 +00:00
Martijn Braam
6caeba319e postmarketos-base: Enable NetworkManager by default (#388) 2018-03-04 11:07:21 +00:00
Oliver Smith
e654a995e6 device packages: depend on postmarketos-base (#1258)
* device-*: add postmarketos-base to depends
* aportgen: add postmarketos-base to depends
* Add test case
* postmarketos-base: Don't depend on devicepkg
* msm-fb-refresher: Enable service in post-install
2018-02-25 18:40:54 +00:00
Pierre Rudloff
0685ccaee7 gp-peak: Add support for osk-sdl and audio (#1243)
* gp-peak: Add support for osk-sdl
* gp-peak: Move non-kernel files to device-gp-peak
* gp-peak: Add audio support
Manually trigger the udev rules for audio devices and add the default user to the audio group
2018-02-22 23:36:24 +00:00
Pierre Rudloff
eb6ab4c641 gp-peak: display and touch screen (#1226)
Adds a /etc/local.d/ script in order to work around
udev being broken with this kernel.
2018-02-18 01:42:46 +00:00
clayton craft
1d702fd28f Fix #588: Add chrony ntp client & timezone config (#674)
This adds chrony as the ntp client (starting on boot), and also adds a
prompt in the init step for configuring the timezone.
2017-10-13 19:18:24 +00:00
Pablo Castellano
114fdc0a68 Close #709: Improve user creation (#725)
* Allow to specify a custom username in "pmbootstrap init"
* Build chroots have "pmos" instead of "user" as username now
* Installation user UID is 1000 now (as in all other Linux distributions)
* Adjust autologins
* postmarketos-base: enable wheel group for sudo, removed previous sudoers file
* Implement safe upgrade path:
We save the version of the work folder format now, in $WORK/version.
When this file does not exist, it defaults to 0.
In case it does not match the currently required version
(pmb.config.work_version), then ask the user if it should
automatically be upgraded.
2017-10-12 20:08:10 +00:00
clayton craft
caf386d8ec Set swclock to use recent date/time on first boot (#723) 2017-10-09 19:10:28 +00:00
drebrez
d82e8f7199 Fix #199: Run weston with user instead of root (#707) 2017-10-07 16:14:49 +00:00
Pavel Machek
edbe7f92d7 Fix #669: Only do useradd via Python, properly install /etc/skel defaults (#685) 2017-10-03 18:10:28 +00:00
clayton craft
775ba6ad36 Fix console blanking (#676)
So I was wrong.. /etc/issue needs to contain the escape sequence output
by setterm,  not the actual call to setterm itself. My previous testing
of this was faulty, which led me to believe the previous implementation
of this would work.
2017-10-02 22:41:19 +00:00
clayton craft
08ada9641d Fix #570: postmarketos-base: Start swclock service on boot (#660)
This service will set system time from the mtime of a file written on shutdown.
2017-10-01 00:51:32 +00:00
clayton craft
c30957ca67 Fix #193: Enable console screen blanking (#661)
This enables console screen blanking/powersaving by default. Without it, the screen will stay on indefinitely, killing battery life and/or prolonging charge time. UIs should be able to override this with dpms (e.g. xset). I arbitrarily chose 5 min as the blank time.
2017-09-30 22:41:45 +00:00
Attila Szöllősi
41fcf67bc5 postmarketos-base: Write /boot to /etc/fstab (#653)
Also removed fstab entry from nokia-rx51 post-install script.
2017-09-30 21:52:33 +00:00
Oliver Smith
09afa1f853 postmarketos-base: Execute setup-udev, remove mosh from dependencies (#647)
* postmarketos-base: Execute setup-udev, remove mosh from dependencies

* Run setup-udev [0], because that is what `setup-xorg-base` does [1].
It configures more than one OpenRC service and it also messes with the
runlevels. Only after running that, Hildon works (tested in Qemu).

[0]: 2fbea8b8da/main/eudev/setup-udev
[1]: 06300dd483/setup-xorg-base.in (L25)

* Remove `mosh` from `postmarketos-base` dependencies. I don't think anyone
uses it right now, and it's easy to add custom packages in `pmbootstrap init`
nowadays.

* Minor style changes in the `APKBUILD`
* [rx51] Remove udev-trigger service start
2017-09-29 16:10:09 +00:00
clayton craft
174cfcd7eb Enable dbus service by default (#628)
Quite a few things use dbus (plasma, hildon, ofono, connman,
networkmanager, etc) that I think it makes sense to just have this
started by default in pmOS rather than have every device package
implement this on their own.

In case someone shows up with a use-case, where dbus by default
is not desired, please speak up. Possible solutions are in #628.
2017-09-25 20:33:04 +00:00
Luca Weiss
3ecfa09d8e postmarketos-base: Update wiki link (#607) 2017-09-21 19:56:59 +00:00
clayton craft
28595f72ef Close #574: swap file support/encrypted swap on rx51 (#585)
This adds a custom swap file service, which allows specifying a
recommended swap size in the deviceinfo file via
`deviceinfo_swap_size_recommended`. For the N900 this defaults
to 1024 MB now. As the swap file is created in the root partition,
we have encrypted swap now (unless encryption is disabled with
`--no-fde`).
2017-09-20 18:32:19 +00:00
clayton craft
1bef78c6df Add msm-fb-refresher package and initfs config (#587)
* Add msm-fb-refresher package and initfs config
* Bump version for pmos-mkinitfs
* Create msm-fb-refresher openrc service
* kill refresher when initfs is done
2017-09-18 19:17:30 +00:00
clayton craft
d842513f5c [postmarketos-base] Fix typo in sed statement (#586) 2017-09-16 00:01:25 +00:00
clayton craft
e473a6cf3f Fix wpa_supplicant configuration (#578) 2017-09-15 17:44:50 +00:00
clayton craft
c08ac45efd Fix #396: No root autologin except for weston (#407)
This commit disables root autologin for postmarketos-base and enabled
root autologin for postmarketos-ui-weston (since weston-launcher is not
built, weston can only be run by root).
2017-08-18 15:55:30 +00:00
clayton craft
88c753e5ae Move wpa_supplicant to default runlevel (#286)
Having it in boot doesn't actually work, the service is being started
too early and fails. This change moves it to the default runlevel. This
change also removes "wifi-handler" since that service doesn't actually
exist.
2017-07-30 13:19:43 +00:00
Oliver Smith
3e140ea690 Close #194: Aports subfolders! See migration guide in the wiki (#227)
Migration guide:
https://github.com/postmarketOS/pmbootstrap/wiki/Migration-to-aports-subfolders
2017-07-28 22:34:40 +00:00
Renamed from postmarketos-base/postmarketos-base.post-install (Browse further)