* [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 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-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-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 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 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 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 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-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: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 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 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: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 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-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: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-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 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
* 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
* [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
* 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
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).