Commit graph

19 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
Martijn Braam
bed8ab6427 Unified linux-postmarketos kernel for qemu and n900 (#228)
The creates the linux-postmarketos package which for now supports the n900 (and probably the other maemo devices) and qemu with the vexpress-a9 machine simulation.

I've put the generated dtbs in /usr/share/dtb for now and set the dtb field in the deviceinfo for the n900 and my new qemu device.

* Introduced linux-postmarketos-omap
* Unified kernel progress
* Created kernel bootable with qemu
* Updated n900 deviceinfo for generic kernel
* Changed qemu device to vexpress
* Updated APK comments and added linux-postmarketos-dev package
* Append dtb in mkinitfs
* Fixed bootscript on n900 for the generic kernel
* Don't detect double flavors with -dtb appending
* Added graphics drivers for vexpress (qemu)
* Added more drivers for qemu

This adds virtio network support in qemu for the vexpress-a9 machine.
The keyboard and mouse don't work yet.
You can boot into weston if --no-fde is specified
2017-07-25 20:08:35 +00:00
Martijn Braam
c8e4803913 New splash images in mkinitfs (#240)
Thanks, Martijn Braam!

* Made postmarketos-mkinitfs use postmarketos-splash to generate splash images
* Added screen sizes to all deviceinfo files
* Bumped pkgrel for all device packages
2017-07-23 12:50:40 +00:00
Oliver Smith
cdcc3d81a6 Fix #145: add deviceinfo_flash_offset_base again (#175)
* Fix #145: add deviceinfo_flash_offset_base again

* Add default OFFSET_BASE value in flasher if deviceinfo_flash_offset_base variable is not set
...and set correct default base value in create_bootimg function
2017-07-19 20:44:12 +00:00
Pablo Castellano
ba528b24b8 Two trivial changes (typo + info message) (#179)
Thanks, Pablo Castellano!

* Fixed typo

* Guide user about what are the next steps after flashing kernel and password

* Increased postmarketos-mkinitfs' pkgver and rewording

Changes requested:
https://github.com/postmarketOS/pmbootstrap/pull/179
2017-07-19 18:05:34 +00:00
Oliver Smith
9d2e384cb4 postmarketos-mkinitfs: Bump pkgver to 0.1.5 2017-07-14 18:10:56 +02:00
ryang
0cf22ffebf Add ConfigFS based usb network configuration
This extends the initramfs init script to setup USB networking on kernels
using USB_CONFIGFS.
2017-07-13 11:17:48 -04:00
Oliver Smith
a8cc32a4c4 This fixes the following error:
mkbootimg: error: argument --base: invalid parse_int value: ''

So now postmarketos-mkinitfs can really generate boot.img files.
2017-07-09 11:19:29 +02:00
Oliver Smith
eb51b544a2 Generate boot.img files in mkinitfs
* Only, when deviceinfo_generate_bootimg="true" in the deviceinfo
* It respects a new deviceinfo_kernel_cmdline parameter from the deviceinfo
2017-06-29 21:20:20 +02: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
af7c03c959 Fix #76: Rebuild initramfs, when installing a initramfs hook
Also shellcheck all *.trigger files from now on in the static code analysis.
2017-06-13 00:55:49 +02:00
Martijn Braam
8e0e1637b9 Added uboot handeling to mkinitfs 2017-06-10 01:41:01 +02:00
Oliver Smith
2081ab1e65 postmarketos-mkinitfs: Bump pkgrel, update hashes 2017-06-09 17:50:18 +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