{"action":"created","comment":{"url":"https://api.github.com/repos/resin-os/meta-resin/pulls/comments/136830065","pull_request_review_id":60423322,"id":136830065,"diff_hunk":"@@ -9,6 +9,8 @@ RESIN_FLAG_FILE = \"${RESIN_FLASHER_FLAG_FILE}\"\n # Each machine should append this with their specific configuration\n IMAGE_FSTYPES = \"\"\n \n+RESIN_ROOT_FSTYPE = \"ext4\"","path":"meta-resin-common/recipes-core/images/resin-image-flasher.bb","position":4,"original_position":4,"commit_id":"d857b028e818b9eb0497ffc19c9fc09f906f58d9","original_commit_id":"57b865996545bfa56cd59eaf98bee88070f20a92","user":{"login":"petrosagg","id":939420,"avatar_url":"https://avatars3.githubusercontent.com/u/939420?v=4","gravatar_id":"","url":"https://api.github.com/users/petrosagg","html_url":"https://github.com/petrosagg","followers_url":"https://api.github.com/users/petrosagg/followers","following_url":"https://api.github.com/users/petrosagg/following{/other_user}","gists_url":"https://api.github.com/users/petrosagg/gists{/gist_id}","starred_url":"https://api.github.com/users/petrosagg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/petrosagg/subscriptions","organizations_url":"https://api.github.com/users/petrosagg/orgs","repos_url":"https://api.github.com/users/petrosagg/repos","events_url":"https://api.github.com/users/petrosagg/events{/privacy}","received_events_url":"https://api.github.com/users/petrosagg/received_events","type":"User","site_admin":false},"body":"That's how it was implemented previously https://github.com/resin-os/meta-resin/blob/master/meta-resin-common/classes/image_types_resin.bbclass#L59 . We can fix in some other PR","created_at":"2017-09-04T14:10:01Z","updated_at":"2017-09-04T14:10:02Z","html_url":"https://github.com/resin-os/meta-resin/pull/805#discussion_r136830065","pull_request_url":"https://api.github.com/repos/resin-os/meta-resin/pulls/805","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/resin-os/meta-resin/pulls/comments/136830065"},"html":{"href":"https://github.com/resin-os/meta-resin/pull/805#discussion_r136830065"},"pull_request":{"href":"https://api.github.com/repos/resin-os/meta-resin/pulls/805"}},"in_reply_to_id":135824828},"pull_request":{"url":"https://api.github.com/repos/resin-os/meta-resin/pulls/805","id":136722506,"html_url":"https://github.com/resin-os/meta-resin/pull/805","diff_url":"https://github.com/resin-os/meta-resin/pull/805.diff","patch_url":"https://github.com/resin-os/meta-resin/pull/805.patch","issue_url":"https://api.github.com/repos/resin-os/meta-resin/issues/805","number":805,"state":"open","locked":false,"title":"Host apps","user":{"login":"petrosagg","id":939420,"avatar_url":"https://avatars3.githubusercontent.com/u/939420?v=4","gravatar_id":"","url":"https://api.github.com/users/petrosagg","html_url":"https://github.com/petrosagg","followers_url":"https://api.github.com/users/petrosagg/followers","following_url":"https://api.github.com/users/petrosagg/following{/other_user}","gists_url":"https://api.github.com/users/petrosagg/gists{/gist_id}","starred_url":"https://api.github.com/users/petrosagg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/petrosagg/subscriptions","organizations_url":"https://api.github.com/users/petrosagg/orgs","repos_url":"https://api.github.com/users/petrosagg/repos","events_url":"https://api.github.com/users/petrosagg/events{/privacy}","received_events_url":"https://api.github.com/users/petrosagg/received_events","type":"User","site_admin":false},"body":"This PR integrates the new functionality of our rce-docker engine in the yocto build process.\r\n\r\nThe root partition layout changes as follows:\r\n\r\n```\r\n/\r\n├── current  -> /hostapps/f76eac0fa14f\r\n├── counter\r\n├── docker\r\n│   ├── auf\r\n│   ├── containers\r\n│   │   └── f76eac0fa14f\r\n│   ├── image\r\n│   ├── network\r\n│   └── volumes\r\n│       └── 7a7a0f3960\r\n│           └── init\r\n├── hostapps\r\n│   └── f76eac0fa14f -> /docker/volumes/7a7a0f3960\r\n└── sbin\r\n    └── init -> /current/init\r\n```\r\nWhen the kernel boots it will run `/sbin/init`, which is a symlink to `/current/init`, which is a symlink to the active's hostapp `/boot` directory, which contains the statically built `mobynit` binary. This binary has enough logic to read the docker data store, mount the root partition of the target container using either aufs or overlay2, pivot_root to it and re-exec to the real `/sbin/init` in there which is systemd.\r\n\r\n`/counter` contains a number that is always incremented on every update. This is not used anywhere right now but it will serve as a way for the bootloader to know which partition is the active one. Currently we change the bootloader configuration directly by changing the `resin_root_dev` variable in uEnv.txt for example.\r\n\r\n## Cleanups that will implemented in later PRs ##\r\n\r\n* Add the bootloader logic to select a root partition based on the `/counter` file. This combined with moving the kernel + dtbs in the root partition will allow us to do host OS updates without touching anything in the boot partition.\r\n* Remove partition resize, /etc/machine-id bind mounting, and label based mounts from initrd. Ideally our initrd should be just the mobynit binary. \r\n\r\n## Other changes ##\r\n\r\nThe update to rce-docker 17.06 also brings the following:\r\n* Change the docker subnet to 10.114.101.1/24 to avoid collisions\r\n* Image pulling now doesn't first store temp files in /docker/tmp, but unpacks them directly\r\n* Drops rce-docker file size to 24MB on x86\r\n\r\n\n\n<img src=\"https://frontapp.com/assets/img/icons/favicon-32x32.png\" height=\"16\" width=\"16\" alt=\"Front logo\" /> [Front conversations](https://app.frontapp.com/open/top_2bb5)","created_at":"2017-08-21T10:01:03Z","updated_at":"2017-09-04T14:10:02Z","closed_at":null,"merged_at":null,"merge_commit_sha":"9a47ec8bb7db8a5f92ea087e08ddcf6c73f24e5e","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/resin-os/meta-resin/pulls/805/commits","review_comments_url":"https://api.github.com/repos/resin-os/meta-resin/pulls/805/comments","review_comment_url":"https://api.github.com/repos/resin-os/meta-resin/pulls/comments{/number}","comments_url":"https://api.github.com/repos/resin-os/meta-resin/issues/805/comments","statuses_url":"https://api.github.com/repos/resin-os/meta-resin/statuses/d857b028e818b9eb0497ffc19c9fc09f906f58d9","head":{"label":"resin-os:hostapp","ref":"hostapp","sha":"d857b028e818b9eb0497ffc19c9fc09f906f58d9","user":{"login":"resin-os","id":16914061,"avatar_url":"https://avatars2.githubusercontent.com/u/16914061?v=4","gravatar_id":"","url":"https://api.github.com/users/resin-os","html_url":"https://github.com/resin-os","followers_url":"https://api.github.com/users/resin-os/followers","following_url":"https://api.github.com/users/resin-os/following{/other_user}","gists_url":"https://api.github.com/users/resin-os/gists{/gist_id}","starred_url":"https://api.github.com/users/resin-os/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/resin-os/subscriptions","organizations_url":"https://api.github.com/users/resin-os/orgs","repos_url":"https://api.github.com/users/resin-os/repos","events_url":"https://api.github.com/users/resin-os/events{/privacy}","received_events_url":"https://api.github.com/users/resin-os/received_events","type":"Organization","site_admin":false},"repo":{"id":38546546,"name":"meta-resin","full_name":"resin-os/meta-resin","owner":{"login":"resin-os","id":16914061,"avatar_url":"https://avatars2.githubusercontent.com/u/16914061?v=4","gravatar_id":"","url":"https://api.github.com/users/resin-os","html_url":"https://github.com/resin-os","followers_url":"https://api.github.com/users/resin-os/followers","following_url":"https://api.github.com/users/resin-os/following{/other_user}","gists_url":"https://api.github.com/users/resin-os/gists{/gist_id}","starred_url":"https://api.github.com/users/resin-os/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/resin-os/subscriptions","organizations_url":"https://api.github.com/users/resin-os/orgs","repos_url":"https://api.github.com/users/resin-os/repos","events_url":"https://api.github.com/users/resin-os/events{/privacy}","received_events_url":"https://api.github.com/users/resin-os/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/resin-os/meta-resin","description":"meta-resin is a collection of Yocto layers used to build resinOS images","fork":false,"url":"https://api.github.com/repos/resin-os/meta-resin","forks_url":"https://api.github.com/repos/resin-os/meta-resin/forks","keys_url":"https://api.github.com/repos/resin-os/meta-resin/keys{/key_id}","collaborators_url":"https://api.github.com/repos/resin-os/meta-resin/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/resin-os/meta-resin/teams","hooks_url":"https://api.github.com/repos/resin-os/meta-resin/hooks","issue_events_url":"https://api.github.com/repos/resin-os/meta-resin/issues/events{/number}","events_url":"https://api.github.com/repos/resin-os/meta-resin/events","assignees_url":"https://api.github.com/repos/resin-os/meta-resin/assignees{/user}","branches_url":"https://api.github.com/repos/resin-os/meta-resin/branches{/branch}","tags_url":"https://api.github.com/repos/resin-os/meta-resin/tags","blobs_url":"https://api.github.com/repos/resin-os/meta-resin/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/resin-os/meta-resin/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/resin-os/meta-resin/git/refs{/sha}","trees_url":"https://api.github.com/repos/resin-os/meta-resin/git/trees{/sha}","statuses_url":"https://api.github.com/repos/resin-os/meta-resin/statuses/{sha}","languages_url":"https://api.github.com/repos/resin-os/meta-resin/languages","stargazers_url":"https://api.github.com/repos/resin-os/meta-resin/stargazers","contributors_url":"https://api.github.com/repos/resin-os/meta-resin/contributors","subscribers_url":"https://api.github.com/repos/resin-os/meta-resin/subscribers","subscription_url":"https://api.github.com/repos/resin-os/meta-resin/subscription","commits_url":"https://api.github.com/repos/resin-os/meta-resin/commits{/sha}","git_commits_url":"https://api.github.com/repos/resin-os/meta-resin/git/commits{/sha}","comments_url":"https://api.github.com/repos/resin-os/meta-resin/comments{/number}","issue_comment_url":"https://api.github.com/repos/resin-os/meta-resin/issues/comments{/number}","contents_url":"https://api.github.com/repos/resin-os/meta-resin/contents/{+path}","compare_url":"https://api.github.com/repos/resin-os/meta-resin/compare/{base}...{head}","merges_url":"https://api.github.com/repos/resin-os/meta-resin/merges","archive_url":"https://api.github.com/repos/resin-os/meta-resin/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/resin-os/meta-resin/downloads","issues_url":"https://api.github.com/repos/resin-os/meta-resin/issues{/number}","pulls_url":"https://api.github.com/repos/resin-os/meta-resin/pulls{/number}","milestones_url":"https://api.github.com/repos/resin-os/meta-resin/milestones{/number}","notifications_url":"https://api.github.com/repos/resin-os/meta-resin/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/resin-os/meta-resin/labels{/name}","releases_url":"https://api.github.com/repos/resin-os/meta-resin/releases{/id}","deployments_url":"https://api.github.com/repos/resin-os/meta-resin/deployments","created_at":"2015-07-04T20:19:24Z","updated_at":"2017-09-04T10:36:30Z","pushed_at":"2017-09-04T13:46:17Z","git_url":"git://github.com/resin-os/meta-resin.git","ssh_url":"git@github.com:resin-os/meta-resin.git","clone_url":"https://github.com/resin-os/meta-resin.git","svn_url":"https://github.com/resin-os/meta-resin","homepage":"https://resinos.io/","size":6106,"stargazers_count":399,"watchers_count":399,"language":"BitBake","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":30,"mirror_url":null,"open_issues_count":89,"forks":30,"open_issues":89,"watchers":399,"default_branch":"master"}},"base":{"label":"resin-os:master","ref":"master","sha":"5b268276315fc56fb344c4cf144ecd0ac220bf20","user":{"login":"resin-os","id":16914061,"avatar_url":"https://avatars2.githubusercontent.com/u/16914061?v=4","gravatar_id":"","url":"https://api.github.com/users/resin-os","html_url":"https://github.com/resin-os","followers_url":"https://api.github.com/users/resin-os/followers","following_url":"https://api.github.com/users/resin-os/following{/other_user}","gists_url":"https://api.github.com/users/resin-os/gists{/gist_id}","starred_url":"https://api.github.com/users/resin-os/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/resin-os/subscriptions","organizations_url":"https://api.github.com/users/resin-os/orgs","repos_url":"https://api.github.com/users/resin-os/repos","events_url":"https://api.github.com/users/resin-os/events{/privacy}","received_events_url":"https://api.github.com/users/resin-os/received_events","type":"Organization","site_admin":false},"repo":{"id":38546546,"name":"meta-resin","full_name":"resin-os/meta-resin","owner":{"login":"resin-os","id":16914061,"avatar_url":"https://avatars2.githubusercontent.com/u/16914061?v=4","gravatar_id":"","url":"https://api.github.com/users/resin-os","html_url":"https://github.com/resin-os","followers_url":"https://api.github.com/users/resin-os/followers","following_url":"https://api.github.com/users/resin-os/following{/other_user}","gists_url":"https://api.github.com/users/resin-os/gists{/gist_id}","starred_url":"https://api.github.com/users/resin-os/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/resin-os/subscriptions","organizations_url":"https://api.github.com/users/resin-os/orgs","repos_url":"https://api.github.com/users/resin-os/repos","events_url":"https://api.github.com/users/resin-os/events{/privacy}","received_events_url":"https://api.github.com/users/resin-os/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/resin-os/meta-resin","description":"meta-resin is a collection of Yocto layers used to build resinOS images","fork":false,"url":"https://api.github.com/repos/resin-os/meta-resin","forks_url":"https://api.github.com/repos/resin-os/meta-resin/forks","keys_url":"https://api.github.com/repos/resin-os/meta-resin/keys{/key_id}","collaborators_url":"https://api.github.com/repos/resin-os/meta-resin/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/resin-os/meta-resin/teams","hooks_url":"https://api.github.com/repos/resin-os/meta-resin/hooks","issue_events_url":"https://api.github.com/repos/resin-os/meta-resin/issues/events{/number}","events_url":"https://api.github.com/repos/resin-os/meta-resin/events","assignees_url":"https://api.github.com/repos/resin-os/meta-resin/assignees{/user}","branches_url":"https://api.github.com/repos/resin-os/meta-resin/branches{/branch}","tags_url":"https://api.github.com/repos/resin-os/meta-resin/tags","blobs_url":"https://api.github.com/repos/resin-os/meta-resin/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/resin-os/meta-resin/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/resin-os/meta-resin/git/refs{/sha}","trees_url":"https://api.github.com/repos/resin-os/meta-resin/git/trees{/sha}","statuses_url":"https://api.github.com/repos/resin-os/meta-resin/statuses/{sha}","languages_url":"https://api.github.com/repos/resin-os/meta-resin/languages","stargazers_url":"https://api.github.com/repos/resin-os/meta-resin/stargazers","contributors_url":"https://api.github.com/repos/resin-os/meta-resin/contributors","subscribers_url":"https://api.github.com/repos/resin-os/meta-resin/subscribers","subscription_url":"https://api.github.com/repos/resin-os/meta-resin/subscription","commits_url":"https://api.github.com/repos/resin-os/meta-resin/commits{/sha}","git_commits_url":"https://api.github.com/repos/resin-os/meta-resin/git/commits{/sha}","comments_url":"https://api.github.com/repos/resin-os/meta-resin/comments{/number}","issue_comment_url":"https://api.github.com/repos/resin-os/meta-resin/issues/comments{/number}","contents_url":"https://api.github.com/repos/resin-os/meta-resin/contents/{+path}","compare_url":"https://api.github.com/repos/resin-os/meta-resin/compare/{base}...{head}","merges_url":"https://api.github.com/repos/resin-os/meta-resin/merges","archive_url":"https://api.github.com/repos/resin-os/meta-resin/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/resin-os/meta-resin/downloads","issues_url":"https://api.github.com/repos/resin-os/meta-resin/issues{/number}","pulls_url":"https://api.github.com/repos/resin-os/meta-resin/pulls{/number}","milestones_url":"https://api.github.com/repos/resin-os/meta-resin/milestones{/number}","notifications_url":"https://api.github.com/repos/resin-os/meta-resin/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/resin-os/meta-resin/labels{/name}","releases_url":"https://api.github.com/repos/resin-os/meta-resin/releases{/id}","deployments_url":"https://api.github.com/repos/resin-os/meta-resin/deployments","created_at":"2015-07-04T20:19:24Z","updated_at":"2017-09-04T10:36:30Z","pushed_at":"2017-09-04T13:46:17Z","git_url":"git://github.com/resin-os/meta-resin.git","ssh_url":"git@github.com:resin-os/meta-resin.git","clone_url":"https://github.com/resin-os/meta-resin.git","svn_url":"https://github.com/resin-os/meta-resin","homepage":"https://resinos.io/","size":6106,"stargazers_count":399,"watchers_count":399,"language":"BitBake","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":30,"mirror_url":null,"open_issues_count":89,"forks":30,"open_issues":89,"watchers":399,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/resin-os/meta-resin/pulls/805"},"html":{"href":"https://github.com/resin-os/meta-resin/pull/805"},"issue":{"href":"https://api.github.com/repos/resin-os/meta-resin/issues/805"},"comments":{"href":"https://api.github.com/repos/resin-os/meta-resin/issues/805/comments"},"review_comments":{"href":"https://api.github.com/repos/resin-os/meta-resin/pulls/805/comments"},"review_comment":{"href":"https://api.github.com/repos/resin-os/meta-resin/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/resin-os/meta-resin/pulls/805/commits"},"statuses":{"href":"https://api.github.com/repos/resin-os/meta-resin/statuses/d857b028e818b9eb0497ffc19c9fc09f906f58d9"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"petrosagg"}}