Commit graph

8 commits

Author SHA1 Message Date
drebrez
cade409208 Split up initramfs to make it smaller (Close #211) (#257)
Huge thank you to @drebrez for his amazing work on this PR!

* Add generation of initramfs-extra with additional binaries
Extract both initramfs with `pmbootstrap initfs extract`
Add new splashscreens for missing partitions/files errors
Changes in init script:
 - use busybox findfs applet to find boot partition
 - mount boot partion
 - extract initramfs-extra
 - show error splashscreens accordingly and loop forever
 - start usb unlock directly from unlock_root_partition (hook removed)

* Print out a text message for serial debugging in case of errors
Add initramfs-extra files to `pmbootstrap initfs ls` output

* Fix trailing whitespace in comment...

* ls: Indicate which initramfs we're looking at / add wiki link

I've rewritten the initramfs-development article to reflect the
changes made in this PR. It will be a good read for someone who
extracted the initramfs and wants to know why we have two files.
2017-07-28 18:51:21 +00:00
Pablo Castellano
b059298e87 pmbootstrap install: Add link to usb-hook (#268) 2017-07-27 18:03:07 +00:00
drebrez
6485278d95 Change initialization order, execute hooks before the usb network setup 2017-06-29 18:51:24 +02:00
Oliver Smith
238cc65ad7 Fix /proc/cmdline grepping: /proc must be mounted first 2017-06-28 18:13:02 +02:00
Oliver Smith
fec2e22f49 postmarketos-mkinitfs: Major refactoring
* rewrote find_root_partition to make it compatible with the i9100
  again (and added a big description comment about how it works)
* usb network and dhcp server gets started independent of hooks
  now. this really makes sense for development now, we can disable
  this later (and set up networking via OpenRC, when the usb-shell
  hook is not installed)
* telnet splash + unlock telnetd code only runs, when the rootfs
  is encrypted
* usb_setup_android wrapped with a generic usb_setup function, so
  we can support networking for more device types in a clean way
* the IP of the device is now in init_functions.sh, and init_functions.sh
  gets included in all hooks.
* rewrote logging function. it logs all stdout and stderr to
  /pmOS_init.log, except when PMOS_NO_OUTPUT_REDIRECT is specified
  as kernel command line. This way we can see error output from
  all commands.
* used shfmt to format everything, so it looks consistent again
* added automatic shellchecking for init.sh.in and
  init_functions.sh
* clear naming scheme for initfs functions, they all start with a
  verb now (e.g. setup_usb_network, start_udhcpd, ...)
2017-06-28 17:32:16 +02:00
Pablo Castellano
3ca1a2b641 Mount unencrypted root partition (close #86)
- Do not decrypt if not necessary
- Do not launch telnetd if partition is unencrypted
- Basic initramfs logging to /tmp/boot.log
2017-06-22 20:14:38 +02:00
Oliver Smith
f70bd6b688 Remove busybox aport: telnetd is enabled in upstream now
Pull request, that got merged:
https://github.com/alpinelinux/aports/pull/1092

Please note, that you can't directly upgrade from postmarketOS "busybox-extras" to the upstreamed version.
To upgrade properly, do the following:
* delete your self-compiled busybox* packages:
	`sudo rm ~/.local/var/pmbootstrap/packages/armhf/busybox*`
* zap all your armhf chroots with:
	`./pmbootstrap.py zap`
2017-06-07 23:14:24 +02:00
Oliver Smith
1c0ff6aa23 Put postmarketOS aports inside pmbootstrap repo
Later, the aports folder will probably get split up in its own repository.
But right now this is simply convenient.
2017-05-26 22:26:25 +02:00