-
Notifications
You must be signed in to change notification settings - Fork 100
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
🐧 Add Ubuntu flavors for RPi #1170
Conversation
✅ Deploy Preview for kairos-io canceled.
|
Sizes needed to be expanded in order to build the images, but now I can finally do. Pending QA |
Codecov Report
📣 This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more @@ Coverage Diff @@
## master #1170 +/- ##
==========================================
- Coverage 22.79% 21.01% -1.78%
==========================================
Files 22 16 -6
Lines 1610 1275 -335
==========================================
- Hits 367 268 -99
+ Misses 1179 958 -221
+ Partials 64 49 -15
📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
Getting the following errors: IMG_2460.MOV |
@mauromorales, I take it you can't actually get into the system to see any logs to help there, based on the video, yeah? |
@sdwilsh yeah indeed, I'll try to have a better setup for it next week and give it another shot |
Sounds good; I should have bandwidth soon and some incentive to help get this working :D |
99049f8
to
c623991
Compare
c623991
to
82475a5
Compare
f8cdc16
to
d6cdf1c
Compare
b6f1817
to
9553bb6
Compare
I'm currently experiencing an issue where the RPi starts booting, I can see systemd logs, but then at some point I loose video, so I cannot debug any further. Will get a cable to try to view via serial console and report back. Or if you have any ideas pls let me know trim.D6FA5EAC-524B-473A-A804-E8C0E9B0C898.MOV |
Generic image booting properly you can try this out by building it locally from the branch via: The main difference between the two images are the kernel and the extra firmware packages for the RPi:
|
Signed-off-by: Mauro Morales <[email protected]>
Signed-off-by: Mauro Morales <[email protected]>
Signed-off-by: Mauro Morales <[email protected]>
Signed-off-by: Mauro Morales <[email protected]>
Signed-off-by: Mauro Morales <[email protected]>
Signed-off-by: Mauro Morales <[email protected]>
Signed-off-by: Mauro Morales <[email protected]>
Signed-off-by: Mauro Morales <[email protected]>
Earthfile
Outdated
@@ -293,7 +299,7 @@ base-image: | |||
END | |||
# END | |||
|
|||
# TEST KCRYPT FROM BRANCH | |||
# TEST KCRYPT FROM BRANCH |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
accidental?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
oopsie
@@ -366,6 +373,7 @@ image: | |||
ARG OS_VERSION=${KAIROS_VERSION} | |||
END | |||
ARG OS_ID | |||
# should we add the model to the resulting iso? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you mean in /etc/os-release
? Consider moving it here: #1365
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess to the name. That its a good point. we probably need to rethink the iso naming somehow as it should probably also include the ARCH+MODEL if they are special so we can provide arm64-generic, and arm64-rpi and in the future arm64-nvidia or whatever?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yup indeed to the name of the resulting file whether iso or img
ENV SIZE="15200" | ||
ENV DEFAULT_ACTIVE_SIZE="2000" | ||
IF [[ "$FLAVOR" =~ ^ubuntu* ]] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I hate this. This should probably come from some env files where its clear what goes with what flavor and such. Not for this PR
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point, can it be done in the /etc/elemental/config.yaml
that we include?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ah probably not cuz this here has precedence when creating the image ... ok will open an issue
@@ -15,6 +15,15 @@ flavors: | |||
ubuntu: | |||
- systemd-base | |||
- dracut-network-legacy | |||
ubuntu-arm-rpi: | |||
- systemd-base |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we should probably need to start grouping this below and just have a single "metapackage" here to not repeat ourselves this much.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do you mean using anchors? or what is a meta package?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
no, see how you mark here systemd-base
and then below you can see that it contains 2 packages: init-svc/systemd
and systemd-default/network
? So Im thinking that we may need to just merge more of the stuff seeing that there is a clear repetition here with systemd-base and dracut-network-legacy*
so something similar to those, like ubuntu-base that includes all those packages, or something shared that includes all of that so its a one line for all. Dont know how, just thinking out loud seeing that this keeps frowing and lines repeating :D
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, I get your point now. Yeah I agree, I had the same feeling that this was lots of duplication but didn't know how this part integrates to be able to suggest a recommendation. I'll create an issue out of your comment.
linux-raspi \ | ||
&& apt-get clean && rm -rf /var/lib/apt/lists/* | ||
|
||
FROM ${MODEL} AS all |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I...dont get this.
So if we call this with the generic model it will run:
- FROM $BASE_IMAGE as base
- FROM base AS generic
- FROM ${MODEL} AS all
but all its still installing the linux-raspi
kernel no? dont we want the rpi to install those packages only? Wont we end up with a generic image that has both kernels inside and the possibility of linking to it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah I didn't find it very intuitive at first, but I'm finding it quite helpful now, feels a bit like Earthly ... anyways, my understanding is that all
is the requested target (because it's the last one?) and depending on it's base it will only build generic or rpi64. And it properly ignores all the targets it doesn't need to build
see: https://docs.docker.com/build/building/multi-stage/#differences-between-legacy-builder-and-buildkit
@@ -0,0 +1,7 @@ | |||
ACTIVE_CONSOLES="/dev/tty[1-6]" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same file as the ubuntu files, wont copying the ubuntu files if it matches ^ubuntu* would be enough so we dont duplicate?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we just have the one difference with the /etc/elemental/config.yaml
for ubuntu arm rpi. Here's where I started thinking about also refactoring this but then I thought, I better start the discussion before changing everything LOL
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good, a cleanup can come after about the overlay stuff
Just thinking out loud, but maybe we should drop to bootargs for rpi and during building add the vc4.conf to /etc/modprobe.d with a |
Signed-off-by: Mauro Morales <[email protected]>
good point, added a new issue #1407 very cool that you can create issues from comments, wasn't aware of this |
QA:
What this PR does / why we need it:
Ubuntu flavors which support raspberrypi
Which issue(s) this PR fixes (optional, in
fixes #<issue number>(, fixes #<issue_number>, ...)
format, will close the issue(s) when PR gets merged):Fixes #645
supersedes #816