Commit graph

5043 commits

Author SHA1 Message Date
drebrez
4a3a02c60a Automatically compute the minimum size for the partition and resize it during the boot process (#127)
* Automatically compute the minimum size for the partitions
* Automatically resize the pmOS_root partition during the boot process
* Resize root partition only if there is unallocated space at the end of the device.
* Added more echos to make debugging easier while looking at the pmOS_init.log.
* Updated static_code_analysis.sh script to run shellcheck with `-x` option.
2017-08-03 16:01:00 +00:00
Oliver Smith
94055072d4 Update busybox-static-* to upstream 2017-08-03 02:22:28 +02:00
clayton craft
20b8f6ea83 [linux-postmarketos] enable maint. patching of kernel source (close #311) (#313)
This enables applying maint. release patchsets to the kernel source
tarball, in line with Alpine Linux's linux-vanilla APKBUILD.
This addresses #311.
2017-08-02 16:48:06 +00:00
Pablo Castellano
ff968a751e Implement sparse system images (fix #299) (#303)
* Packaged libsparse

libsparse from the Android project provides multiple tools like img2simg
and simg2img.
These are used to split a large image for the system partition into
separate smaller chunks with sparse headers

This is required for several devices (at least bullhead, fp2 and titan)
because it fixes the "Invalid sparse file format at header magi" error

https://github.com/postmarketOS/pmbootstrap/issues/299

* Added new variable deviceinfo_flash_sparse (fixes #299)

Right after the system image is generated, pmbootstrap checks this
variable. In case it is true, run img2simg on it

* motorola-titan: enable deviceinfo_flash_sparse

* libsparse: use source from github: anestisb/android-simg2img

It is not that easy to use the upstream archive because everytime
you download it, the files have the current date as creation date
and that makes the file have a different checksum every download
https://github.com/postmarketOS/pmbootstrap/pull/303#issuecomment-319017197
2017-08-02 16:21:50 +00:00
Pablo Castellano
13eac29c0c Update musl-* to 1.1.16-r17 (#320) 2017-08-02 11:22:40 +00:00
Pablo Castellano
d690e38d50 Fix #223: Use .tar.gz instead of .zip for kernel sources (#315) 2017-08-01 15:57:52 +00:00
clayton craft
b0d7e1b483 [RX51] workaround lines issue (#309)
This works around the lines issue using a patch from Ti: https://lkml.org/lkml/2017/6/30/163
2017-07-31 21:25:45 +02:00
James Heald
ea575334e9 Add device Samsung Galaxy Note 2 (N7100) (#293) 2017-07-31 18:02:44 +00:00
Martijn Braam
32241643c8 Fixed dtb installation with mainline kernel (#307)
* Fixed dtb installation with mainline kernel
2017-07-31 19:44:17 +02:00
Oliver Smith
7ea77e7215 Fix checksum of postmarketos-base 2017-07-30 16:15:51 +02:00
clayton craft
ea6d952978 Fix #288: Checksum *-install scripts in APKBUILDs (#294)
Per the APKBUILD reference, , package *-install scripts should be checksummed to guard against incomplete/corrupt downloads. The postmarketos-base package is one example where this is not being implemented currently.
2017-07-30 13:38:31 +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
clayton craft
487bb362b8 Update to Linux Kernel 4.12.4 (#285)
This updates the linux-postmarketos kernel to 4.12.4, and fixes an issue
where the APKBUILD was pulling down the 4.12 source but not the 4.12.x
patches. I think that pulling down the major.minor source and a sep.
package for patches to update to the major.minor.minor(er?) release adds
unnecessary complexity since kernel.org already hosts the sources with
these patches applied (e.g. in this case the 4.12.4 source)
2017-07-29 23:52:01 +02:00
Oliver Smith
8234cc5f2b Move two cross-packages to the cross folder 2017-07-29 01:35:53 +02:00
Oliver Smith
c5004ead31 Move linux-postmarketos to from device to main 2017-07-29 01:14:09 +02: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
Oliver Smith
c0df586743 Add device htc-ace to master (#281)
@VictorNine did the port, all credit goes to him (and @drebrez and everyone else who helped him)!

* Added device HTC Ace (#181)

* Add HTC Desire HD (Ace) device-specific and kernel package

* Enable kernel virtual terminal support

* Added touchscreen device rules

* Added linux-firmware pkg. WIFI is now working

* device-htc-ace: Add deviceinfo_flash_offset_base
2017-07-28 19:48:58 +00:00
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
Clayton Craft
1c3ee97f9f [RX51] Enable swap device and mount /boot by default
This enables the existing swap device (set up by Maemo) and sets up
/boot to mount on startup
2017-07-27 18:20:51 -07:00
Pablo Castellano
b059298e87 pmbootstrap install: Add link to usb-hook (#268) 2017-07-27 18:03:07 +00:00
Luca Weiss
89f9d48ebb Actually use the PROGNAME variable and change filename to camelCase as in upstream 2017-07-27 19:04:02 +02:00
Martijn Braam
0fc1ef3488 Merge pull request #273 from yuvadm/dtbtool
Add dtbtool package
2017-07-27 17:04:57 +02:00
Yuval Adam
89be60502a Add dtbtool package 2017-07-27 17:57:43 +03:00
Martijn Braam
750a1c8e29 Merge pull request #258 from craftyguy/enable_syslog
Enable syslog on boot
2017-07-27 09:33:09 +02:00
Oliver Smith
416513b5e7 Low hanging fruit basket (Close #220, Close #239) (#253)
* postmarketos-splash: change arch from "all" to "noarch"
* lg-mako: use .tar.gz instead of .zip (because that's the reference
  APKBUILD)
* #220: Allow specifying multiple packages for checksum, build,
  aportgen
* #239: Add chroot shortcuts (--rootfs and --buildroot)
* Show chroot and command before entering chroot
2017-07-26 18:59:11 +00:00
Martijn Braam
c122412932 Added more drivers to the x86_64 kernel (#272)
This adds support for ide, sata, mice, touchscreens,
displays and serial ports in qemu.
2017-07-26 18:33:21 +00:00
Clayton Craft
e32323fb86 Enable syslog on boot
This enables the busybox syslog implementation, which logs to
/var/log/messages, on boot. This is very helpful for debugging
applications which write to syslog (e.g. NetworkManager)

syslog is being set up to log to shared memory (not to disk), so log is
lost 1) on reboot and 2) if the service is restarted. It can be read
with `logread`
2017-07-25 19:52:23 -07: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
Oliver Smith
900a661cab Close #212: Split heimdall in heimdall-isorec and heimdall-bootimg (#254) 2017-07-25 18:56:10 +00:00
clayton craft
5404a8fd7d De-couple weston from postmarketos-base (#233)
Thanks, craftyguy!

- UI is selectable with `pmbootstrap init`. Currently only 'weston' and 'none' are options. It'll automatically pick up any new `postmarketos-ui-*` packages added at later dates.
- splits off weston packages install from postmarketos-base and puts
them into postmarketos-ui-weston. Also note that NO weston packages are
installed by "pmbootstrap install" by default unless the user selects a ui in the `init`
- configuration of weston is now in postmarketos-ui-weston.
- the demos have been spun off to `postmarketos-demos`, and `postmarketos-ui-weston` lists this package as a dependency.
2017-07-24 20:55:55 +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
Martijn Braam
7ccbe4e9ec Created splash screen generator (#206)
Nice configurable splash screen generator, thanks Martijn Braam!
2017-07-22 22:39:30 +00:00
Martijn Braam
4c015dee77 Merge pull request #224 from craftyguy/rx51_linux-4.12.3
[RX51] Update to Linux-4.12.3
2017-07-22 12:42:58 +02:00
Oliver Smith
53a76cd768 Fix #219 for real!
100% tested. Assuming that you don't need to test an obvious change,
because it only changes one line is dangerous. I will learn from this,
sorry for the inconvenience.

`gcc-armhf` compiles fine again with that change, and it is able to
cross-compile packages as it used to.
2017-07-22 12:36:00 +02:00
Martijn Braam
aafcac8b09 Merge pull request #184 from craftyguy/rx51_weston_keyboard_layout
[RX51] Set keyboard layout for weston
2017-07-22 11:01:29 +02:00
Oliver Smith
dded463f9a Fix #219: pmbootstrap could not find g++-armhf/g++-aarch64 2017-07-22 09:49:24 +02:00
Clayton Craft
a1d5b99747 [RX51] Update to Linux-4.12.3 2017-07-21 16:00:47 -07:00
Clayton Craft
79c25a3e9e [RX51] Set keyboard layout for weston
This configures the keymap in weston so that the rx51 keyboard behaves
as expected (e.g. shift key, numbers, etc)
2017-07-21 13:47:00 -07:00
clayton craft
85cc4b01da Re-enable XWayland for devices that had it enabled (#221)
This re-enables the XWayland module for devices which did not use the
'dirty hack' that was removed in #201.
2017-07-21 20:25:06 +00:00
clayton craft
3bdeaf0793 Handle generating weston.ini in post-install script (#201)
This PR automatically creates the weston.ini in the
postmarketos-base post-install script based on options set in the
deviceinfo file for a particular device. This replaces #191.
If weston.ini exists, then no modifications are made.

(Optional) options supported in this PR for deviceinfo are:
deviceinfo_weston_core_modules - defaults to NONE if none specified
deviceinfo_weston_core_backend - defaults to 'fbdev-backend.so' if none specified
deviceinfo_weston_keymap_rules - keymap rule, found under /usr/share/X11/xkb/rules/
deviceinfo_weston_keymap_model - keymap model
2017-07-21 19:46:40 +00:00
Oliver Smith
a08c7af492 Update busybox-static-* to upstream 2017-07-21 21:02:31 +02:00
drebrez
1919b37f3a Add device HTC Desire (Bravo) support (#202)
* Add HTC Desire (Bravo) device-specific and kernel package

* Enable kernel virtual terminal support

* Add framebuffer and usb configuration in initfs-hook script

* Add udev required kernel options and set correct framebuffer resolution

* Add touchscreen device rules and enabled kernel logs (dmesg)

* Add deviceinfo_flash_offset_base in deviceinfo and update other offsets
2017-07-20 17:52:09 +00:00
Anton Lazarev
6fb9e0489d Add asus-grouper (#180) 2017-07-20 16:05:33 +00:00
Martijn Braam
a2597d466c Merge pull request #192 from craftyguy/rx51_handle_phys_events
[RX51] Add support for physical events w/ acpid
2017-07-20 11:51:03 +02:00
Clayton Craft
fefb606912 [RX51] Add support for physical events w/ acpid
This adds a way to handle physical events like keypad slide switch,
screen lock, camera lid, and others. This uses acpid from busybox (I was
wrong about the real acpid package), and anl acpi.map file to map events
to 'scripts'. The scripts are symlinked to /etc/acpi/handler.sh,
automatically by the new post-install script, where
they are handled based on which script was called. This allows for
easily adding whatever is necessary for #178.

If this PR is merged, I will create a new wiki page detailing how others
can use this framework on other devices.

There's an issue with Busybox's acpid, where it is unable to detect new
devices added after the daemon loads. This is the case on the N900,
where openrc starts acpid well before the kernel is done modprobing
drivers (e.g. gpio_keys), so it's necessary to restart the acpid daemon
after some time to 'load' the new devices.
2017-07-19 19:17:25 -07:00
Martijn Braam
0fe152da6f Merge pull request #197 from craftyguy/rx51_enable_drm
[RX51] Enable DRM in kernel
2017-07-19 23:37:32 +02:00
Oliver Smith
ae5817534f Adjust gcc-armhf/gcc-aarch64 to upstream 2017-07-19 23:07:34 +02: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
Clayton Craft
e0f26c949a [RX51] Enable DRM in kernel
This enables DRM (Direct Rendering Manager) support in the kernel for
the RX51. This opens up the possibility of using the Weston DRM backend,
which in turn allows for DPMS (I hope) and other cool tricks.

n900:~# glxinfo|head
name of display: :0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4

n900:~# glxgears
94 frames in 5.0 seconds = 18.772 FPS
2017-07-19 09:54:46 -07:00