Syllable Forum Index Syllable
Syllable Forums
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

/boot/system/programs/init

 
Post new topic   Reply to topic    Syllable Forum Index -> Syllable Desktop
View previous topic :: View next topic  
Author Message
Ronaldlees



Joined: 15 Oct 2014
Posts: 146

PostPosted: Sun Dec 14, 2014 8:44 am    Post subject: Kernel debugging with QEMU Reply with quote

To: Kaj or others who might know the answer:

It's been awhile since I looked at the kernel. I started back a couple months ago, then went off doing something else on another operating system. Anyway, yesterday I came back to the Syllable kernel. The last time I looked at the source for it, it would compile just fine, but seemed to have an issue at runtime, when I swapped it into the boot image.

I used QEMU and gdb to single step the kernel through to the offending function, which was:

[code]execve( "/boot/system/programs/init", apzBootShellArgs, g_apzEnviron );[/code]

Init really resides in:

[code] "/boot/system/bin/init"[/code]

So, I changed the execve line to the correct location, compiled, and swapped in the new kernel. The change worked, as the kernel went further along, and then complained as it tried to load Appserver. I haven't yet ferreted out the exact cause for the Appserver not loading, but I believe that it too may be the result of the file system layout used by the source-compiled kernel, as opposed to the one in the 0.6.7 release ISO image. So, that led me to believe that the code I used for the kernel was pretty old. I tried the snapshot on Sourceforge, and also I used CVS to get the source from Sourceforge. In both cases, the execve line had the incorrect "init" location. So, where do I get the source code that matches the 0.6.7 ISO image kernel?

- Thanx,
Ron
Back to top
View user's profile Send private message
Kaj
The Knights of Syllable


Joined: 14 Sep 2007
Posts: 2202
Location: Friesland

PostPosted: Sun Dec 14, 2014 7:11 pm    Post subject: Reply with quote

Please open new threads for new topics. I split this one off from the earlier thread.

/boot/system/programs/init is actually the new location, so that's what you get from the source in CVS, which is the latest. It's ahead of Syllable 0.6.7. The file system changes are similar to what is already in Syllable Server 0.4, documented here:

http://web.syllable.org/Server/Changes.html#structure-0.4

There is no source snapshot that exactly matches Syllable 0.6.7, because this release was built from binary parts that were compiled over a period of time. This is one of the difficulties in building the whole system, that we talked about before. It needs to be done in the full development environment in which we always develop the system.

In the case of the file structure changes, they can easily be accommodated by creating symlinks in your system to the new locations.
Back to top
View user's profile Send private message Visit poster's website
Ronaldlees



Joined: 15 Oct 2014
Posts: 146

PostPosted: Mon Dec 15, 2014 7:35 am    Post subject: Reply with quote

[quote="Kaj"]
...
There is no source snapshot that exactly matches Syllable 0.6.7, because this release was built from binary parts that were compiled over a period of time. This is one of the difficulties in building the whole system, that we talked about before. It needs to be done in the full development environment in which we always develop the system.
...
[/quote]

Kaj:

Thanks for the info. I'm trying to digest what you're saying. The snapshot was supposedly 0.6.6 - and it has the ".../programs/init" path in it. So, I'm confused (but hey - at my age that's not surprising!). As far as building the whole system, builder seems not to build everything to completion, at least not so far for me. It does build all the drivers and kernel just fine, which is why I was just compiling the kernel and swapping it into the 0.6.7 fs image. When do you think you might be doing a 0.6.8 ISO, such that I could have everyting in sync?

- Ron
Back to top
View user's profile Send private message
Kaj
The Knights of Syllable


Joined: 14 Sep 2007
Posts: 2202
Location: Friesland

PostPosted: Mon Dec 15, 2014 9:01 am    Post subject: Reply with quote

I wondered about that, too. Perhaps because we're similarly old, then. Wink I assumed it was a mistake, but if that path is already in the 0.6.6 source package, the situation is more complex than it appears.

In general, you can't expect a development version of all of Syllable, such as the current CVS source, to just compile completely. The nature of developing the system is that we push it through changes all the time, that are more or less disruptive. Builder tries very hard to bootstrap new versions step by step, and use each step to build the new environment for the following steps. But this can't always be automated, so you need to be familiar with the development of the system to correct problems along the way. In extreme cases, it's necessary to stop halfway, upgrade the host system with the lower level parts that were built so far, then continue with building the next parts.

I have no idea when and if I will do Syllable 0.6.8. I haven't been able to justify it for myself so far. What I could justify at the time was building 0.6.7 with reduced effort from binary parts, to release most of the work that had been done at that time. 0.6.7 Is a pretty good system with new features that enable running Red, for example. That allows me to support Syllable in a part of the work that I am doing, but I can't afford to do a lot of Syllable-only work.
Back to top
View user's profile Send private message Visit poster's website
Ronaldlees



Joined: 15 Oct 2014
Posts: 146

PostPosted: Mon Dec 15, 2014 9:40 am    Post subject: Reply with quote

Kaj:

Ok, I guess that clears things up (I think). What prompted all of this was the desire to fix the kernel memory wasting issue we think may be triggered by heavy apps such as Webster. So, I have to think about this, to see if there is a way to set up an environment to do that. Seems a bit obfuscated at this point. More caffeine maybe! Another idea would be to port a browser that simply doesn't agitate the kernel as much, or change Webster so that it doesn't make so many waves. LOL
Back to top
View user's profile Send private message
Ronaldlees



Joined: 15 Oct 2014
Posts: 146

PostPosted: Mon Dec 15, 2014 10:33 am    Post subject: Reply with quote

Mulling it over some more now...

So, the use of the binary parts in 6.7 was prompted due to :

1 - The difficulty of a multistage bootstrapping process, probably involving compiler and c libraries, where all the original source is still available in the source tree?

2 - Some original source is missing, or forever deleted?
Back to top
View user's profile Send private message
Ronaldlees



Joined: 15 Oct 2014
Posts: 146

PostPosted: Mon Dec 15, 2014 10:41 am    Post subject: Reply with quote

Option #1 is preferable, of course.
Back to top
View user's profile Send private message
Kaj
The Knights of Syllable


Joined: 14 Sep 2007
Posts: 2202
Location: Friesland

PostPosted: Mon Dec 15, 2014 9:54 pm    Post subject: Reply with quote

Yes, #1.

There is no source missing. I spent many years collecting it from all nooks and crannies from all developers. The source for the base system is all in CVS.

Builder is the only system that could ever build all of Syllable, often in one go. While I was developing Builder in the early years, I was the only one who did full system builds. Later when the process had stabilised, Vanders started using Builder for the releases and regular development builds, and I stopped doing full builds religiously. Somewhere after 0.6.6 Vanders fell away, and I was inbetween machines and installations and not set up anymore for full system builds. Eventually I decided to do 0.6.7 by taking the last development build and patching it up with newer binaries of single parts. So there was never a point that a snapshot could be made of the source of that release. However, it's all in CVS and some separate source packages for large applications.
Back to top
View user's profile Send private message Visit poster's website
Ronaldlees



Joined: 15 Oct 2014
Posts: 146

PostPosted: Tue Dec 16, 2014 8:33 am    Post subject: Reply with quote

[quote="Kaj"]Yes, #1.

There is no source missing. I spent many years collecting it from all nooks and crannies from all developers. The source for the base system is all in CVS.

[/quote]

Great! That's what I wanted to hear. It's a wonder that so many trolls come here to complain about the source. Maybe they don't understand the situation. Anyway, I'll probably continue to pick around on the kernel. I've not done a lot of kernel hacking, but have been studying them on an ad hoc basis for years. Who knows?

Anyway, thanx for the info.

- Ron
Back to top
View user's profile Send private message
Kaj
The Knights of Syllable


Joined: 14 Sep 2007
Posts: 2202
Location: Friesland

PostPosted: Tue Dec 16, 2014 3:12 pm    Post subject: Reply with quote

Yeah. What makes someone a troll is that they don't want to understand situations. Unfortunately, Syllable was such an attractive project that there have been quite a few people in its history that have misused the complexities of such a project to misrepresent them to others. I've learned that this is very easy to do, sadly, and very hard to defend against. Syllable has suffered badly from it.

I'm glad that you're taking the time to understand the project. It would be great if you have some fun hacking on it. Syllable is still very suitable for that.
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    Syllable Forum Index -> Syllable Desktop All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group