Comments (15)
moved the instructions for wifi hotspot setup to image.txt in #8
from norns-image.
I'm taking a look at https://github.com/RPi-Distro/pi-gen which is the official "tool" (i.e. bunch of scripts) used by the raspberry foundation to build raspbian. Luckily there is a script to build inside a container so it's nicely isolated and should be relatively easy to run on something like Travis.
Unfortunately that script isn't really perfect, it will need some tweaking to work in a usable manner.
Apart from that I'm not getting many warm and fuzzy feelings from the results I've seen so far, I'm starting with building the stage2, which builds the "lite" image variant. Stage1 just before that one already installs and changes quiet some things that I don't see any reason for to install. Same with the debootstrap used as the initial starting point.
Will have to take a look if it's possible to get rid of these things before they are even getting built/installed.
@tehn How married are we to raspbian? 🙄
from norns-image.
this certainly came up earlier--- possibly switching to arch.
it's feasible. i think there will be some unexpected hurdles. of course what's of primary importance is that the kernel is actively being worked on (https://github.com/raspberrypi/linux) which is not tied to raspbian.
part of using raspbian is about timesaving given that we got the audio system working well with the RT kernel. switching would mean getting a lot of things working quickly. i'd say it's worth a shot but it's outside my experience and there are a ton of end-user-specific issues i need to focus on.
on the other hand, starting with a stable raspbian lite and stripping it back (with a script) doesn't seem like a bad starting place either. unless this is a more broad debian vs. arch issue?
here's a list of the custom things that would need to work beyond a basic install on a consumer rpi3:
- power button on/off overlay
- sound codec driver and dtoverlay
- battery ic driver
- oled (ssd1322) driver and fbtft
- uart0 on by default
- right now the headphone driver and input gain stage are controlled via generic i2c (which is available by default)
instructions (sometimes vague) contained in image.txt
also-- way long ago when we were doing the sound codec driver, murray attempted a travis CI for the kernel and it ran up against travis' time limit for the process-- perhaps there's a way around this with a cross-compiling config.
all thoughts welcome.
from norns-image.
@tehn I'll continue exploring raspbian for now, so I can properly evaluate the pro's and con's.
One important question though: How much of the Linux part of norns do you want to make (easily) accessible to the users? Should they be able to simply install some packages or would there only be a complete fixed norns image to install and that's it?
from norns-image.
a complete image would be sufficient. if people want to hack it, the formulas you're creating will facilitate that. i think it'd be a lot of extra work to turn everything into packages-- modding the image will be somewhat less common of a use case.
from norns-image.
a complete image would be sufficient. if people want to hack it, the formulas you're creating will facilitate that. i think it'd be a lot of extra work to turn everything into packages-- modding the image will be somewhat less common of a use case.
@tehn If the "unit of delivery" will always be an image we might be better served with something like buildroot, which allows one to define which kernel and "packages" the install, which settings to change and will automatically build an image based on that. There's already support for the Raspberry Pi in there as well.
Run-time there's no package manager, so the images are "fixed" in that regard. Might make support a bit easier as well because there are less things the user can mess up this way :)
from norns-image.
agreed. for example, if you apt-get upgrade
now it will kill our custom kernel-- @catfact learned this recently as i did not post a big warning.
i checked out buildroot but haven't had time to dig in, so it'd be amazing if you wanted to take a look
(edited, upgrade, not update)
from norns-image.
I stumbled upon this earlier, which could be a starting point:
https://github.com/gamaral/rpi-buildroot
the author posted a video of an exceptionally fast boot into a game engine:
https://www.youtube.com/watch?v=4Fjfqz6FxC8
@tehn oops, I also ran apt-get update
- could that explain why my system runs the OLED smoothly with dtoverlay-loaded driver?
from norns-image.
yes, i've seen this video! it's a wonderfully fast boot.
@ranch-verdin does your sound card still work? hard to know why your OLED would work smoothly, which is why we all need to get on the same image. ---- EDIT: did you upgrade or update? upgrade is bad, update is ok.
from norns-image.
@tehn just tested & the sound card is still working. also:
pi@norns:~$ uname -r
4.9.47-rt37-v7+
from norns-image.
i checked out buildroot but haven't had time to dig in, so it'd be amazing if you wanted to take a look
Sure, it will probably make my life easier as well because it's meant for our usecase :)
Have used it in the past, though that's already 2 years ago, so will need to do some reading to get up to speed.
I stumbled upon this earlier, which could be a starting point:
https://github.com/gamaral/rpi-buildroot
the author posted a video of an exceptionally fast boot into a game engine:
https://www.youtube.com/watch?v=4Fjfqz6FxC8
Thanks for the pointers! I'll have a look how he configured everything to figure out what makes it so quick.
from norns-image.
yeah update won't hurt anything
upgrade was incredibly stupid of me, was setting up build chains for this and that, totally missed the new kernel listing.
i might need help setting up cross-compilation for some of these things (e.g. supercollider plugins) if we end up with a buildroot system... that's how it would work right?
from norns-image.
is CI still an issue? or do we just build the image locally and post a release? shall i close this issue?
from norns-image.
I'd very much like to be able to just build the image easily, both for ourselves as well as with CI
But we'll have to look into speed. I don't think we'll be able to use Travis because of the 50mins limit, but we can look at other options.
from norns-image.
@tehn I think we can close this one for now since we're not going to be building it automatically at the moment anyway?
Otherwise I can have another look at https://github.com/RPi-Distro/pi-gen to see if we can maybe just generate the raspbian based image in one go.
from norns-image.
Related Issues (20)
- GPIO Pins incorrect? HOT 4
- Kernel download url comes back AccessDenied HOT 2
- build instructions for raspberry pi 3 HOT 13
- Using other DAC's outputs on Raspberry Pi HOT 4
- norns.catfact.net offline HOT 3
- service switch to scsynth? HOT 1
- Wifi (Realtek 8192cu) issues HOT 18
- CM3+ temperature measurement not working HOT 5
- IP address not shown in "stats" menu
- Determine how to install/update raspberry firmware files HOT 4
- Ensure JACK uses the monome-snd soundcard even when USB devices are plugged in HOT 1
- broken display & controls on 200424 HOT 2
- battery monitor driver may be misconfigured
- ~/norns-image contains local changes in 220306 release image HOT 1
- daemon.log fills up with xrun log lines HOT 7
- Opportunity to save image space: remove non-English locales from /usr/share
- daemon.log shouldn't log OSC modulation HOT 3
- On RPi 4, current udev makes Matron unable to discover Grids HOT 2
- daemon.log shouldn't be filling up HOT 5
- Pre-211028 Raspi 3 updated to 231114 does not display anything. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from norns-image.