My guess is your paqfs is missing /rc/lib/rcmain. At least that's the only time I see rc just exit like this. Speaking of which it would probably be nice to print an error when that is the case. So its not a guess. This may be my fault, I added /rc to devroot which required some changes to how the namespace is built. Things should work, but if your userspace has fallen out of sync with your kernel it may cause this. - moody
> but if your userspace has fallen out of sync with your kernel
> it may cause this.
yes, i finally figured out this was down to the 9pc64 on my
fat-formatted usb stick was... old. the .iso dd'd to a usb
stick directly booted fine.
thanks,
sl
I forget
cd /sys/src/
mk install
will that install everything including the kernel. Or do I have to manually
copy the kernel. I just don't want this to happen on my remote server
Quoth sl@stanleylieber.com:
> > but if your userspace has fallen out of sync with your kernel
> > it may cause this.
>
> yes, i finally figured out this was down to the 9pc64 on my
> fat-formatted usb stick was... old. the .iso dd'd to a usb
> stick directly booted fine.
>
> thanks,
>
> sl
>
On 10/26/22 22:05, william@thinktankworkspaces.com wrote: > I forget When in doubt refer to the fqa: http://fqa.9front.org/fqa5.html#5.2.2 > > cd /sys/src/ > mk install > > will that install everything including the kernel. Or do I have to manually > copy the kernel. I just don't want this to happen on my remote server > No this only builds your userspace, you need to specifically build and copy your kernel to the right place for your system. However considering how often I see people cut themselves with that edge perhaps there should be something that does all that, a sysbuild script perhaps, not sure.
[-- Attachment #1: Type: text/plain, Size: 937 bytes --] this was rejected years ago for [reason unknown], so i wrote my own highly specific script, which is inadequate for general use: http://plan9.stanleylieber.com/rc/nk sl > On Oct 27, 2022, at 8:17 AM, Jacob Moody <moody@mail.posixcafe.org> wrote: > > On 10/26/22 22:05, william@thinktankworkspaces.com wrote: >> I forget > > When in doubt refer to the fqa: http://fqa.9front.org/fqa5.html#5.2.2 > >> >> cd /sys/src/ >> mk install >> >> will that install everything including the kernel. Or do I have to manually >> copy the kernel. I just don't want this to happen on my remote server >> > > No this only builds your userspace, you need to specifically build > and copy your kernel to the right place for your system. However > considering how often I see people cut themselves with that edge > perhaps there should be something that does all that, a sysbuild > script perhaps, not sure. > > [-- Attachment #2: Type: text/html, Size: 1924 bytes --]
> [reason unknown]
> ...
> my own highly specific script, which is inadequate for general use
Reason discovered. We don't know where everyone's kernels belong.
Mine need to be on 9fat on the cpu and /shr/<some string>/ on the
machine I am typing from. How do you script that generally?
umbraticus
yeah, it was discussed. i thought an argument for the target location might be sufficient, but [reasons]. in the end we settled for documenting the process in the fqa.
sl
> On Oct 27, 2022, at 12:59 PM, umbraticus@prosimetrum.com wrote:
>
>
>>
>> [reason unknown]
>> ...
>> my own highly specific script, which is inadequate for general use
>
> Reason discovered. We don't know where everyone's kernels belong.
> Mine need to be on 9fat on the cpu and /shr/<some string>/ on the
> machine I am typing from. How do you script that generally?
>
> umbraticus
>
just throwing it in, my approach was to add a mkfile to 9fat that installs a new kernel if one exists, moving the old kernel to 9xxx.old in case i have built a broken one.
-Steve
> On 27 Oct 2022, at 19:14, Stanley Lieber <sl@stanleylieber.com> wrote:
>
> yeah, it was discussed. i thought an argument for the target location might be sufficient, but [reasons]. in the end we settled for documenting the process in the fqa.
>
> sl
>
>
>> On Oct 27, 2022, at 12:59 PM, umbraticus@prosimetrum.com wrote:
>>
>>
>>>
>>> [reason unknown]
>>> ...
>>> my own highly specific script, which is inadequate for general use
>>
>> Reason discovered. We don't know where everyone's kernels belong.
>> Mine need to be on 9fat on the cpu and /shr/<some string>/ on the
>> machine I am typing from. How do you script that generally?
>>
>> umbraticus
>>
>
While looking over our mkfiles again I do see that we have a 'kernels' target in /sys/src that builds all of the kernels, but nothing for just the 'current' kernel. So I thought to add that, and add it to the list of subdirs we build on a 'install'. This defines the 'current' kernels/boot programs to those that are for the current objtype. Now this doesn't do anything for putting the kernel somewhere other then /$objtype. Most kernel install targets have this notion of $EXTRACOPIES : install:V: $p$CONF cp $p$CONF /$objtype/ for(i in $EXTRACOPIES) import $i / /n/$i && cp $p$CONF $p$CONF.gz /n/$i/$objtype/ This seems a bit oddly specific, perhaps EXTRACOPIES (or a rename) could be where someone puts in wherever they need the binary installed to You'd get something like: cd /sys/src KDIRS=/n/9fat mk install Just some thoughts, maybe this still sucks. diff c67a1784cc34ffec633b61ad3267e13d162be219 uncommitted --- a//sys/src/9/mkfile +++ b//sys/src/9/mkfile @@ -19,7 +19,13 @@ mk } -installall install:V: +install:V: + for(i in `{grep -l '^objtype='^$objtype */mkfile})@{ + cd `{basename -d $i} + mk install + } + +installall:V: for(i in $ARCH) @{ cd $i mk install --- a//sys/src/boot/mkfile +++ b//sys/src/boot/mkfile @@ -10,7 +10,15 @@ mk } -installall install:V: +install:V: + if(~ $objtype 'amd64') + objtype=386 + for(i in `{grep -l '^objtype='^$objtype */mkfile})@{ + cd `{basename -d $i} + mk install + } + +installall:V: for(i in $ARCH) @{ cd $i mk install --- a//sys/src/mkfile +++ b//sys/src/mkfile @@ -47,12 +47,15 @@ SUBSYS=ape\ /acme\ +KERNS=9\ + boot\ + none:VQ: echo mk all, install, clean, nuke, release, kernels, or libs all install clean nuke:VQ: date - for (i in $LIBS $SUBSYS $CMDS) @{ + for (i in $LIBS $SUBSYS $CMDS $KERNS) @{ cd $i mk $target } @@ -69,10 +72,10 @@ mk clean kernels:V: - for (i in 9 boot) @{ + for (i in $KERNS) @{ cd $i mk clean - mk install + mk installall mk clean } ---
I like all the ideas as long as its documented in fqa. My lazy self just simply forgets.
I saved a copy of the shell script but twice I was on the wrong namespace while writting
to /n/9fat
Quoth Jacob Moody <moody@mail.posixcafe.org>:
> While looking over our mkfiles again I do see that we have a 'kernels' target
> in /sys/src that builds all of the kernels, but nothing for just the 'current'
> kernel. So I thought to add that, and add it to the list of subdirs
> we build on a 'install'. This defines the 'current' kernels/boot
> programs to those that are for the current objtype.
>
> Now this doesn't do anything for putting the kernel somewhere other then /$objtype.
> Most kernel install targets have this notion of $EXTRACOPIES :
>
> install:V: $p$CONF
> cp $p$CONF /$objtype/
> for(i in $EXTRACOPIES)
> import $i / /n/$i && cp $p$CONF $p$CONF.gz /n/$i/$objtype/
>
> This seems a bit oddly specific, perhaps EXTRACOPIES (or a rename) could be
> where someone puts in wherever they need the binary installed to
> You'd get something like:
>
> cd /sys/src
> KDIRS=/n/9fat mk install
>
> Just some thoughts, maybe this still sucks.
>
> diff c67a1784cc34ffec633b61ad3267e13d162be219 uncommitted
> --- a//sys/src/9/mkfile
> +++ b//sys/src/9/mkfile
> @@ -19,7 +19,13 @@
> mk
> }
>
> -installall install:V:
> +install:V:
> + for(i in `{grep -l '^objtype='^$objtype */mkfile})@{
> + cd `{basename -d $i}
> + mk install
> + }
> +
> +installall:V:
> for(i in $ARCH) @{
> cd $i
> mk install
> --- a//sys/src/boot/mkfile
> +++ b//sys/src/boot/mkfile
> @@ -10,7 +10,15 @@
> mk
> }
>
> -installall install:V:
> +install:V:
> + if(~ $objtype 'amd64')
> + objtype=386
> + for(i in `{grep -l '^objtype='^$objtype */mkfile})@{
> + cd `{basename -d $i}
> + mk install
> + }
> +
> +installall:V:
> for(i in $ARCH) @{
> cd $i
> mk install
> --- a//sys/src/mkfile
> +++ b//sys/src/mkfile
> @@ -47,12 +47,15 @@
> SUBSYS=ape\
> /acme\
>
> +KERNS=9\
> + boot\
> +
> none:VQ:
> echo mk all, install, clean, nuke, release, kernels, or libs
>
> all install clean nuke:VQ:
> date
> - for (i in $LIBS $SUBSYS $CMDS) @{
> + for (i in $LIBS $SUBSYS $CMDS $KERNS) @{
> cd $i
> mk $target
> }
> @@ -69,10 +72,10 @@
> mk clean
>
> kernels:V:
> - for (i in 9 boot) @{
> + for (i in $KERNS) @{
> cd $i
> mk clean
> - mk install
> + mk installall
> mk clean
> }
> ---
>
>
>