Giter Site home page Giter Site logo

hybris-boot's Introduction

hybris-boot

This project enables the building of boot images for Google Android fastboot based devices.

It can be built either in the android build tree as part of the normal kernel/android pre-requisited build or in a Mer SDK as a standalone package

Android Build

We need to extend subdir_makefiles in build/core/main.mk to include hybris/Android.mk; that then includes any additional Android.mk files in subdirs

Note the default boot.img is created by $(INSTALLED_BOOTIMAGE_TARGET) target in build/core/Makefile and that is used for inspiration.

Add as a normal make/mka target: $ mka hybris-boot hybris-recovery

SDK Building

In the SDK you'll need the kernel, module and static busybox packages available

$ git clone https://github.com/mer-hybris/hybris-boot
$ cd hybris-boot
$ make <device>

Operating System Bootstrap

The initramfs boots into a Mer derived OS installation by loading first the default Android /data partition and then bind mounting a root filesystem under /data/media/0/.stowaways/sffe. This behaviour is easily modified by editing the ./initramfs/init shell script.

Initial RAM FS Debug Console

With your device booted to fastboot, boot the boot.img in debug mode:

$ sudo fastboot boot boot.img -c bootmode=debug

Wait for your host computer to pick up DHCP lease from usb network device:

$ telnet 192.168.2.15

hybris-boot's People

Contributors

bneo99 avatar calebccff avatar eamo5 avatar elros34 avatar fredldotme avatar ghosalmartin avatar jamikettunen avatar konstat avatar krnlyng avatar lbt avatar litew avatar locusf avatar marmistrz avatar mkosola avatar mlehtima avatar nokius avatar philippedeswert avatar piggz avatar rltyseven avatar sledges avatar stek29 avatar tasssadar avatar thaodan avatar thp avatar verevka avatar vrutkovs avatar xreactx avatar yacuken avatar zhxt avatar zuccace avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hybris-boot's Issues

Please remove device-specific hacks from fixup-mountpoints

Adding device- or vendor-specific hacks to platform-agnostic repositories is poor form and detracts from code readability and interoperability. Device family common repos especially would have trouble with such a system. Device hacks should be written in from vendor or device repos--you may need to add a variable to facilitate this. I would recommend something like TARGET_HYBRIS_FSTAB, which could be set from a device-specific repo and provide device-specific fstab locations.

[Idea] CI verification of fixup-mountpoints

It's more than easy to make a small mistake in fixup-mountpoints (forget the trailing ;;, for instance). Thus I'd suggest using some CI service [1] [2] to validate its correctness using shellcheck. [3] There's an official Docker image for shellcheck CI [4]

Similarly, pylint could be used to verify assert-device (please keep in mind that pylint is sometimes overzealous). Still, the main concern is fixup-mountpoints, because it's the one most PRs target.

[1] https://github.com/ligurio/Continuous-Integration-services/blob/master/continuous-integration-services-list.md
[2] https://github.com/marketplace/category/continuous-integration
[3] https://github.com/koalaman/shellcheck
[4] https://hub.docker.com/r/koalaman/shellcheck/

Line 36 will cause error

So in the hybris-updater-script line 36 is blank this causes an error in make sed: -e expression #2, char 36: unknown option to `s'
A simple fix is to remove line 36 and keep only 35 lines ๐Ÿ˜„

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.