Commit Graph

205 Commits

Author SHA1 Message Date
drebrez 3ea15dca1a Rename wrong `deviceinfo_flash_cmdline` to `deviceinfo_kernel_cmdline` (#369) 2017-08-14 14:22:38 +00:00
clayton craft 9e2a8e3af6 [linux-postmarketos] Update to linux-4.12.6 (#371) 2017-08-14 16:16:36 +02:00
clayton craft 49fd9e0e4e [RX51] misc improvements (#287)
* [RX51] enable hwdrivers service to 'fix' acpid

* [RX51] set rtc device for hwclock service

* [RX51] Enable networking service, add /etc/network/interfaces

* [RX51] Update APKBUILD checksums & pkgrel
2017-08-14 14:19:22 +02:00
Oliver Smith c904ffc751 Make gcc-aarch64 reproducible (#366)
This fixes https://github.com/postmarketOS/binary-package-repo/issues/1

GCC generates hardlinks between files `A` and `B` in its `make install` step. The problem is, that `tar` randomly packages `A` as full binary, and links `B` to `A`, or the other way around! I was able to reproduce this issue consistently when re-building `gcc-aarch64` on Travis CI (interestingly, this did not appear for `gcc-armhf`).

The fix is, to delete `B` and create a symlink `B` that points to `A` instead.
2017-08-12 14:06:02 +00:00
opendata26 aaaceff297 Add Xperia Z2 Tablet WiFi (#339)
* Add Xperia Z2 Tablet WiFi config

* Various fixes for Z2 tablet

* Fix Checksums
2017-08-11 12:41:29 +02:00
Pablo Castellano 8d358837ee Minor fixes (#360)
* aports: Use $install variable inside $source

So these files also get fingerprinted

* qemu: Use shutil.which instead of pmb.helpers.run.user

* Fix typo in comment
2017-08-10 23:58:28 +00:00
Oliver Smith 9652e4ce27
Update busybox-static-* to upstream 2017-08-10 00:52:28 +02:00
PureTryOut 0a9ab230aa Fix usb networking on the Sony Amami (#357) 2017-08-09 21:54:01 +00:00
Yuval Adam b06a55f4a3 Initial support for mozilla flame (#356)
* Initial Mozilla Flame packages

* Update dtbtool to use LineageOS upstream

* Use mkbootimg --dt flag only when deviceinfo_bootimg_qcdt is defined

* Update mkbootimg to use LineageOS upstream

* Add sparse image flashing on device-mozilla-flame

* Only support SD card install on Mozilla Flame

* Remove useless profile.sh on mozilla flame

* Package DTBs in /usr/lib/linux-mozilla-flame/

* Build and install modules in linux-mozilla-flame
2017-08-09 20:57:52 +00:00
Oliver Smith f829d0fe03 Configfs network setup was broken (related to #338) (#353)
* Partially resolve #338: Configfs network setup was broken
* Ignore shellcheck warning
...because if we do what shellcheck recommends here, we end up with
exactly the code which we're reverting in this PR.
2017-08-09 20:30:41 +00:00
Pablo Castellano 49b35ad32d Close #226: Launch postmarketOS in a qemu virtual machine (#350)
Thanks to Pablo Castellano and Martijn Braam!
In postmarketOS we are now able to generate system images with the
correct configuration so that they can boot already using qemu

This commit brings the `pmbootstrap qemu` action.
This command is very handy because you don't have to set all the
qemu parameters, pmbootstrap does it for you.

* device-qemu-vexpress: Added kernel command line according to wiki
* qemu: Added workaround for image writing permissions
* qemu: Added support to launch postmarketOS in a QEMU virtual machine

- Support for emulating these architectures in QEMU: arm, aarch64, x86_84
- Generate QEMU command correctly depending no guest architecture (arm/x86)
- Run QEMU in the same architecture as the host by default
- Refactoring in pmb.parse.arch and pmb.qemu.run
- Raise exception if DTB file or system image are not present
- Display more useful information when something fails (e.g. image not found)
- Run qemu version depending on arch (host or argument), not device configured

* device-qemu-amd64: set deviceinfo_kernel_cmdline to "PMOS_NO_OUTPUT_REDIRECT"
* qemu: added --memory argument to specific guest RAM
* device-qemu-amd64: adjusted deviceinfo_kernel_cmdline (console=tty1)
* Added /etc/network/interfaces for qemu-amd64
* qemu: Added KVM support if /dev/kvm if present
* Specify separate machines for architecture
* qemu: Check if QEMU is installed instead of crashing
* Added graphics driver to qemu-aarch64

- Use arm (as used in qemu) instead of armhf (used in Alpine)
- qemu argument is -dtb
- Follow same style to build the command + arguments

* qemu: Added SSH port redirection: ./pmbootstrap.py qemu -p 2222
2017-08-09 20:26:40 +00:00
Martijn Braam 035e3807b5 Fix the checksum on the n900 device package (#352) 2017-08-09 14:25:48 +02:00
Attila Szöllősi 4b8a5a6bb6 Fix refresh rate on sony-amami (#348)
Patch added to hardcode pixclock in framebuffer driver
2017-08-08 16:50:11 +00:00
Attila Szöllősi ceda097655 Fix weston on sony-amami (#340) 2017-08-07 19:08:35 +00:00
Oliver Smith 6a129669a3 Fix 'install: can't stat' message, when no hook is installed (#310) 2017-08-06 13:12:43 +00:00
Oliver Smith 5eb9b92e7b Fix: gcc-armhf not reproducible (#64) (#333)
libstdc++.a from gcc-armhf was not reproducible on Travis (it was, when built locally!). These .a files are just archives of object files .o, and in this case it was caused by a random order of the .o files in the archive.

This PR patches the package() function of the APKBUILD when running pmbootstrap aportgen gcc-armhf (same for aarch64 of course), to extract all .a files, and repack them to be reproducible (by sorting the files before packing them).

As usually, we can still inherit everything from the upstream gcc aport from Alpine, and apply our changes on top of that.

Travis without the patch:
https://api.travis-ci.org/jobs/260402679/log.txt?deansi=true

> CHALLENGE FAILED for usr/armv6-alpine-linux-muslgnueabihf/lib/libstdc++.a:File 'usr/armv6-alpine-linux-muslgnueabihf/lib/libstdc++.a' is different!

Travis with the patch (I've instructed Travis to run off this branch to test it):
https://api.travis-ci.org/jobs/260806203/log.txt?deansi=true

> Done. Your build exited with 0.
2017-08-04 20:38:27 +00:00
PureTryOut 34e2f8093c Removed consolekit2 (upstreamed) / other plasma fixes (#331)
* Removed consolekit2 from the repo as it's now upstreamed

* Add missing makedepend to kwin
2017-08-04 15:09:01 +00:00
Oliver Smith de9f6a59b9
Update busybox-static-* to upstream 2017-08-04 01:39:03 +02:00
Oliver Smith e4ffa6264a Package Plasma Mobile (All credit to PureTryOut!) (#284)
Plasma mobile compiles, but we didn't get it to run yet.
Thanks to PureTryOut for all this amazing porting work! \o/
2017-08-03 20:14:04 +00:00
drebrez 147863d98a 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 1a87ee87d6
Update busybox-static-* to upstream 2017-08-03 02:22:28 +02:00
clayton craft 6c368f8ced [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 0e4017105d 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 d09129e60d Update musl-* to 1.1.16-r17 (#320) 2017-08-02 11:22:40 +00:00
Pablo Castellano 6a5a57c4bc Fix #223: Use `.tar.gz` instead of `.zip` for kernel sources (#315) 2017-08-01 15:57:52 +00:00
clayton craft d6bf0009e7 [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 0f00759fde Add device Samsung Galaxy Note 2 (N7100) (#293) 2017-07-31 18:02:44 +00:00
Martijn Braam b3146532bb Fixed dtb installation with mainline kernel (#307)
* Fixed dtb installation with mainline kernel
2017-07-31 19:44:17 +02:00
Oliver Smith 26c8a94d4d
Fix checksum of postmarketos-base 2017-07-30 16:15:51 +02:00
clayton craft c2a1cb6331 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 b6f70e6dde 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 6cb68699be 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 3926ef5b45
Move two cross-packages to the cross folder 2017-07-29 01:35:53 +02:00
Oliver Smith 21cb7dd860
Move linux-postmarketos to from device to main 2017-07-29 01:14:09 +02:00
Oliver Smith 314c17e03c 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 28792944c1 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 7283f03315 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 8285a56729 [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 9a39416899 pmbootstrap install: Add link to usb-hook (#268) 2017-07-27 18:03:07 +00:00
Luca Weiss 8adedc5895
Actually use the PROGNAME variable and change filename to camelCase as in upstream 2017-07-27 19:04:02 +02:00
Martijn Braam 9ac41e791e Merge pull request #273 from yuvadm/dtbtool
Add dtbtool package
2017-07-27 17:04:57 +02:00
Yuval Adam 3755adac26 Add dtbtool package 2017-07-27 17:57:43 +03:00
Martijn Braam 4659e77797 Merge pull request #258 from craftyguy/enable_syslog
Enable syslog on boot
2017-07-27 09:33:09 +02:00
Oliver Smith 2cabe1d51a 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 81d8acd536 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 1a8c9d1bf6 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 21228a14d1 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 e94ed7b03d Close #212: Split heimdall in heimdall-isorec and heimdall-bootimg (#254) 2017-07-25 18:56:10 +00:00
clayton craft 924546135c 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 8dff646733 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