Nice work, @pkazmier! The 'correct' way is to go into the generated directory (e.g. `rpi3_out`) to run the `make menuconfig` etc., then use the `make savedefconfig` task to save it where it belongs. After the system is built, you can just point to it by setting the environment variable `NERVES_SYSTEM=/path/to/rpi3_out` and it will be used when you do your `mix firmware` step. Alternately, you can do `make system` to package up the tarball artifact that behaves the same as the official packages. To use that, you unpack it somewhere and point to it the same way, or point to it in your `mix.exs`, which sounds like the solution you ended up with.
[9:46] I have some of these captured as notes to improve the docs on this topic because I've recently been through the process myself for the first time in detail. ;)
pkazmier [9:46 PM] Ahh ... thanks.
[9:48] I'm still confused though why there is no nerves_defconfig in my rpi3_out. If I want to create a linux-4.4_defconfig, I assume I need to have a nerves_defconfig which seems to be the glue to point it to the linux-4.4_defconfig. Am I making any sense? (edited)
[9:49] I also didn't follow your paragraph about running the make menuconfig. Was I simply supposed to copy that to rpi3_out/nerves_defconfig? (edited)
[9:54] @gregmefford: I guess I was unsure if I was supposed to create a nerves_defconfig and Linux-4.4_defconfig in my top level dir of rpi3_out. And even if I did, would they be used?
gregmefford [9:57 PM] I think when you `make save...` it actually puts the file in the _other_ directory, which is kind of confusing.
[9:57] It has some symlinks that makes it all work.
[9:58] You shouldn't have to create any files yourself, just update the ones that are there.
pkazmier [9:59 PM] But, in rpi3_out, neither of those files exist.
[10:00] That's what was so confusing. I edited the system_nerves_rpi3 versions of the files, then did that create script which seemed to take my changes and put them in rpi3_out
gregmefford [10:12 PM] Right, when you save defconfig, it actually updates the one in nerves_system_rpi3, I think.
pkazmier [10:14 PM] That's weird. I thought it had prompted and saved it as .config
gregmefford [10:14 PM] Yes, `make menuconfig` does, then when you `make savedefconfig`, it copies it over AFAIK.
pkazmier [10:15 PM] Ah.
[10:16] Well, I'll wait for your revamped docs. By some miracle, updating the files in the cloned repo, then running create script to create rpi3_out did actually work too :-)
gregmefford [10:17 PM] Yep, I think it ends up doing the same thing! :thumbsup: :rocket:
joelbyler [10:24 PM] @wsmoak: thanks for the mention, was helping to get the kids off to bed and then had some phone trouble. Anyway I have a sample build script in the firmware app in that repo that I use, the important part, as @gregmefford mentioned is NERVES_SYSTEM it should be se to the build directory of your custom system.
[10:25] I really want to update that project to use docker. Just need to find some extra time to do it. :)
gregmefford [10:27 PM] Yeah I think that'll be really useful and simpler to work with. I think @jschneck has been backed up with some other stuff recently but we should have the Docker pipeline Soon :tm:
pkazmier [10:27 PM] If I built my nerves system on a Linux box, can I just copy that whole rpi3_out dir to my mac and use NERVES_SYSTEM on that?
gregmefford [10:28 PM] Yep, or `make system`, copy the tarball, and unpack it on the mac.