* [9front] Staying up-to-date @ 2024-06-11 14:57 Thomas Nemeth 2024-06-11 15:08 ` phil9 ` (2 more replies) 0 siblings, 3 replies; 30+ messages in thread From: Thomas Nemeth @ 2024-06-11 14:57 UTC (permalink / raw) To: 9front Hi. I've read the FQA and some other documentation a lot and I'm amiss about why my system upgrade script does not work the way I intend it to work. I certainly don't know enough about the specifics and peculiarities of rc. I made a script, named sysupgrade, that does what's in dash1, section 5.2.2: "Building from source". ------8<------8<------8<------8<------8<------8<------8<------ #!/bin/rc sysupdate # create any missing directories needed for the build cd / . /sys/lib/rootstub # build everything cd /sys/src mk install mk clean # build manpage indices cd /sys/man mk ------8<------8<------8<------8<------8<------8<------8<------ But, unfortunately it fails to execute everything so I usually type them one by one... (well, today the compilation fails anyway). Can someone explain or tell me what I did wrong ? Thomas. ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [9front] Staying up-to-date 2024-06-11 14:57 [9front] Staying up-to-date Thomas Nemeth @ 2024-06-11 15:08 ` phil9 2024-06-11 15:15 ` Thomas Nemeth 2024-06-12 2:30 ` Thaddeus Woskowiak 2024-06-12 12:51 ` hiro 2 siblings, 1 reply; 30+ messages in thread From: phil9 @ 2024-06-11 15:08 UTC (permalink / raw) To: 9front No one can help without knowing what fails. What is the error message you get ? On Tue, Jun 11, 2024 at 4:58 PM Thomas Nemeth <tnemeth@free.fr> wrote: > > Hi. > > I've read the FQA and some other documentation a lot and I'm amiss > about why my system upgrade script does not work the way I intend > it to work. I certainly don't know enough about the specifics and > peculiarities of rc. > > I made a script, named sysupgrade, that does what's in dash1, > section 5.2.2: "Building from source". > > ------8<------8<------8<------8<------8<------8<------8<------ > #!/bin/rc > > sysupdate > > # create any missing directories needed for the build > cd / > . /sys/lib/rootstub > > # build everything > cd /sys/src > mk install > mk clean > > # build manpage indices > cd /sys/man > mk > ------8<------8<------8<------8<------8<------8<------8<------ > > But, unfortunately it fails to execute everything so I usually > type them one by one... (well, today the compilation fails anyway). > > Can someone explain or tell me what I did wrong ? > > Thomas. > > ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [9front] Staying up-to-date 2024-06-11 15:08 ` phil9 @ 2024-06-11 15:15 ` Thomas Nemeth 2024-06-12 11:57 ` cosarara 2024-06-12 12:21 ` ori 0 siblings, 2 replies; 30+ messages in thread From: Thomas Nemeth @ 2024-06-11 15:15 UTC (permalink / raw) To: 9front Le mardi 11 juin 2024 17:08:01 CEST, vous avez écrit : > No one can help without knowing what fails. > What is the error message you get ? Ooops. /bin/sysupgrade:7: cd /sys/src: file does not exist: './cd' 8: mk install: file does not exist: './mk install' ... mk: nothing to mk It's as if commands where not searched for in /bin nor in rc's internal commands although it's the interpreter for the script. > On Tue, Jun 11, 2024 at 4:58 PM Thomas Nemeth <tnemeth@free.fr> wrote: > > ------8<------8<------8<------8<------8<------8<------8<------ > > #!/bin/rc > > > > sysupdate > > > > # create any missing directories needed for the build > > cd / > > . /sys/lib/rootstub > > > > # build everything > > cd /sys/src > > mk install > > mk clean > > > > # build manpage indices > > cd /sys/man > > mk > > ------8<------8<------8<------8<------8<------8<------8<------ ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [9front] Staying up-to-date 2024-06-11 15:15 ` Thomas Nemeth @ 2024-06-12 11:57 ` cosarara 2024-06-12 16:57 ` Thomas Nemeth 2024-06-12 12:21 ` ori 1 sibling, 1 reply; 30+ messages in thread From: cosarara @ 2024-06-12 11:57 UTC (permalink / raw) To: 9front On 11/6/24 17:15, Thomas Nemeth wrote: > /bin/sysupgrade:7: cd /sys/src: file does not exist: './cd' > 8: mk install: file does not exist: './mk install' > ... > mk: nothing to mk > > > It's as if commands where not searched for in /bin nor in > rc's internal commands although it's the interpreter for the > script. I might say something stupid, but try to retype it in. I had issues in the past where copying and pasting from the FQA ended up with nonbreaking space (U+00A0 or U+202F) characters instead of spaces (U+0020) in the file, breaking everything with very confusing errors similar to those. I see that the FQA has changed since, but it's worth a try. ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [9front] Staying up-to-date 2024-06-12 11:57 ` cosarara @ 2024-06-12 16:57 ` Thomas Nemeth 2024-06-13 0:46 ` sl 0 siblings, 1 reply; 30+ messages in thread From: Thomas Nemeth @ 2024-06-12 16:57 UTC (permalink / raw) To: 9front Le mercredi 12 juin 2024 13:57:31 CEST, vous avez écrit : > On 11/6/24 17:15, Thomas Nemeth wrote: > > /bin/sysupgrade:7: cd /sys/src: file does not exist: './cd' > > > > 8: mk install: file does not exist: './mk install' > > > > ... > > mk: nothing to mk > > > > It's as if commands where not searched for in /bin nor in > > rc's internal commands although it's the interpreter for the > > script. > > I might say something stupid, but try to retype it in. You seem to be right. Even though editing the script with acme poses no problem, just using cat on the script displays a list of insane characters... Maybe I should not have done what you did too: copy-paste from the FQA -_-; I'll retype it. Thomas. ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [9front] Staying up-to-date 2024-06-12 16:57 ` Thomas Nemeth @ 2024-06-13 0:46 ` sl 2024-06-13 1:05 ` sl 2024-06-13 6:31 ` Thomas Nemeth 0 siblings, 2 replies; 30+ messages in thread From: sl @ 2024-06-13 0:46 UTC (permalink / raw) To: 9front > You seem to be right. Even though editing the script with acme > poses no problem, just using cat on the script displays a list > of insane characters... > > Maybe I should not have done what you did too: copy-paste from > the FQA -_-; > > I'll retype it. check it out. this: # from fqa.9front.org/fqa5.ms .P1 # create any missing directories needed for the build cd / \&. /sys/lib/rootstub # build everything cd /sys/src mk install mk clean # build manpage indices cd /sys/man mk # build the papers and html (optional) cd /sys/doc mk mk html .P2 becomes this: # from fqa.9front.org/fqa5.html <p style="line-height: 1.1em; text-indent: 0.00in; margin-top: 0; margin-bottom: 0; text-align: justify;"> <span style="font-size: 9pt"><tt># create any missing directories needed for the build</tt></span></p> <p style="line-height: 1.1em; text-indent: 0.00in; margin-top: 0; margin-bottom: 0; text-align: justify;"> <span style="font-size: 9pt"><tt>cd /</tt></span></p> <p style="line-height: 1.1em; text-indent: 0.00in; margin-top: 0; margin-bottom: 0; text-align: justify;"> <span style="font-size: 9pt"><tt>. /sys/lib/rootstub</tt></span></p> <p style="line-height: 1.1em; text-indent: 0.00in; margin-top: 0; margin-bottom: 0; text-align: justify;"> <span style="font-size: 9pt"><tt>cd /sys/src</tt></span></p> <p style="line-height: 1.1em; text-indent: 0.00in; margin-top: 0; margin-bottom: 0; text-align: justify;"> <span style="font-size: 9pt"><tt>objtype=amd64 mk install</tt></span></p> <p style="margin-top: 0; margin-bottom: 0.17in"></p> how? # from fqa.9front.org/mkfile %.html: %.ms htmlroff -u -ms -mhtml $stem.ms >$target fixhtml $target everything else is up to your local tools. sl ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [9front] Staying up-to-date 2024-06-13 0:46 ` sl @ 2024-06-13 1:05 ` sl 2024-06-13 6:31 ` Thomas Nemeth 1 sibling, 0 replies; 30+ messages in thread From: sl @ 2024-06-13 1:05 UTC (permalink / raw) To: 9front lol, sorry, just realized my previous mail will probably render strangely in many e-mail clients. sl ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [9front] Staying up-to-date 2024-06-13 0:46 ` sl 2024-06-13 1:05 ` sl @ 2024-06-13 6:31 ` Thomas Nemeth 2024-06-13 17:16 ` hiro 1 sibling, 1 reply; 30+ messages in thread From: Thomas Nemeth @ 2024-06-13 6:31 UTC (permalink / raw) To: 9front Le jeudi 13 juin 2024 02:46:37 CEST, vous avez écrit : [...] > > Maybe I should not have done what you did too: copy-paste from > > the FQA -_-; > > > > I'll retype it. > > check it out. this: # from fqa.9front.org/fqa5.ms > > .P1 > # create any missing directories needed for the build > cd / > \&. /sys/lib/rootstub [...] Well... My copy-paste was filled with nobreak spaces. I didn't know how to remove them from Plan9 so I went to my linux box from where I was using drawterm and modified the file using an editor that showed be those unwanted characters... After that, commands where executed. Still with errors but at least they where executed. I should have known better than to copy-paste from documentation :-| Thomas. ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [9front] Staying up-to-date 2024-06-13 6:31 ` Thomas Nemeth @ 2024-06-13 17:16 ` hiro 0 siblings, 0 replies; 30+ messages in thread From: hiro @ 2024-06-13 17:16 UTC (permalink / raw) To: 9front > least they where executed. I should have known better than to > copy-paste from documentation :-| no ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [9front] Staying up-to-date 2024-06-11 15:15 ` Thomas Nemeth 2024-06-12 11:57 ` cosarara @ 2024-06-12 12:21 ` ori 1 sibling, 0 replies; 30+ messages in thread From: ori @ 2024-06-12 12:21 UTC (permalink / raw) To: 9front That seems very odd. 'cd' is not a binary, but a builtin, and 'mk install' is not a single file either. It looks like somehow your 'sysupgrade' may be using non-ascii spaces somehow? Quoth Thomas Nemeth <tnemeth@free.fr>: > Le mardi 11 juin 2024 17:08:01 CEST, vous avez écrit : > > No one can help without knowing what fails. > > What is the error message you get ? > > Ooops. > > /bin/sysupgrade:7: cd /sys/src: file does not exist: './cd' > 8: mk install: file does not exist: './mk install' > ... > mk: nothing to mk > > > It's as if commands where not searched for in /bin nor in > rc's internal commands although it's the interpreter for the > script. > > > > On Tue, Jun 11, 2024 at 4:58 PM Thomas Nemeth <tnemeth@free.fr> wrote: > > > ------8<------8<------8<------8<------8<------8<------8<------ > > > #!/bin/rc > > > > > > sysupdate > > > > > > # create any missing directories needed for the build > > > cd / > > > . /sys/lib/rootstub > > > > > > # build everything > > > cd /sys/src > > > mk install > > > mk clean > > > > > > # build manpage indices > > > cd /sys/man > > > mk > > > ------8<------8<------8<------8<------8<------8<------8<------ > > > > ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [9front] Staying up-to-date 2024-06-11 14:57 [9front] Staying up-to-date Thomas Nemeth 2024-06-11 15:08 ` phil9 @ 2024-06-12 2:30 ` Thaddeus Woskowiak 2024-06-12 17:10 ` Thomas Nemeth 2024-06-12 12:51 ` hiro 2 siblings, 1 reply; 30+ messages in thread From: Thaddeus Woskowiak @ 2024-06-12 2:30 UTC (permalink / raw) To: 9front On Tue, Jun 11, 2024 at 10:58 AM Thomas Nemeth <tnemeth@free.fr> wrote: > > Hi. > > I've read the FQA and some other documentation a lot and I'm amiss > about why my system upgrade script does not work the way I intend > it to work. I certainly don't know enough about the specifics and > peculiarities of rc. > > I made a script, named sysupgrade, that does what's in dash1, > section 5.2.2: "Building from source". > > ------8<------8<------8<------8<------8<------8<------8<------ > #!/bin/rc > > sysupdate > > # create any missing directories needed for the build > cd / > . /sys/lib/rootstub > > # build everything > cd /sys/src > mk install > mk clean > > # build manpage indices > cd /sys/man > mk > ------8<------8<------8<------8<------8<------8<------8<------ > > But, unfortunately it fails to execute everything so I usually > type them one by one... (well, today the compilation fails anyway). > > Can someone explain or tell me what I did wrong ? > > Thomas. > > Are you building your own 9front from source or simply keeping your existing installation up to date? If the latter then you just cd /sys/src ; sysupdate && mk install && mk clean Of course this does not build the kernel which you must perform manually. ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [9front] Staying up-to-date 2024-06-12 2:30 ` Thaddeus Woskowiak @ 2024-06-12 17:10 ` Thomas Nemeth 0 siblings, 0 replies; 30+ messages in thread From: Thomas Nemeth @ 2024-06-12 17:10 UTC (permalink / raw) To: 9front Le mercredi 12 juin 2024 04:30:30 CEST, vous avez écrit : > Are you building your own 9front from source or simply keeping your > existing installation up to date? If the latter then you just cd > /sys/src ; sysupdate && mk install && mk clean This is basically what I try to do, but with man pages too. I like my documentation to match with the commands I use ;) > Of course this does not build the kernel which you must perform > manually. This is the next step. I want an up-to-date kernel to try Wifi connections on the raspi where it's installed and... as of now there aren't any interface found other than ether0. Thomas. ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [9front] Staying up-to-date 2024-06-11 14:57 [9front] Staying up-to-date Thomas Nemeth 2024-06-11 15:08 ` phil9 2024-06-12 2:30 ` Thaddeus Woskowiak @ 2024-06-12 12:51 ` hiro 2024-06-12 13:04 ` ori 2024-06-12 17:03 ` Thomas Nemeth 2 siblings, 2 replies; 30+ messages in thread From: hiro @ 2024-06-12 12:51 UTC (permalink / raw) To: 9front the sequence of commands is not expected to always work, you are right to execute the commands manually instead. so far nobody found a generic solution to this problem. On Tue, Jun 11, 2024 at 4:57 PM Thomas Nemeth <tnemeth@free.fr> wrote: > > Hi. > > I've read the FQA and some other documentation a lot and I'm amiss > about why my system upgrade script does not work the way I intend > it to work. I certainly don't know enough about the specifics and > peculiarities of rc. > > I made a script, named sysupgrade, that does what's in dash1, > section 5.2.2: "Building from source". > > ------8<------8<------8<------8<------8<------8<------8<------ > #!/bin/rc > > sysupdate > > # create any missing directories needed for the build > cd / > . /sys/lib/rootstub > > # build everything > cd /sys/src > mk install > mk clean > > # build manpage indices > cd /sys/man > mk > ------8<------8<------8<------8<------8<------8<------8<------ > > But, unfortunately it fails to execute everything so I usually > type them one by one... (well, today the compilation fails anyway). > > Can someone explain or tell me what I did wrong ? > > Thomas. > > ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [9front] Staying up-to-date 2024-06-12 12:51 ` hiro @ 2024-06-12 13:04 ` ori 2024-06-12 17:10 ` Thomas Nemeth 2024-06-12 17:03 ` Thomas Nemeth 1 sibling, 1 reply; 30+ messages in thread From: ori @ 2024-06-12 13:04 UTC (permalink / raw) To: 9front Quoth hiro <23hiro@gmail.com>: > the sequence of commands is not expected to always work, you are right > to execute the commands manually instead. so far nobody found a > generic solution to this problem. specifically, sometimes there are some dependencies between programs or libraries that require some additonal steps to fix bootstrapping issues -- for example, a new instruction added to the compiler/linker and used in libc needs the new compilers and linkers to be installed before building the rest of the system. ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [9front] Staying up-to-date 2024-06-12 13:04 ` ori @ 2024-06-12 17:10 ` Thomas Nemeth 2024-06-12 19:34 ` Ori Bernstein 0 siblings, 1 reply; 30+ messages in thread From: Thomas Nemeth @ 2024-06-12 17:10 UTC (permalink / raw) To: 9front Le mercredi 12 juin 2024 15:04:59 CEST, vous avez écrit : > specifically, sometimes there are some dependencies between > programs or libraries that require some additonal steps to > fix bootstrapping issues -- for example, a new instruction > added to the compiler/linker and used in libc needs the new > compilers and linkers to be installed before building the > rest of the system. Can't the rootstub script handle that ? ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [9front] Staying up-to-date 2024-06-12 17:10 ` Thomas Nemeth @ 2024-06-12 19:34 ` Ori Bernstein 2024-06-12 21:55 ` Stanley Lieber 0 siblings, 1 reply; 30+ messages in thread From: Ori Bernstein @ 2024-06-12 19:34 UTC (permalink / raw) To: 9front The rootstub script does exactly what it says on the tin: it stubs out the root dir. Basically, it compensates for git not having a good way to store empty directories. It's more or less only ever needed if we add new architectures. Another script could be added, but it's not obvious to me what it should do, and it's not at the top of my priority list to figure it out. These kinds of manual step tend to be context dependent, and are often one-off, only needed when a significant change gets made to the system. And to complicate the matter, many users have local changes to the system. It would be nice if the scripts we shipped with the system were designed to respect those local changes (though there's obviously only so much you can do). It's hard to get right. It would be nice if someone managed to do it in a simple, maintainable, and reliable way. On June 12, 2024 1:10:48 PM EDT, Thomas Nemeth <tnemeth@free.fr> wrote: >Le mercredi 12 juin 2024 15:04:59 CEST, vous avez écrit : >> specifically, sometimes there are some dependencies between >> programs or libraries that require some additonal steps to >> fix bootstrapping issues -- for example, a new instruction >> added to the compiler/linker and used in libc needs the new >> compilers and linkers to be installed before building the >> rest of the system. > > Can't the rootstub script handle that ? > > > > ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [9front] Staying up-to-date 2024-06-12 19:34 ` Ori Bernstein @ 2024-06-12 21:55 ` Stanley Lieber 0 siblings, 0 replies; 30+ messages in thread From: Stanley Lieber @ 2024-06-12 21:55 UTC (permalink / raw) To: 9front On June 12, 2024 3:34:09 PM EDT, Ori Bernstein <ori@eigenstate.org> wrote: >The rootstub script does exactly what it says on the tin: it stubs out the root dir. Basically, it compensates for git not having a good way to store empty directories. It's more or less only ever needed if we add new architectures. > >Another script could be added, but it's not obvious to me what it should do, and it's not at the top of my priority list to figure it out. > >These kinds of manual step tend to be context dependent, and are often one-off, only needed when a significant change gets made to the system. And to complicate the matter, many users have local changes to the system. It would be nice if the scripts we shipped with the system were designed to respect those local changes (though there's obviously only so much you can do). > >It's hard to get right. It would be nice if someone managed to do it in a simple, maintainable, and reliable way. > > >On June 12, 2024 1:10:48 PM EDT, Thomas Nemeth <tnemeth@free.fr> wrote: >>Le mercredi 12 juin 2024 15:04:59 CEST, vous avez écrit : >>> specifically, sometimes there are some dependencies between >>> programs or libraries that require some additonal steps to >>> fix bootstrapping issues -- for example, a new instruction >>> added to the compiler/linker and used in libc needs the new >>> compilers and linkers to be installed before building the >>> rest of the system. >> >> Can't the rootstub script handle that ? >> >> >> >> > fwiw, this was all discussed at the dawn of 9front and rejected as being too complicated to bother with. opinions may have changed, but it's good to reiterate that it's not as simple as writing a one liner. sl ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [9front] Staying up-to-date 2024-06-12 12:51 ` hiro 2024-06-12 13:04 ` ori @ 2024-06-12 17:03 ` Thomas Nemeth 2024-06-12 17:56 ` hiro 1 sibling, 1 reply; 30+ messages in thread From: Thomas Nemeth @ 2024-06-12 17:03 UTC (permalink / raw) To: 9front Le mercredi 12 juin 2024, 14:51:41 CEST hiro a écrit : > the sequence of commands is not expected to always work, you are right > to execute the commands manually instead. so far nobody found a > generic solution to this problem. -_-; I... Always loved automating tasks. Less repetitions, less errors :) Thomas. ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [9front] Staying up-to-date 2024-06-12 17:03 ` Thomas Nemeth @ 2024-06-12 17:56 ` hiro 2024-06-12 18:11 ` Thomas Nemeth 0 siblings, 1 reply; 30+ messages in thread From: hiro @ 2024-06-12 17:56 UTC (permalink / raw) To: 9front sure, but my point is that automations like this are not supported by 9front developers, and *will* sooner or later lead to unexpected non-diagnosable errors. as long as you're prepared for this risk i don't see anything that would hinder automation. the fqa script is an example, which does not contain a single bit of error handling ;) On Wed, Jun 12, 2024 at 7:20 PM Thomas Nemeth <tnemeth@free.fr> wrote: > > Le mercredi 12 juin 2024, 14:51:41 CEST hiro a écrit : > > the sequence of commands is not expected to always work, you are right > > to execute the commands manually instead. so far nobody found a > > generic solution to this problem. > > -_-; > > I... Always loved automating tasks. Less repetitions, less errors :) > > > Thomas. > > ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [9front] Staying up-to-date 2024-06-12 17:56 ` hiro @ 2024-06-12 18:11 ` Thomas Nemeth 2024-06-12 19:35 ` Ori Bernstein 0 siblings, 1 reply; 30+ messages in thread From: Thomas Nemeth @ 2024-06-12 18:11 UTC (permalink / raw) To: 9front Le mercredi 12 juin 2024 19:56:15 CEST, vous avez écrit : > sure, but my point is that automations like this are not supported by > 9front developers, and *will* sooner or later lead to unexpected > non-diagnosable errors. > as long as you're prepared for this risk i don't see anything that > would hinder automation. > the fqa script is an example, which does not contain a single bit of > error handling ;) Indeed :) I stumble upon them a lot of time. Eg, since a few days, while doing a "mk install" in /sys/src: ar vu /arm64/lib/ape/libap.a _assert.7 abort.7 abs.7 atof.7 atoi.7 atol.7 atoll.7 bsearch.7 calloc.7 clock.7 ctype.7 difftime.7 div.7 getenv.7 putenv.7 isalnum.7 itoa.7 itol.7 ldiv.7 mbwc.7 memccpy.7 memchr.7 memcmp.7 mktime.7 mkstemp.7 qsort.7 raise.7 rand.7 strcat.7 strchr.7 strcmp.7 strcoll.7 strcpy.7 strcspn.7 strftime.7 strlen.7 strncat.7 strncmp.7 strncpy.7 strnlen.7 strpbrk.7 strrchr.7 strspn.7 strstr.7 strtod.7 strtok. 7 strtol.7 strtoll.7 strtoul.7 strtoull.7 strxfrm.7 toupper.7 strdup.7 ar: /arm64/lib/ape/libap.a not in archive format mk: ar vu /arm64/lib/ape/libap.a ... : exit status=ar 24249: error mk: for(i in gen ... : exit status=rc 24234: mk 24235: error mk: for (i in ... : exit status=rc 24227: mk 24232: error mk: cd lib mk install : exit status=mk 24224: error mk: mk lib.install mk ... : exit status=rc 24222: mk 24223: error mk: date for (i ... : exit status=rc 23407: mk 24220: error /sys/src% To the point of wondering if my filesystem is corrupted. Only trying to compile the kernel: file system made mkpaqfs: read failed: bootfs/arm64/bin/9660srv: phase error -- type mismatch mkpaqfs: could not read directory: bootfs/arm64/bin/auth: phase error -- type mismatch mkpaqfs: could not read directory: bootfs/arm64/bin/aux: phase error -- type mismatch mkpaqfs: read failed: bootfs/arm64/bin/cfs: phase error -- type mismatch mkpaqfs: could not read directory: bootfs/arm64/bin/disk: phase error -- type mismatch mkpaqfs: read failed: bootfs/arm64/bin/dossrv: phase error -- type mismatch mkpaqfs: read failed: bootfs/arm64/bin/cwfs64x: phase error -- type mismatch mkpaqfs: could not read directory: bootfs/arm64/bin/ip: phase error -- type mismatch mkpaqfs: read failed: bootfs/arm64/bin/ls: phase error -- type mismatch mkpaqfs: read failed: bootfs/arm64/bin/mntgen: phase error -- type mismatch mkpaqfs: could not read directory: bootfs/arm64/bin/ndb: phase error -- type mismatch mkpaqfs: read failed: bootfs/arm64/bin/hjfs: phase error -- type mismatch mkpaqfs: read failed: bootfs/arm64/bin/tlsclient: phase error -- type mismatch mkpaqfs: read failed: bootfs/arm64/bin/nusb/usbd: phase error -- type mismatch mkpaqfs: read failed: bootfs/arm64/bin/nusb/ether: phase error -- type mismatch ../port/mkrootall \ paqfs __objtype_bin_paqfs /arm64/bin/paqfs\ factotum __objtype_bin_auth_factotum /arm64/bin/auth/factotum\ bootfs.paq bootfs_paq bootfs.paq\ boot boot boot\ >pi3.root.s ../port/mkrootc \ paqfs __objtype_bin_paqfs /arm64/bin/paqfs\ factotum __objtype_bin_auth_factotum /arm64/bin/auth/factotum\ bootfs.paq bootfs_paq bootfs.paq\ boot boot boot\ >pi3.rootc.c 7c -FTVw pi3.rootc.c cp: can't stat boot: file does not exist: 'boot' cannot open: file does not exist: 'mkroot.30532.out' ../port/mkrootall:29: < can't open: mkroot.30532.out: file does not exist: 'mkroot.30532.out' mk: ../port/mkrootall \ ... : exit status=mkrootall 30532: file does not exist: 'mkroot.30532.out', deleting 'pi3.root.s'pi3.root.s: file does not exist: 'pi3.root.s' /sys/src/9/bcm64% ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [9front] Staying up-to-date 2024-06-12 18:11 ` Thomas Nemeth @ 2024-06-12 19:35 ` Ori Bernstein 2024-06-13 6:38 ` Thomas Nemeth 0 siblings, 1 reply; 30+ messages in thread From: Ori Bernstein @ 2024-06-12 19:35 UTC (permalink / raw) To: 9front That looks like a corrupted file system. On June 12, 2024 2:11:48 PM EDT, Thomas Nemeth <tnemeth@free.fr> wrote: >Le mercredi 12 juin 2024 19:56:15 CEST, vous avez écrit : >> sure, but my point is that automations like this are not supported by >> 9front developers, and *will* sooner or later lead to unexpected >> non-diagnosable errors. >> as long as you're prepared for this risk i don't see anything that >> would hinder automation. >> the fqa script is an example, which does not contain a single bit of >> error handling ;) > > Indeed :) > > I stumble upon them a lot of time. Eg, since a few days, while > doing a "mk install" in /sys/src: > >ar vu /arm64/lib/ape/libap.a _assert.7 abort.7 abs.7 atof.7 atoi.7 atol.7 >atoll.7 bsearch.7 calloc.7 clock.7 ctype.7 difftime.7 div.7 getenv.7 >putenv.7 isalnum.7 itoa.7 itol.7 ldiv.7 mbwc.7 memccpy.7 memchr.7 memcmp.7 >mktime.7 mkstemp.7 qsort.7 raise.7 rand.7 strcat.7 strchr.7 strcmp.7 >strcoll.7 strcpy.7 strcspn.7 strftime.7 strlen.7 strncat.7 strncmp.7 >strncpy.7 strnlen.7 strpbrk.7 strrchr.7 strspn.7 strstr.7 strtod.7 strtok. >7 strtol.7 strtoll.7 strtoul.7 strtoull.7 strxfrm.7 toupper.7 strdup.7 >ar: /arm64/lib/ape/libap.a not in archive format >mk: ar vu /arm64/lib/ape/libap.a ... : exit status=ar 24249: error >mk: for(i in gen ... : exit status=rc 24234: mk 24235: error >mk: for (i in ... : exit status=rc 24227: mk 24232: error >mk: cd lib mk install : exit status=mk 24224: error >mk: mk lib.install mk ... : exit status=rc 24222: mk 24223: error >mk: date for (i ... : exit status=rc 23407: mk 24220: error >/sys/src% > > > To the point of wondering if my filesystem is corrupted. Only > trying to compile the kernel: > >file system made >mkpaqfs: read failed: bootfs/arm64/bin/9660srv: phase error -- type >mismatch >mkpaqfs: could not read directory: bootfs/arm64/bin/auth: phase error -- >type mismatch >mkpaqfs: could not read directory: bootfs/arm64/bin/aux: phase error -- >type mismatch >mkpaqfs: read failed: bootfs/arm64/bin/cfs: phase error -- type mismatch >mkpaqfs: could not read directory: bootfs/arm64/bin/disk: phase error -- >type mismatch >mkpaqfs: read failed: bootfs/arm64/bin/dossrv: phase error -- type >mismatch >mkpaqfs: read failed: bootfs/arm64/bin/cwfs64x: phase error -- type >mismatch >mkpaqfs: could not read directory: bootfs/arm64/bin/ip: phase error -- >type mismatch >mkpaqfs: read failed: bootfs/arm64/bin/ls: phase error -- type mismatch >mkpaqfs: read failed: bootfs/arm64/bin/mntgen: phase error -- type >mismatch >mkpaqfs: could not read directory: bootfs/arm64/bin/ndb: phase error -- >type mismatch >mkpaqfs: read failed: bootfs/arm64/bin/hjfs: phase error -- type mismatch >mkpaqfs: read failed: bootfs/arm64/bin/tlsclient: phase error -- type >mismatch >mkpaqfs: read failed: bootfs/arm64/bin/nusb/usbd: phase error -- type >mismatch >mkpaqfs: read failed: bootfs/arm64/bin/nusb/ether: phase error -- type >mismatch >../port/mkrootall \ > paqfs __objtype_bin_paqfs /arm64/bin/paqfs\ > factotum __objtype_bin_auth_factotum /arm64/bin/auth/factotum\ > bootfs.paq bootfs_paq bootfs.paq\ > boot boot boot\ >>pi3.root.s >../port/mkrootc \ > paqfs __objtype_bin_paqfs /arm64/bin/paqfs\ > factotum __objtype_bin_auth_factotum /arm64/bin/auth/factotum\ > bootfs.paq bootfs_paq bootfs.paq\ > boot boot boot\ >>pi3.rootc.c >7c -FTVw pi3.rootc.c >cp: can't stat boot: file does not exist: 'boot' >cannot open: file does not exist: 'mkroot.30532.out' >../port/mkrootall:29: < can't open: mkroot.30532.out: file does not exist: >'mkroot.30532.out' >mk: ../port/mkrootall \ ... : exit status=mkrootall 30532: file does not >exist: 'mkroot.30532.out', deleting 'pi3.root.s'pi3.root.s: file does not >exist: 'pi3.root.s' > >/sys/src/9/bcm64% > > > > ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [9front] Staying up-to-date 2024-06-12 19:35 ` Ori Bernstein @ 2024-06-13 6:38 ` Thomas Nemeth 2024-06-14 20:11 ` hiro 0 siblings, 1 reply; 30+ messages in thread From: Thomas Nemeth @ 2024-06-13 6:38 UTC (permalink / raw) To: 9front Le mercredi 12 juin 2024 21:35:21 CEST, vous avez écrit : > That looks like a corrupted file system. argl... So you confirm that. This seems to be quite frequent on my raspi. Even though I don't do anything special. Just trying to play with it until I'm more comfortable with it. Customizing, scripting, configuring... and compiling. The only moments it reboots are because of power outage (I live in the countryside and even if it's not frequent, it's not unusual). It's about the 3rd time it happens. Thomas. ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [9front] Staying up-to-date 2024-06-13 6:38 ` Thomas Nemeth @ 2024-06-14 20:11 ` hiro 2024-06-16 10:01 ` Thomas Nemeth 0 siblings, 1 reply; 30+ messages in thread From: hiro @ 2024-06-14 20:11 UTC (permalink / raw) To: 9front i generally recommend people don't use the rpi with any storage connected. even usb->nvme drives can be problematic sometimes if you bump against the cable. USB is a horrible connector. but much better than the other rpi storage options: sd cards and usb-thumbstick flashdrives are even worse due to the low quality flash & controllers. the most unreliable storage tech i have ever used. the best is to pxe boot from a proper fileserver and learn to forget all those sd card problems. On Thu, Jun 13, 2024 at 9:55 AM Thomas Nemeth <tnemeth@free.fr> wrote: > > Le mercredi 12 juin 2024 21:35:21 CEST, vous avez écrit : > > That looks like a corrupted file system. > > argl... So you confirm that. > > This seems to be quite frequent on my raspi. Even though I don't > do anything special. Just trying to play with it until I'm more > comfortable with it. Customizing, scripting, configuring... and > compiling. > > The only moments it reboots are because of power outage (I live > in the countryside and even if it's not frequent, it's not unusual). > > It's about the 3rd time it happens. > > > Thomas. > > > ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [9front] Staying up-to-date 2024-06-14 20:11 ` hiro @ 2024-06-16 10:01 ` Thomas Nemeth 2024-06-16 13:03 ` Thaddeus Woskowiak 2024-06-16 18:00 ` ori 0 siblings, 2 replies; 30+ messages in thread From: Thomas Nemeth @ 2024-06-16 10:01 UTC (permalink / raw) To: 9front Le vendredi 14 juin 2024 22:11:48 CEST, vous avez écrit : > the best is to pxe boot from a proper fileserver and learn to forget > all those sd card problems. That's an idea, indeed. Seen it in the FQA. Although I'm quite familiar with PXE, BOOTP and DHCP due to my work on Linux embedded systems for ~25y, I'm not when it's related to Plan9 and I find the documentation hard to follow -_-; It seems to be Plan9-fileserver oriented (obviously). In the mean time I was looking at `man 8 fs` and found that the fs "check" command could be used to check for a filesystem integrity. But it's nowhere to be found on the console (in the current state of my research). I also wanted to know which filesystems where mounted and couldn't find it in the man pages of the commands specified in the unix2plan9 wiki page. Thanks to fshalt I found out that the root filesystem was hjfs :) Even though I've been playing occasionally with Plan9 and then 9front for ~10y, I still don't feel confident enough for system administration. ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [9front] Staying up-to-date 2024-06-16 10:01 ` Thomas Nemeth @ 2024-06-16 13:03 ` Thaddeus Woskowiak 2024-06-16 14:27 ` Thomas Nemeth 2024-06-16 18:00 ` ori 1 sibling, 1 reply; 30+ messages in thread From: Thaddeus Woskowiak @ 2024-06-16 13:03 UTC (permalink / raw) To: 9front > That's an idea, indeed. Seen it in the FQA. > > Although I'm quite familiar with PXE, BOOTP and DHCP due to my work > on Linux embedded systems for ~25y, I'm not when it's related to > Plan9 and I find the documentation hard to follow -_-; > > It seems to be Plan9-fileserver oriented (obviously). > It's very easy. So easy that once you get it working you will want to throw all but one of your hard drives out the window. Follow https://fqa.9front.org/fqa6.html#6.7 I also wanted to say that when it comes to learning Plan 9 from a Linux/*nix background you will find that Plan 9 will appear obtuse and difficult. That is because you have only known obtuse and difficult so you have come to expect it. Plan 9 is the opposite - so much so that it appears alien to the beginner. > In the mean time I was looking at `man 8 fs` and found that the > fs "check" command could be used to check for a filesystem > integrity. But it's nowhere to be found on the console (in the > current state of my research). > fs is the now deprecated classic on-disk file server for plan 9. The two currently supported file systems on 9front are hjfs and cwfs. There is a third, an amazing piece of work by Ori called gefs, which is in testing right now. Read the man pages for those supported file systems and you will see the relation to fs. Plan 9 (the kernel) only speaks 9P. It doesn't understand on-disk file systems such as hjfs or cwfs as that is the job of the disk file servers cwfs(4) and hjfs(4) - programs which translate the on-disk fs to 9P. This means you could in theory boot from ext, nfs, cifs, sshfs, etc. > I also wanted to know which filesystems where mounted and couldn't > find it in the man pages of the commands specified in the > unix2plan9 wiki page. Thanks to fshalt I found out that the root > filesystem was hjfs :) > Plan 9 does not have mounts in the Unix sense as mounts and binds are per namespace. Instead you use the ns(1) command which prints a list of commands which represents the construction of the namespace that rc process is running in. That namespace is inherited by children procs which is why mounting/binding something in a new Rio window does not effect other windows BUT performing that same mount before running Rio does. See namespace lifting in the wiki for a global mount solution and read about srv(3). > Even though I've been playing occasionally with Plan9 and then > 9front for ~10y, I still don't feel confident enough for system > administration. > Rome was not built in a day. Take your time and ask questions. Do not mash keys or make assumptions. Have fun! ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [9front] Staying up-to-date 2024-06-16 13:03 ` Thaddeus Woskowiak @ 2024-06-16 14:27 ` Thomas Nemeth 2024-06-16 18:02 ` ori 2024-06-17 11:04 ` hiro 0 siblings, 2 replies; 30+ messages in thread From: Thomas Nemeth @ 2024-06-16 14:27 UTC (permalink / raw) To: 9front Le dimanche 16 juin 2024 15:03:30 CEST, vous avez écrit : > > It seems to be Plan9-fileserver oriented (obviously). > > It's very easy. So easy that once you get it working you will want to > throw all but one of your hard drives out the window. Follow > https://fqa.9front.org/fqa6.html#6.7 That's what I was refering to ;) > I also wanted to say that when it comes to learning Plan 9 from a > Linux/*nix background you will find that Plan 9 will appear obtuse and > difficult. That is because you have only known obtuse and difficult so > you have come to expect it. Plan 9 is the opposite - so much so that > it appears alien to the beginner. Well... That's partially true. I've been developing and administering on several Unix system for a long time. Mainly *BSD, Solaris and Linux. Of course I'm very comfortable with them :) I began to look into Plan9 about 10 (maybe more) years ago. I'm very, deeply, interested in every OS (well, a little less for proprietary ones) and the design ideas behind Plan9 were (and still are) appealing. I've read a lot of documentation. A lot. I've been playing occasionally with plan9 since then. First in VMs, then as soon as I had the possibility, on real hardware. But, and it's still true now, it's only _playing_. Once these ideas are understood what you say may appear as alien do not anymore. What's disturbing is that the documentation is not up to the task (in my opinion of course) to teaching newcomers all the intricacies of Plan9, even with the "intro" for each man section. That's in line with what you said: > fs is the now deprecated classic on-disk file server for plan 9. The > two currently supported file systems on 9front are hjfs and cwfs. Indeed. But it's still what we get when we look for some documentation... Since youur mail I've been trying several things. Looking at how to add a new user, a thing I had done some years ago, but didn't had the time until now, I understood how to communicate with the filesystem and send commands. But some that were in the man pages, could not be issued (the "users" command for example). And more importantly I understood that I absolutely cannot use "con -C /srv/hjfs.cmd". The command to leave the CLI is "CTRL-\ + q". But, on my (french) keyboard it means typing CTRL-ALTgr-\ + q". And CTRL-ALTgr-\ only prints \ and does nothing else so typing q+return afterward doesn't do as told... > There is a third, an amazing piece of work by Ori called gefs, which > is in testing right now. Read the man pages for those supported file > systems and you will see the relation to fs. Now I have another task :) Learn how to create such a filesystem and use it as the root filesystem ! > Plan 9 (the kernel) only speaks 9P. It doesn't understand on-disk file > systems such as hjfs or cwfs as that is the job of the disk file > servers cwfs(4) and hjfs(4) - programs which translate the on-disk fs > to 9P. This means you could in theory boot from ext, nfs, cifs, sshfs, > etc. I'm already convinced that the 9P is quite the feat ;) It's also used in hypervisors for VMs. > Plan 9 does not have mounts in the Unix sense as mounts and binds are > per namespace. Instead you use the ns(1) command which prints a list > of commands which represents the construction of the namespace that rc > process is running in. That namespace is inherited by children procs > which is why mounting/binding something in a new Rio window does not > effect other windows BUT performing that same mount before running Rio > does. See namespace lifting in the wiki for a global mount solution > and read about srv(3). That's also what we get with containers under Linux. But for Linux it had been bolted into the kernel afterward whereas it's native Plan9. I've followed the developement of the namespaces in Linux then I've been working with lxc and docker. I could not help but to think about Plan9 during these developments :) > > Even though I've been playing occasionally with Plan9 and then > > 9front for ~10y, I still don't feel confident enough for system > > administration. > > Rome was not built in a day. Take your time and ask questions. Do not > mash keys or make assumptions. Have fun! \o/ That's the point : having fun :) But not only. Trying new things, stepping out of your comfort zone changes your way of thinking and makes you gain experiences. As I said previously, I like a lot of the ideas behind Plan9. The only thing I disagree with is... user interaction. I come from the "no GUI" era : I'm a keyboard man. But that won't stop me from trying to gain proficiency with Plan9 :) I still want to test and try a lot of stuff with it. On the free time my wife let me have ;) This includes: - Handling mails. Tried before. Very complex even for a guy that used to configure sendmail. - Raspi cluster configuration. I want to put my hands into what makes Plan9 so powerful. - Development. Customizing applications, etc. Sorry for my _long_ mail. I cannot stop talking about the stuff I love :) Thomas. ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [9front] Staying up-to-date 2024-06-16 14:27 ` Thomas Nemeth @ 2024-06-16 18:02 ` ori 2024-06-17 11:04 ` hiro 1 sibling, 0 replies; 30+ messages in thread From: ori @ 2024-06-16 18:02 UTC (permalink / raw) To: 9front Quoth Thomas Nemeth <tnemeth@free.fr>: > Le dimanche 16 juin 2024 15:03:30 CEST, vous avez écrit : > > > It seems to be Plan9-fileserver oriented (obviously). > > > > It's very easy. So easy that once you get it working you will want to > > throw all but one of your hard drives out the window. Follow > > https://fqa.9front.org/fqa6.html#6.7 > > That's what I was refering to ;) > The summary: 1) Start the necessary servers (tftp, dhcp) 2) Add the machines and bootfiles to ndb 3) Put a plan9.ini in /cfg/pxe, named by the mac of the machine to boot I think that's it. ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [9front] Staying up-to-date 2024-06-16 14:27 ` Thomas Nemeth 2024-06-16 18:02 ` ori @ 2024-06-17 11:04 ` hiro 1 sibling, 0 replies; 30+ messages in thread From: hiro @ 2024-06-17 11:04 UTC (permalink / raw) To: 9front > only thing I disagree with is... user interaction. I come from the > "no GUI" era : I'm a keyboard man. But that won't stop me from > trying to gain proficiency with Plan9 :) well the nice thing in plan9 is there's a fair amount of scriptability, so you can make your own cli abstractions to make everything easy. some people for example automate all their rio window management... ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [9front] Staying up-to-date 2024-06-16 10:01 ` Thomas Nemeth 2024-06-16 13:03 ` Thaddeus Woskowiak @ 2024-06-16 18:00 ` ori 2024-06-16 20:20 ` [9front] Out-of-date and obsolete documentation Lyndon Nerenberg (VE7TFX/VE6BBM) 1 sibling, 1 reply; 30+ messages in thread From: ori @ 2024-06-16 18:00 UTC (permalink / raw) To: 9front Quoth Thomas Nemeth <tnemeth@free.fr>: > Le vendredi 14 juin 2024 22:11:48 CEST, vous avez écrit : > > the best is to pxe boot from a proper fileserver and learn to forget > > all those sd card problems. > > That's an idea, indeed. Seen it in the FQA. > > Although I'm quite familiar with PXE, BOOTP and DHCP due to my work > on Linux embedded systems for ~25y, I'm not when it's related to > Plan9 and I find the documentation hard to follow -_-; > > It seems to be Plan9-fileserver oriented (obviously). > > In the mean time I was looking at `man 8 fs` and found that the > fs "check" command could be used to check for a filesystem > integrity. But it's nowhere to be found on the console (in the > current state of my research). the manpages here need a rewrite; they're somewhat.. uh.. historical. fs(8) is more or less for cwfs; hjfs has its own console, and gefs has its own. > I also wanted to know which filesystems where mounted and couldn't > find it in the man pages of the commands specified in the > unix2plan9 wiki page. Thanks to fshalt I found out that the root > filesystem was hjfs :) > > Even though I've been playing occasionally with Plan9 and then > 9front for ~10y, I still don't feel confident enough for system > administration. Yes, it's not difficult, but it's certainly different. A smaller community also means a lot less documentation. ^ permalink raw reply [flat|nested] 30+ messages in thread
* [9front] Out-of-date and obsolete documentation 2024-06-16 18:00 ` ori @ 2024-06-16 20:20 ` Lyndon Nerenberg (VE7TFX/VE6BBM) 0 siblings, 0 replies; 30+ messages in thread From: Lyndon Nerenberg (VE7TFX/VE6BBM) @ 2024-06-16 20:20 UTC (permalink / raw) To: 9front ori@eigenstate.org writes: > the manpages here need a rewrite; they're somewhat.. uh.. historical. > fs(8) is more or less for cwfs; hjfs has its own console, and gefs > has its own. "Rewrite" is the key word here. There is still a lot of text in the fs manpages that refers to kenfs behaviour that has been gone for decades. At this point I think all of the fs- and boot-related man pages need a quick rm and then we need to start over from scratch. But for this to work it would need a small group of dedicated volunteers to do the work. I cannot be one of those right now (but possibly in a couple of months). I might start tinkering with some rewrites in the meantime, though. --lyndon ^ permalink raw reply [flat|nested] 30+ messages in thread
end of thread, other threads:[~2024-06-17 11:06 UTC | newest] Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2024-06-11 14:57 [9front] Staying up-to-date Thomas Nemeth 2024-06-11 15:08 ` phil9 2024-06-11 15:15 ` Thomas Nemeth 2024-06-12 11:57 ` cosarara 2024-06-12 16:57 ` Thomas Nemeth 2024-06-13 0:46 ` sl 2024-06-13 1:05 ` sl 2024-06-13 6:31 ` Thomas Nemeth 2024-06-13 17:16 ` hiro 2024-06-12 12:21 ` ori 2024-06-12 2:30 ` Thaddeus Woskowiak 2024-06-12 17:10 ` Thomas Nemeth 2024-06-12 12:51 ` hiro 2024-06-12 13:04 ` ori 2024-06-12 17:10 ` Thomas Nemeth 2024-06-12 19:34 ` Ori Bernstein 2024-06-12 21:55 ` Stanley Lieber 2024-06-12 17:03 ` Thomas Nemeth 2024-06-12 17:56 ` hiro 2024-06-12 18:11 ` Thomas Nemeth 2024-06-12 19:35 ` Ori Bernstein 2024-06-13 6:38 ` Thomas Nemeth 2024-06-14 20:11 ` hiro 2024-06-16 10:01 ` Thomas Nemeth 2024-06-16 13:03 ` Thaddeus Woskowiak 2024-06-16 14:27 ` Thomas Nemeth 2024-06-16 18:02 ` ori 2024-06-17 11:04 ` hiro 2024-06-16 18:00 ` ori 2024-06-16 20:20 ` [9front] Out-of-date and obsolete documentation Lyndon Nerenberg (VE7TFX/VE6BBM)
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).