3 ***DISCLAIMER***: _These notes are from the defunct k8 project which_
4 _precedes SquirrelJME. The notes for SquirrelJME start on 2016/02/26!_
5 _The k8 project was effectively a Java SE 8 operating system and as such_
6 _all of the notes are in the context of that scope. That project is no_
7 _longer my goal as SquirrelJME is the spiritual successor to it._
11 Had this idea about my packages. Right now I have a whole mess of drivers in
12 the k8 kernel stuff and whatnot. Instead of that, I can just have packages
13 which contain the individual drivers for a set of hardware (i.e. all OHCI PCI
14 devices and such). I can then do the same for image encoders/decoders, along
15 with encryption algorithms and such. This way such a system is more modular
18 * mpa-security -- crypto-digest-* (md5, sha1, etc.).
19 * mpa-imagelib -- image-[de|en]coder-* (xpm).
20 * k8-kernel (k8drv, driver interfaces) -- device-interface-*.
21 * k8-kernel (k8drv, driver implements) -- device-implement-*.
22 * k8-kernel-boot -- kernel-platform-*.
23 * k8-kernel -- kernel-core, only k8ker.
25 Although there currently exists depends, I can have a reverse of that. Say I
26 have a dummy package k8-full-desktop which depends on no packages. However,
27 there will be a depend-by key for say image-codec-xpm which says that k8-full-
28 desktop should be depended by that package. I will also need a meta tag system
29 which the packages will use, that will make things easier rather than having
30 guesses and such. I can then move the booting system building code and such to
31 individual packages and use meta information as needed. Although there will be
32 tons of extra packages, it will be a bit more organized. Perhaps for one
33 system you will not need USB drivers because there is no way to get USB (say
38 So the packages for platforms will indicate that they support specific types
39 of devices. However some platforms are generic and would share code. So I
40 might have a kernel-platform-ieee1275-ppc which depends on a kernel-platform-
41 ieee1275 (which defines no machines).
45 I also need to change the package building system to determine if any files
46 were changed before a package is rebuilt. That way it remains automatic,
47 however dependencies may become problematic.