New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFC: arm64 support [ci-skip] [not for merge] #1654

Closed
wants to merge 29 commits into
from

Conversation

Projects
None yet
6 participants
@mor1
Contributor

mor1 commented Apr 18, 2017

This PR is not for merge but is the starting point for ARM64 support.
It has now successfully built a kernel and initrd that have booted a packet.net ARM64 box.

@AkihiroSuda

This comment has been minimized.

Show comment
Hide comment
@AkihiroSuda

AkihiroSuda Apr 25, 2017

Contributor

Can we deduplicate kernel/Dockerfile,Makefile,kernel_config across all the platforms?

i.e.

  • kernel/Dockerfile: universal Dockerfile, accepts specifying ARCH via build-arg
  • Makefile: ditto via make ARCH=...
  • kernel_config: common parts across all the archs
  • kernel_config.{x86_64,arm64,...}: architecture-specific part. Concatinated to kernel_config in the build container
Contributor

AkihiroSuda commented Apr 25, 2017

Can we deduplicate kernel/Dockerfile,Makefile,kernel_config across all the platforms?

i.e.

  • kernel/Dockerfile: universal Dockerfile, accepts specifying ARCH via build-arg
  • Makefile: ditto via make ARCH=...
  • kernel_config: common parts across all the archs
  • kernel_config.{x86_64,arm64,...}: architecture-specific part. Concatinated to kernel_config in the build container
@rn

This comment has been minimized.

Show comment
Hide comment
@rn

rn Apr 25, 2017

Member

@AkihiroSuda hopefully today I'll tidy up the kernel build a little and that might make it easier to dedup

Member

rn commented Apr 25, 2017

@AkihiroSuda hopefully today I'll tidy up the kernel build a little and that might make it easier to dedup

@GordonTheTurtle GordonTheTurtle added dco/no and removed dco/no labels Apr 25, 2017

Show outdated Hide outdated Makefile
MOBY?=bin/moby
LINUXKIT?=bin/linuxkit
GOOS=$(shell uname -s | tr '[:upper:]' '[:lower:]')
GOARCH=amd64
GOARCH=arm64

This comment has been minimized.

@justincormack

justincormack Apr 26, 2017

Collaborator

you should not be setting this unconditionally, you should use uname to find it

@justincormack

justincormack Apr 26, 2017

Collaborator

you should not be setting this unconditionally, you should use uname to find it

mor1 added some commits Mar 27, 2017

arm64: checkpoint to try on `aod`
Signed-off-by: Richard Mortier <mort@cantab.net>
scripts: canonicalise kconfig fragments
Signed-off-by: Richard Mortier <mort@cantab.net>
arm64: cross-compile on different arch; use arm64 kernel image name
Signed-off-by: Richard Mortier <mort@cantab.net>
arm64: fixup post-greatrenaming
Signed-off-by: Richard Mortier <mort@cantab.net>
arm64: ignore some local droppings
Signed-off-by: Richard Mortier <mort@cantab.net>
arm64: mirroring base/ directory
Signed-off-by: Richard Mortier <mort@cantab.net>
arm64: add some broader scope notes to README
Signed-off-by: Richard Mortier <mort@cantab.net>
arm64: build `go-compile`
Signed-off-by: Richard Mortier <mort@cantab.net>
arm64: rationalise aarch64/arm64 naming
Signed-off-by: Richard Mortier <mort@cantab.net>
arm64: build `bin/moby`
Signed-off-by: Richard Mortier <mort@cantab.net>
arm64: build `c-compile` toolchain container
Signed-off-by: Richard Mortier <mort@cantab.net>
arm64: build `init` container
Signed-off-by: Richard Mortier <mort@cantab.net>
arm64: more notes
Signed-off-by: Richard Mortier <mort@cantab.net>
@GordonTheTurtle

This comment has been minimized.

Show comment
Hide comment
@GordonTheTurtle

GordonTheTurtle Apr 29, 2017

Collaborator

Please sign your commits following these rules:
https://github.com/moby/moby/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:

$ git clone -b "project-arm64" git@github.com:mor1/linuxkit.git somewhere
$ cd somewhere
$ git rebase -i HEAD~842354472624
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Amending updates the existing PR. You DO NOT need to open a new one.

Collaborator

GordonTheTurtle commented Apr 29, 2017

Please sign your commits following these rules:
https://github.com/moby/moby/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:

$ git clone -b "project-arm64" git@github.com:mor1/linuxkit.git somewhere
$ cd somewhere
$ git rebase -i HEAD~842354472624
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Amending updates the existing PR. You DO NOT need to open a new one.

arm64: autodetect `GOARCH`, allow override `GOARCH` and `GOOS`
Signed-off-by: Richard Mortier <mort@cantab.net>

@GordonTheTurtle GordonTheTurtle removed the dco/no label Apr 29, 2017

mor1 added some commits May 2, 2017

Merge branch 'master' into project-arm64
Signed-off-by: Richard Mortier <mort@cantab.net>
arm64: checkpoint: about to redo post `base/` deletion
Signed-off-by: Richard Mortier <mort@cantab.net>
arm64: move `base/` to `tools/` and tidy up
Signed-off-by: Richard Mortier <mort@cantab.net>
arm64: tools: update `c-compile`
Signed-off-by: Richard Mortier <mort@cantab.net>
arm64: tools: update `go-compile`
Signed-off-by: Richard Mortier <mort@cantab.net>
arm64: rebuild `golang/` for building cli tool
Signed-off-by: Richard Mortier <mort@cantab.net>
arm64: remove old toybox builder; update other tools images
Signed-off-by: Richard Mortier <mort@cantab.net>
arm64: reworking kernel build
Signed-off-by: Richard Mortier <mort@cantab.net>
arm64: add `init`, `runc`, `containerd`
Signed-off-by: Richard Mortier <mort@cantab.net>
arm64: rework kernel builder image
Signed-off-by: Richard Mortier <mort@cantab.net>

mor1 added some commits May 8, 2017

arm64: hack up kernel build for now
Signed-off-by: Richard Mortier <mort@cantab.net>
arm64: hack up dhcpd
Signed-off-by: Richard Mortier <mort@cantab.net>
arm64: boots through to dhcpd complaining of no network interface
Signed-off-by: Richard Mortier <mort@cantab.net>

@mor1 mor1 referenced this pull request May 17, 2017

Closed

[tracking] ARM boot status #1377

3 of 5 tasks complete
readme: another note
Signed-off-by: Richard Mortier <mort@cantab.net>
@zlim

This comment has been minimized.

Show comment
Hide comment
@zlim

zlim Jun 26, 2017

Contributor

cc @arm64b

Contributor

zlim commented Jun 26, 2017

cc @arm64b

@justincormack

This comment has been minimized.

Show comment
Hide comment
@justincormack

justincormack Jul 12, 2017

Collaborator

Going to close this as parts of arm64 are now being merged in and this does not apply.

Collaborator

justincormack commented Jul 12, 2017

Going to close this as parts of arm64 are now being merged in and this does not apply.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment