IRC logs for #baserock for Thursday, 2015-03-05

*** wdutch_ has joined #baserock02:19
*** wdutch has quit IRC02:21
*** ratmice__ has quit IRC02:21
*** ratmice__ has joined #baserock02:21
*** zoli__ has joined #baserock05:36
*** zoli__ has joined #baserock05:42
*** zoli__ has quit IRC06:28
*** zoli__ has joined #baserock06:29
*** zoli__ has quit IRC06:30
*** zoli__ has joined #baserock06:30
*** zoli__ has quit IRC06:38
*** zoli__ has joined #baserock06:38
*** zoli__ has quit IRC06:51
*** a1exhughe5 has joined #baserock08:08
rdale_how do i add pylru to a baserock system to make the latest morph work?08:27
petefothrdale_: details on, but basically08:28
petefothcd ..08:28
petefothgit clone git://
rdale_ah ok - i was thinking it would use a python package manager, but for baserock that doesn't make sense08:29
petefoth edit /usr/bin/morph as described on
rdale_yes, i've done that thank- it's working now i've install pylru08:31
*** gfinney has joined #baserock08:33
gfinneygood morning bench08:34
perrylwrong window, gfinney? :)08:34
rdale_petefoth is doing some successful mentoring i believe08:35
gfinneyha done it again!08:35
gfinneyWhen I start up it jumps from channel to channel and I get caught up in it.08:36
*** jonathanmaw has joined #baserock08:46
petefothapologies for multiple versions of the 'Add copyright headers...' patch. I will learn to address *all* review comments before resubmitting :)08:52
*** mdizzle has joined #baserock08:52
*** bashrc has joined #baserock09:01
Kinnisonwin 2309:08
*** edcragg has joined #baserock09:15
*** CTtpollard has quit IRC09:17
*** CTtpollard has joined #baserock09:24
*** franred has joined #baserock09:26
bashrcin a definition file what does "landing" mean?09:46
rjekI've not seen that before; could you give me some context?09:48
bashrcI'm looking at the examples within firehose09:49
pedroalvarezdefinitons files doesn't have a "landing" field09:50
*** tiagogomes_ has joined #baserock09:51
persiaThat's just a configuration file for firehose: it happens to be yaml, and talk about repos, but isn't a definition at all.09:51
bashrcanother question is, in the above example how does the system know where the linux repo is?09:51
persiaI'm guessing, but I suspect from the baserock:baserock/definitions repo (or wherever is defined by landing:repo)09:52
SotKI'd imagine it will use the repo defined in the stratum it references (although I may be completely wrong)09:52
bashrcits tracking refs/heads/master, but how does it know where that is?09:52
persiaThat's defined in the git repo for the "linux" chunk in the definitions.09:52
persiaAll that said, this format confuses me.  I don't know why it needs all that info.09:53
bashrcbut the chunk definition is within landing, not tracking09:53
*** ssam2 has joined #baserock09:54
*** ChanServ sets mode: +v ssam209:54
persiaI think that makes sense because it refers to a chunk in the definitions for tracking, but I agree that this format is not particularly human-readable.09:54
*** Krin has joined #baserock09:57
bashrcdefinitions often seem to contain implicit information, which makes them not very human readable10:00
persiaAgain, that isn't definitions at all.10:01
bashrcalso this might make them difficult to debug, except by manual grepping10:01
persiaSo. to which implicit information do you refer?10:01
bashrcthings such as
persiaWhat is implicit there?10:07
bashrcany reference to where the code is coming from10:08
*** gary_perkins has joined #baserock10:08
straycatyes, it's a chunk morph, "where the code comes from" is defined in the stratum.10:09
persiaThat belongs in the stratum.  Since there is a one-to-many relationship between a chunk and the consuming strata, it has to be this way.  Didn't we discuss this yesterday?10:09
bashrcso in this case where is the stratum indicated?10:11
straycatthe stratum indicates where the chunk morph is, not the other way around10:11
persiaIt *can't* be, because of the one-to-many relationship.10:11
KinnisonIn baserock, you don't get to think about "Ruby", you get think about "Ruby in the foobar stratum"10:12
franredbashrc, when I read baserock definitions, I read them always from the top to the botton, clusters->systems->strata->chunks no in the other way around because if not you will miss lot of information10:12
SotK`git grep "strata/ruby/ruby.morph"` will show you all the strata which use that chunk morphology10:13
straycat  :(10:16
straycatssam2, "Should be $PREFIX/lib/systemd rather than /usr/lib/systemd" why? the systemd docs are quite clear the units go into /usr so why would it be $PREFIX?10:21
KinnisonIn case we ever build systemd with $PREFIX anything but /usr10:21
persiae.g. for installing multiple systemds for testing10:22
richard_mawbashrc: persia has listed all the reasons why we initially had the repo/ref in the stratum, but that was also from a time before we had the chunk definition files in definitions.git, where it was much more important. We don't currently take advantage of the many to many relationship between strata and chunks anyway, since we put the chunk definition files in a subdirectory per-stratum. Right now it's mostly historical reasons and a lack of any10:30
Kinnisoncut off at 'lack of any...'10:31
Kinnisonrichard_maw: ^^10:31
richard_mawlack of anyone providing the code to change it to allow the repo/ref in the chunk definition file10:31
richard_mawthanks Kinnison10:31
bashrcI see10:31
* Kinnison would have preferred the chunk morphologies in a top level chunks/ dir, but appreciates why we did it this way in the end10:32
persiaI'd really not prefer that.  If we're removing the potential to have many repos/refs to a chunk, I'd rather have a new file that just listed repos and refs for everything.10:32
persiaKinnison: Unfortunately, at the time, we had not resolved the unique naming issue.10:32
Kinnisonpersia: aye :(10:32
rdale_i tried to create a symbolic link in /bin for a chunk, but after the chunk was built i got an error when it was being set up in the staging area about a missing '/tools/bin' directory. when i created the link in /usr/bin everything was fine though10:34
persiaUgh.  The tools/bin issue should be entirely hidden by the completion of stage3 bootstrap.10:35
rdale_should i do some more investigation and report a bug?10:35
KinnisonCertainly /tools shouldn't exist beyond build-essential stage 310:36
Kinnisonrdale_: are you manipulating things in build-essential?10:36
rdale_yes, i'm building musl in stage310:36
KinnisonAah, then yes you need to be careful about links10:36
pedroalvarezssam2, franred: I've changed more things in attr.morph, do you want me to resend?10:37
pedroalvarezWell, I'll paste it here just in case:
straycatrichard_maw, lack of anyone providing code for inlining chunks, with that10:39
franredpedroalvarez, looks ok to me, and I trust you have tested it intensively, I don't need a v2 to give you a +110:40
pedroalvarezI kind of think that it isn't whitespace safe, though10:41
persiaIt is whitespace safe, but not quote-safe.10:42
KinnisonMy team is encountering a 'fun' issue with networkd -- our M400 nodes have 2 network interfaces, both have link and both have DHCP available on them -- both are needed in order for a node to behave properly (one internal network for NFS root, one external for internetworking) -- networkd seems to pick only one and shut down the other -- is there an easy config tweak to fix this?10:43
pedroalvarezpersia: :/10:45
persiapedroalvarez: IF you can figure out who to cause morph to put '"' in $PREFIX, you win.  If not, you don't.10:46
pedroalvarezIt would have been easier to send a patch removing /usr/lib/*la files10:46
persiaKinnison: For the multiple-interface case, the networkd docs seem to indicate defining a bridge.10:48
Kinnisona bridge?!10:48
Kinnisonbut these are separate networks10:48
Kinnisoni need the units to DHCP on *both*10:48
richard_mawI've not seen anything to suggest that a bridge would be required10:48
persiaIf that isn't what you want, then you're probably operating outside the "simple setups such as VMs or containers" that networkd is designed to solve.10:48
richard_mawbut I've not seen anything that should cause it to only DHCP on one interface either10:49
persiaKinnison: Right.  The most common case of two interfaces connected to a network is when one wants to team them, which is a different use-case.10:49
Kinnisonpersia: aye, I appreciate this is not the common case, but I need to solve it :)10:49
richard_mawpersia: networkd is also supposed to scale to static network configuration for servers, replacing /etc/network/interfaces10:49
persiarichard_maw: Yes, but is it supposed to scale to dynamic network configuration for servers, routers, etc.?10:50
persiaI think it should, but I'm not sure the networkd folk agree with me.10:50
* persia always preferred to use dynamic networking for servers when a sysadmin10:50
Kinnisonrichard_maw: any idea what I should do?10:51
richard_mawKinnison: I'd suggest adding `[Service]\nEnvironment=SYSTEMD_LOG_LEVEL=debug\n` to systemd-networkd.service and looking at what it does with `journalctl -b -u systemd-networkd`10:51
richard_mawit ought to DHCP on both interfaces10:51
KinnisonI think it does, then whichever answers first wins and the other is shut down10:52
richard_mawwhat does `networkctl` say?10:52
* Kinnison will have to go back to his colleagues and ask, thanks for the ideas, I'll make sure they're tried10:52
richard_mawwhat version of systemd do you have running on those nodes?10:52
KinnisonI think something close to whatever is in master of definitions10:53
persiaKinnison: If you can convince your collegues to join, it might be useful to have more direct conversation to investigate this sort of issue.10:53
richard_maw219 is in master then10:53
richard_mawKinnison: if it turns out that the second device does DHCP, but then shuts itself down before the lease expires, I think I saw someone in #systemd with the same problem, though he was running a frankenrelease10:56
pedroalvarezattr fails to build with prefix: "/us er"  and with prefix: /usr\"10:59
richard_mawKinnison: oh, and if you're running v219 of systemd, you can do `systemctl edit systemd-networkd`, and it'll open a text editor on a drop-in file11:00
pedroalvarez... and reload the unit once you are done11:00
persiapedroalvarez: What is the error with "/us er"?11:01
richard_mawpedroalvarez: can you try using single-quotes for the LOCAL_CONFIGURE_OPTIONS, so $PREFIX gets interpolated later? If so, you may be able to replace $PREFIX with "$PREFIX" in the string11:01
jjardonrichard_maw: thats cool11:02
jjardonbut I think it was available in 218 already?11:02
Kinnisonpersia: :)11:05
Kinnisonkejiahu: Will you be able to try the suggestions from richard_maw?11:05
kejiahuKinnison, yes I am trying11:06
Kinnisonkejiahu: awesomesauce11:06
kejiahurichard_maw: here is output of journalctl -b -u systemd-networkd
jjardonkejiahu: How the .network file(s) look like?11:10
jjardonkejiahu: problably the fastest way is to ask in #systemd though11:11
edcraggkejiahu: also, do you have internet connectivity after that?11:12
kejiahujjardon, what .network files are you talking about.11:13
kejiahuedcragg, no the internet is not fixed on this node yet, I can provide a log after fix11:13
jjardonkejiahu: Do you have any file in /etc/systemd/network/ ?11:13
kejiahujjardon: yes,
edcraggkejiahu: ok, i have a log for where it seems to configure properly, to compare11:15
edcraggs/i/i will shortly/11:15
jjardonkejiahu: try to change DHCP=yes with DHCP=ipv411:15
edcraggjjardon: yes, that's needed11:17
edcraggnetworkd causes 70% CPU load with DHCP=yes on these systems11:20
kejiahuedcragg, I seems be able to restart networkd and add ip route without specify DHCP=ipv4. here is the log after
persiaPlease post that somewhere we cal all read it?  Perhaps
edcraggkejiahu: i guess you have internet now, then? what about after reboot?11:21
kejiahupersia: sorry,
*** petefoth has quit IRC11:22
kejiahuedcragg, after reboot, it will lost the change11:22
edcragghow come?11:22
*** petefoth has joined #baserock11:23
kejiahuedcragg, I have to re-apply the fix every time after reboot11:24
richard_mawkejiahu: I didn't mean you should put the \n in the config file, I just didn't want to paste line breaks into IRC :¬)11:26
jjardonkejiahu: can we see the log after the DHCP=ipv4 change?11:28
edcraggkejiahu: you're missing a network interface terry11:29
kejiahuedcragg, yes, it won't come up after rebooting11:29
kejiahuedcragg, I have to manually turn it on every time11:30
jjardonkejiahu: and what version of systemd is this? can you run systemctl --version?11:30
kejiahujjardon: it's 21911:30
pedroalvarezThis attr thing is becoming really annoying :/
kejiahuhere is the log if I manually turn on the interface
richard_mawkejiahu: this may not be related to your networking going away, but can you run `zcat /proc/config.gz | grep CONFIG_IPV6`? It may explain why you're chewing CPU if you don't turn it off.11:33
nowsterI read that interface name as EPNS... and thought about spoons.11:34
nowsterpedroalvarez: looks like something's gone very wrong with the environment variables11:34
nowstereg. configure: error: expected an absolute directory name for --exec_prefix: "REFIX"11:35
persiarichard_maw: IPv6 needs to be disabled or CPU is used?11:35
kejiahurichard_maw, it's # CONFIG_IPV6 is not set11:36
richard_mawpersia: I'm thinking more along the lines of systemd not expecting IPv6 to be disabled in the kernel, so it keeps retying11:36
richard_mawGiven the "Address family not supported by protocol" messages when it fails to bring the link up, I suspect it may be causing both issues11:37
persiarichard_maw: That makes sense.  I think it's a bug in systemd to do that, but I can well imagine nobody considering the case where it is disabled.11:37
* Kinnison is confused as to why it's disabled, but imagines noone decided to turn it on in the arm64 defconfig11:38
KinnisonWell, we now know that we should add IPV6 to the list of things to turn on for "baserock compatibility" in our BSPs :)11:38
*** franred has quit IRC11:38
richard_mawhaving poked around in systemd.git, it looks like that's the cause, it has no detection for whether ipv6 is possible, and it has no logic to retry the link up without ipv611:41
KinnisonOh dear11:42
Kinnisonkejiahu: add scripts/config -e IPV611:42
Kinnisonkejiahu: to the list of things in the .morph for the kernel in the M400 BSP11:43
Kinnisonthat should fix things11:43
kejiahuKinnison: ok thanks11:45
richard_mawIf we've ever got a good reason to not have ipv6 on a system I'm sure #systemd would be interested in a patch, but I fear it would require someone with really good knowledge of how netlink operates.11:48
KinnisonSurely you'd start with just trying to create an AF_INET6 socket and if that fails, just not bother setting it up11:48
paulsherwoodbwh: ^^ ? :-)11:49
richard_mawKinnison: AIUI they pack all the network config into one message, so it's atomic and needs fewer context switches, so you'd have to re-try the transaction without the AF_INET6 bits, and I see no evidence that the protocol tells you exactly which bit is wrong11:50
Kinnisonrichard_maw: my point is, before you start network config, try and make an inet6 socket, if that fails, it's not worth packing the bits into the netlink message11:50
Kinnisonrichard_maw: rather than trying to understand the error return, don't do the bad thing in the first place11:51
pedroalvarezssam2: thank you for your idea, it solved my issues with attr:
jjardonSo did the change DHCP=yes with DHCP=ipv4 solve the issue? or you still need to rebuild the kernel?11:58
*** franred has joined #baserock12:00
franredpedroalvarez, +1 to that version, it looks nicer12:05
pedroalvarezfranred: thanks :)12:06
jjardonkejiahu: ^^ Im genuinely curious :)12:15
tiagogomes_I know that with DHCP=yes networkd has ~70% of cpu usage12:18
kejiahujjardon: with DHCP set to ipv4, the interface still doesn't come up automatically after reboot, but if I turn it on manually it will get an address12:18
kejiahujjardon, without ipv4 setting, after turnning on the interface, I have to manually add ip route to it12:19
paulsherwoodkejiahu: i assume a manual solution is not a real solution?12:20
kejiahupaulsherwood, ideally it should set up ips during kernel booting. so Kinnison's fix should solve that.12:21
paulsherwoodkejiahu: ok :-)12:22
paulsherwoodpedroalvarez: what has happened to
ssam2its build network is on pedro's desk :)12:28
paulsherwoodhah :)12:29
pedroalvarezI really want to set it up again12:36
rdale_m4-tarball will only build with aclocal-1.14, and baserock has aclocal-1.15 - so i can't understand how m4 builds12:48
tiagogomes_rdale_ probably because we are not autoreconfiguring, so no need to run aclocal & friends12:50
rdale_i'm running the same command as in m4-tarball.morph - ./configure --prefix="$PREFIX" and so i would expect to do the same thing12:51
rdale_ah wait12:51
rdale_it doesn't call 'make' after that which is where it is going wrong for me12:52
kejiahucan I distbuild only based on local repo? and not pushing it to remote origin?12:52
pedroalvarezkejiahu: if there are local changes the code has to be pushed somewhere so all the workers get the same version12:53
kejiahupedroalvarez, oh, yes, thanks12:55
bwhpaulsherwood: About IPv6 detection?12:55
bwhIt seems to be a complicated question12:56
bwhbut trying to create a socket seems like a reasonable way of detecting whether there's any point trying to set addresses12:58
bwhDoes systemd(-networkd) break if you put ipv6.disable=1 in kernel or module parameters?13:00
*** zoli__ has joined #baserock13:11
paulsherwoodbwh: seemed folks were straying deep into networking and i immediately thought of you :)13:44
paulsherwoodkejiahu: can you answer the systemd question?13:45
pedroalvarez[gcc] Elapsed time 00:10:4913:46
paulsherwoodpedroalvarez: on which box?13:47
pedroalvarezin a normal VM where it used to take 1h13:47
paulsherwoodwhoah. what happened?13:47
persiaDidn't we stop building the tests that we weren't running anyway?13:48
kejiahupaulsherwood, sorry I can't try that, as the system is netbooted, and kernel parameters are defined in some config file on the servers13:48
paulsherwoodkejiahu: can you create a vm to try it, on (say) x86?13:48
pedroalvarezpaulsherwood: not sure, maybe is time to measure the build times again?13:50
paulsherwoodpedroalvarez: sounds like a good idea - if i recover my jetson13:50
pedroalvarezpersia: I think we haven't stop building the tests yet, though13:52
pedroalvarezsomehow I don't trust this super-fast build time :/13:53
paulsherwoodpedroalvarez: is this defs master, morph master?13:53
pedroalvarez(some genivi changes on top)13:54
pedroalvarez(not low level changes)13:54
* persia dislikes that people have to ask "which morph" when a morph is defined in definitions13:54
paulsherwoodthat's interesting... are you proposing that somehing should cause the morph defined in definitions to be the one that builds it?14:02
pedroalvarezthat sounds like dark magic to me14:03
kejiahupaulsherwood, yes, I'll try it14:04
paulsherwoodnot really.. a script could parse definitions, checkout morph, run it :)14:04
pedroalvarezthen you can't define systems that don't include morph?14:04
paulsherwoodpedroalvarez: true.14:05
pedroalvarezI agree it's doable, but scary14:05
paulsherwoodfine shot, sir.14:05
persiapaulsherwood: Rather, I think the default behaviour for users should be to use the morph defined in definitions.14:05
persiaIf one isn't using it, morph should warn, and users should probably upgrade to the devel defined in their definitions to continue.14:05
persiaI actively don't want magic involved in the process.14:06
paulsherwoodpersia: i assume you mean some central 'version' of morph defined in, say, the VERSION file, rather than any morph specified in a system?14:07
persiaNo, I mean the version of morph specified in a system.14:07
persiaThere was a conversation earlier about removing the many-many relationships, so that a given commit of definitions only had a single version of every component defined.14:08
paulsherwoodi fear pedroalvarez already hit that idea firmly between the eyes?14:08
* persia missed it, but would be happy to understand why it ought be dead14:09
paulsherwoodit requires that there is a morph in the system to be built14:09
paulsherwoodunless, as per ybd, all definitions are parsed, and each component is uniquely definied14:09
persiaRegardless of ybd, I thought those were expected features of definitions v1.14:10
paulsherwoodnot v1. we proposed that early versions would be tiny increments, to oil the process of versioning14:11
paulsherwoodjjardon has already posted patches for v114:12
persiaAh, makes sens.14:12
tiagogomes_pedroalvarez, what's wrong with [gcc] Elapsed time 00:10:4914:14
pedroalvareztiagogomes_: it built too fast, don't you think?14:15
pedroalvarezI may have a super-VM and never realised14:15
pedroalvareztiagogomes_: it used to take around 1h (IIRC)14:15
tiagogomes_pedroalvarez when took around 1h? In armv8 IIRC it takes 8m14:16
pedroalvareztiagogomes_: before your upgrade14:16
tiagogomes_pedroalvarez, mmm, I activated some optimizations for stage2 gcc which could make stage3 gcc build faster14:20
tiagogomes_particularly PPL and CLooG14:21
pedroalvarezthese are some build-times from some time ago:
radiofreethat's some optimisation...14:26
radiofreeprevious jetson build time 01:30:33 [gcc]14:26
radiofreewhen i built it the other day 2015-02-27 16:32:14 INFO [Build 21/192] [gcc] Elapsed time 00:22:0014:26
pedroalvarezradiofree: good to know :)14:27
*** wdutch_ is now known as wdutch14:28
tiagogomes_yes, impressive optimization14:29
paulsherwoodradiofree: on jetson?14:32
rdale_if i run make in a chroot of a failed baserock chunk, make seg faults - is there some env variable i need to setup to stop that?14:34
bashrcis there anyone knowledgable on morph plugins?14:34
radiofreepaulsherwood: yes that's on jetson14:34
pedroalvarezrdale_: I hit the same error yesterday and I couldn't figure out why :/14:36
rdale_oh dear - it make it hard to track down build problems14:36
pedroalvarezrdale_: yes..14:37
pedroalvarezrdale_: I'd like to fix that, or at least undesrtand why is happening14:38
rdale_yes, i'm going to see if i can build strace and include it in my failed chunk - i don't have any debug tools otherwise14:38
tiagogomes_I hit the same problem in the past multiple times when I was hacking on build essential14:39
rdale_oh - and you didn't find a fix either?14:39
kejiahubwh, just tried to add ipv6.disable=1 in kernel command line, it seems it doesn't break systemd, but doesn't help with the network issue on moonshot nodes neither.14:40
tiagogomes_rdale_, I didn't investigated the root cause. try to copy your host strace into the the failed temp and then chroot14:41
rdale_i need an strace built with musl i think14:41
tiagogomes_rdale_, you can also try chrooting with linux-user-chroot instead14:43
rdale_ah ok - i didn't know about that14:43
radiofreethe old morph logs used to give you the chroot command after a failed build14:44
radiofreeso you could just copy and paste that14:44
tiagogomes_rdale_, see command that morph uses to chroot, and use that. If it works for morph, it has to work for you as well14:44
radiofreefor some reason the logs were changed and now it just gives me a load of non-useful information14:44
tiagogomes_radiofree, that was *very* handy14:44
radiofreeyeah i used it all the time14:45
rdale_yes, i find it annoying to keep having to change 'staging' to 'failed' in the path you do get14:45
jjardonradiofree: file a bug report14:45
tiagogomes_rdale_, indeed, I felt that pain when updating gcc14:45
* richard_maw thought he saw a patch get merged to fix the s/staging/failed/14:46
radiofreeit did14:46
tiagogomes_radiofree, it would be even better if morph showed the chroot command in stderr if it failed14:46
paulsherwood[Build 21/128] [gcc] Elapsed time 00:10:1414:47
paulsherwood(on macbookpro)14:47
radiofreetiagogomes_: agree14:48
radiofreethis is the new output
radiofreeit's pretty horrific to extract the chroot command from that14:49
rdale_ah i've got the s/staging/failed/, it's just that i hadn't noticed14:50
radiofreeare there any plans to get a valid ssl certificate for gbo?14:52
bwhkejiahu: I didn't expect it to help! What I meant was if ipv6 is enabled but you use that parameter, does systemd-networkd break the same way14:52
kejiahubwh, there are extra lines saying discovering ipv6 and can't start discovery. other than that, the behavours of interface seems to be the same as before
*** tiagogomes_ has quit IRC15:05
bwhkejiahu: Well that seems like graceful feature, not like what was described before15:05
bwhI can't find the beginning of the discssion now, but you said you had to fix something up15:08
kejiahubwh, oh, thanks,  my issue has been solved by Kinnison's suggestion. I was only replying to your particular question about adding the thing to kernel parameter15:12
kejiahupedroalvarez, regarding the distbuild, you mentioned I have to push definition somewhere to let all the workers work on the same thing. does this 'somewhere' necessarily to be the trove defined with the workers? or anywhere they can access? if the latter, how to define where should the workers look for it?15:15
pedroalvarezkejiahu: first of all, note that you don't have to push anything it that already exists (e.g. building master of definitions.git)15:17
*** tiagogomes_ has joined #baserock15:19
pedroalvarezto change what torve the distbuild network uses for sources, you can change /ect/distbuild/distbuild.conf  (TROVE_HOST and TROVE_ID) and then restart the distbuild-setup unit `systemctl restart distbuild-setup`15:20
kejiahupedroalvarez, thanks15:23
tiagogomes_why extlinux.conf is only installed by default for x86? This impedes using system-version-manager on arm systems, unless you set BOOTLOADER_CONFIG_FORMAT15:32
radiofreewe use it on jetsons15:36
radiofreenot all versions of u-boot have sysboot built in (though i don't see any reason why it's not a default for everything now...)15:37
tiagogomes_radiofree, even without sysboot, you could use system-version-manager to set the version to run no? At least that's my pla15:38
radiofreeyou could yes, just change the default subvolume to the new one15:39
radiofreethis is going to cause problems if the update fails though...15:39
radiofreedid you look at using sysboot?15:39
radiofreealso how will you do kernel upgrades? system-version-manager knows about "BOOT_PARTITION", but i suppose if you're not going to use sysboot you'd need to have it generate a new boot.scr, or use symlinks15:42
tiagogomes_I didn't look at using sysboot15:43
tiagogomes_why do I need a new boot.src?15:44
edcraggI wouldn't be surprised if sysboot isn't supported in this U-Boot15:44
radiofreeit is15:44
edcraggradiofree: how do you know?15:44
radiofreebecause a) i read through the source and b) the sysboot command worked15:44
radiofreeand c) it uses pxe boot which is in the same command15:45
radiofree the sysboot command "worked" (i.e we know it's on there) but there was an error with the config file15:45
radiofreei suggested multiple things, multiple times via multiple platforms to try and get it working15:46
radiofreethen lost the will to live15:46
edcraggah, ok15:46
radiofreetrying to get sysboot working should be a 10 minute job15:47
radiofree+ however it takes to reboot if something goes wrong15:47
radiofrees/however/however long15:47
*** zoli__ has quit IRC15:48
edcraggin that case i think i missed the benefits / implications of using sysboot in the handover15:49
tiagogomes_radiofree, with sysboot, kernel and device tree can be on a btrfs partition?15:49
edcraggthink we still need an ext partition15:49
radiofreeno, system-version-manager will respect BOOT_PARTITION and update the extlinux.conf there15:49
radiofreecopy over the kernel + device tree as well15:50
*** petefoth has quit IRC15:50
radiofreeyou shouldn't have to change anything in system-version-manager if you get sysboot working15:50
radiofreeactually you will, your version of uboot doesn't understand "devicetree"15:52
edcragghow do we get around that?15:52
radiofreehere's my extlinux.conf from my jetson (which is on mmcblk0p1 which is a ext4 partition)
radiofreeedcragg: s/devicetree/fdt/15:53
* Kinnison notes that in the next firmware update that may change15:54
radiofreeif that doesn't break extlinux on x86, you can submit a patch to the part of morph/system-version-manager that uses "devicetree"15:54
*** wschaller has joined #baserock15:55
radiofreeKinnison: updated u-boot?15:55
Kinnisonradiofree: who knows :(15:55
Kinnisonradiofree: HP are sadly very close-lipped about what they're up to15:55
Kinnisonit's due by the end of the month15:55
Kinnisonbut we need to have moved onto other work by then15:55
tiagogomes_radiofree, so to be clear, if sysboot works the kernel and device tree can be in a btrfs partition. Only boot.src and extlinux.conf needs to be on ext2?15:56
radiofreetiagogomes_: no, the kernel and fdt need to be on the ext4 partition as well15:56
radiofreetiagogomes_: i mirrored the btrfs layout on the ext4 partition to make system-version-manager work without loads of changes15:57
radiofreetiagogomes_: this is the layout of my ext4 boot partition
tiagogomes_ah, I see15:59
*** fay_ has quit IRC16:00
tiagogomes_radiofree, but why boot.src needs to be updated for upgrades?16:00
radiofreeno, boot.scr would just call sysboot16:00
radiofreehold on16:00
tiagogomes_I will expand:  why boot.src needs to be updated for upgrades if we *don't* use sysboot16:01
Kinnisonboot.scr ought not to need updating if we use sysboot, and in theory *if* the u-boot honours symlinks it wouldn't need to be updated without sysboot16:01
radiofreeif you use symlinks you probably won't need to update boot.scr if you're not using sysboot16:02
radiofreebut the process of recovering from a failed upgrade won't be as nice.. you wouldn't have a menu to select factory16:02
KinnisonOur user has accepted that short-term they may have to re-schedule the hardware if an upgrade fails16:03
radiofreetiagogomes_: something like should work16:06
tiagogomes_why u-boot needs to honour symlinks? I was thinking when doing an upgrade, to just copy kernels and device trees to /boot if we detect a separate boot partition. The only symblink that I see is on "rootflags=subvol=systems/default/run", but that is passed to the kernel, not processed by u-boot16:06
* tiagogomes_ is starting to get confused of what approach to follow16:07
*** franred has quit IRC16:07
radiofreetiagogomes_: what if you upgrade the kernel?16:07
radiofreeor device tree16:08
radiofreetiagogomes_: is better, sysboot -p....16:08
radiofreeyou create the boot.scr from the boot.script16:08
*** jonathanmaw has quit IRC16:08
radiofreealso, replace ${baudrate} with the actual baudrate16:08
tiagogomes_radiofree, I would copy the new kernel and device trees to the ext boot partition from systems/default/run/boot16:09
tiagogomes_but probably I'm missing something16:09
radiofreetiagogomes_: and overwrite the existing kernel?16:09
radiofreeif uImage -> myFirstKernel, and you copy over mySecondKernel and update the symlink uImage -> mySecondKernel it should be ok16:10
radiofreeor you update boot.scr to use mySecondKernel directly16:10
radiofreeor as part of your recovery procedure state that you have to go into the previous version, manually copy out the kernel and device tree and copy them to the ext partition as well... which just seems like more work16:11
*** zoli__ has joined #baserock16:13
tiagogomes_ta radiofree16:14
*** fay_ has joined #baserock16:14
radiofreetiagogomes_: i'm pretty sure you don't need to modify system-version-manager at all though, even if you don't use boot.scr to sysboot16:17
radiofreein your upgrade cluster make sure you set     ROOT_DEVICE: "/dev/sda2" and BOOT_DEVICE: "/dev/sda1"16:18
*** zoli__ has quit IRC16:19
radiofreetiagogomes_: i just noticed system-version-manager will error if there's no /extlinux.conf or /extlinux/extlinux.conf found16:22
radiofreein self._get_extlinux_path()16:22
tiagogomes_yes I know16:22
radiofreeprobably better to change _rewrite_boot_menu to not do anything if _get_extlinux_path() returns false16:22
tiagogomes_ BOOTLOADER_CONFIG_FORMAT: extlinux should have solved it16:22
radiofreetiagogomes_: you'll probably have an extlinux.conf on /dev/sda216:23
radiofreemount /dev/sda2 /mnt16:23
* tiagogomes_ checks16:23
radiofreeif should be in /mnt/extlinux.conf16:23
tiagogomes_It is not16:24
tiagogomes_odd, I'll redeploy16:24
radiofreetiagogomes_: but you have state/ and systems/ ?16:24
tiagogomes_one thing at a time16:25
tiagogomes_I am going to give a try at sysboot16:26
radiofreeno i just find it odd that you don't have an extlinux.conf there if you have state/ and systems/16:26
radiofreeyes try sysboot, will make life much easier16:26
tiagogomes_Retrieving file: /extlinux.conf16:30
tiagogomes_Error reading config file16:30
tiagogomes_Booting PXE16:30
tiagogomes_radiofree, ^^16:31
radiofreewhat about the "load" command16:31
radiofreedid you see "Read foo bytes" or something16:31
tiagogomes_163 bytes read in 14 ms (10.7 KiB/s)16:31
tiagogomes_## Executing script at 400400000016:31
tiagogomes_441 bytes read in 28 ms (14.6 KiB/s)16:31
tiagogomes_Retrieving file: /extlinux.conf16:31
radiofreeok so it's not that it can't find the file16:32
radiofreewhat does your extlinux.conf look like?16:32
radiofreeand you're using sysboot -p?16:32
tiagogomes_yes, sysboot -p16:35
radiofreehmm, get rid of the load command now16:39
radiofree(in boot.scr)16:39
tiagogomes_I din't have extlinux.conf because I set BOOTLOADER_CONFIG_FORMAT on the installer system, not the system to be installed, doh!16:40
* tiagogomes_ obeys16:40
radiofreeit's odd because pxe boot uses a lot of the same code16:41
tiagogomes_I assume the whole line16:41
radiofreeyeah, remove the whole "load ...." command16:41
radiofreetiagogomes_: it needs more investigating, and i don't have the source code for your u-boot here16:47
radiofreeprobably best to park this for now16:47
radiofreeif your installer copies extlinux.conf to your ext4 partition, and copies the kernel + device tree to /systems/factory/kernel and dtb16:48
radiofreethen updates should work with
radiofreetiagogomes_: one last thing to check16:49
radiofreetiagogomes_: actually never mind, i need to check the source code16:50
tiagogomes_radiofree, just a question, where to you create and fill the systems directory on /boot16:51
radiofree/boot being your ext partition?16:52
tiagogomes_radiofree, not that :) In which repo and script you do that?16:53
radiofreetiagogomes_: it just mirrors the layout of the btrfs partition, system-version-manager creates the folder on the ext parition and copies things
*** a1exhughe5 has quit IRC16:54
radiofreeso if your boot.scr is using /systems/default/kernel, it'll always be the last one updated -
tiagogomes_radiofree, but you need to have a systems directory in /boot in the first deployment no? before doing an upgrade16:57
radiofreeit copies the kernel and devicetree from boot i think, but nothing else17:02
*** CTtpollard has quit IRC17:03
tiagogomes_radiofree, somehow, you need to have a boot.src which is is configured to read from /systems/default/kernel; and you need to have a kernel there as well17:16
tiagogomes_this even before of doing an upgrade17:16
radiofreeyes, do that in your install step17:18
radiofreewhen you do the initially install, copy /systems/default/kernel from your btrfs partition, to /systems/default/kernel on the ext partition17:19
radiofreesame with the device tree17:19
jjardonHi, newbie python question; Im not very sure why cliapp is used for in morph, if its only to parse command line arguments, can not the argparse module be used instead?
persiacliapp and morph were both started by the same person.17:25
ssam2it does more than parse arguments, see `pydoc cliapp`17:25
*** Krin has quit IRC17:26
ssam2it handles plugins, some common arguments for log handling, and the runcmd thing17:26
ssam2all of which we could reimplement fairly quickly if we wanted, but why bother?17:26
jjardononly curious, really17:30
jjardonssam2: thanks for the info17:30
ssam2good point. Might be easier to port cliapp to python3 than to reimplement the bits we need, i'm not sure17:30
jjardonssam2: also cliapp is not packaged in Arch, so thats where all this curiosity begin ;)17:31
pedroalvarezI forgot to lorry this for genivi :(
jjardonpedroalvarez: are we not prefixing the genivi modules?17:40
pedroalvarezjjardon: you are a really good reviewer17:40
jjardonpedroalvarez: +1 with that change ;)17:40
pedroalvarezwe failed to include some of them in the genivi prefix though17:41
*** mdizzle has quit IRC17:44
*** edcragg has quit IRC17:50
*** bashrc has quit IRC17:57
*** edcragg has joined #baserock17:58
pedroalvarezmerged thanks!17:59
*** CTtpollard has joined #baserock18:00
*** sambishop has quit IRC18:10
*** wschaller has quit IRC18:10
*** CTtpollard has quit IRC18:10
*** CTtpollard has joined #baserock18:18
*** CTtpollard has quit IRC18:22
rdale_when i type 'make' in a chroot for a failed build i get this:
rdale_so it looks like you need to set things up in /proc perhaps?18:27
persiaYou probably want to mount /proc, /sys, and /tmp in the target directory before calling chroot()18:30
rdale_right - i'll go and see what morph actually does. but i'm much happier now i've got strace working and i can see what is going on18:31
pedroalvarezI tried mounting them and it didn't work18:31
*** tiagogomes_ has quit IRC18:36
*** ssam2 has quit IRC18:39
*** edcragg has quit IRC18:56
*** gfinney has quit IRC19:10
*** rdale_ has quit IRC19:39
*** gary_perkins has quit IRC19:46
*** CTtpollard has joined #baserock19:48
*** CTtpollard has quit IRC19:50
*** edcragg has joined #baserock20:00
*** zoli__ has joined #baserock20:18
*** zoli__ has quit IRC20:34
*** edcragg has quit IRC20:51

Generated by 2.14.0 by Marius Gedminas - find it at!