Lunar Linux:FAQ
These are the Frequently Asked Questions for Lunar Linux. You have a question about Lunar? You might get your answer below.
Contents |
General
What is Lunar Linux?
What exactly is Lunar Linux?
Answer:
- Please read up on it at "About"
Optimizations
how do I set these optimizations?
how do I set these optimizations?
Answer: just run lunar optimize. You'll be taken through an interactive menu that explains all the options. Remember, optimize safely!
What are the recomended safe optimizations for lunar linux?
What are the recomended safe optimizations for lunar linux?
Answer: The default sure fire optimizations that are recommended are:
- C: -pipe
- C++: -pipe
- CPU Architecture: you should pick __your__ own system architecture (default to x86 for most people).
- Basic Optimzations: Fast (-01) but most people will opt in for Faster, or Fastest (fastest doesn't work on all systems, i.e. k6).
- CPU: Obviously your own cpu, or the cpu of the machine you plan to run this install on. (If you want to be able to run this install on many machines, you should be safe with I586).
- Speed Optimizations: If you want to be 100% sure that there won't be optimization problems you shouldn't select any of these.
- Extra features: I wouldn't recomend using any of these optimizations (only on modules know to be able to handle them), since they cause many apps to break.
- Floating Point Math: None (if your arch is x86 and you don't own a 386SX and 486SX, it's safe to go with x387).
- Linker options: Strip.
- Addon program support: CCache (make sure to install it first).
NOTE: These settings should work for almost everyone, and there is a lot room for pushing these optimizations more (at the risk of problems with apps). Read "info gcc" and make sure you understand a given optimization BEFORE you enable it!
What optimizations are known to cause problems?
What optimizations are known to cause problems?
Answer: Some optimizations that are known to cause problems on x86 with many apps (even a entire system):
- -funroll-loops
- -fstrict-aliasing
- -ffast-math
- -ffloat-store
NOTE: These are sorted from the least unstable to most unstable. Read "info gcc" and make sure you understand a given optimization BEFORE you enable it!
What optimizations can I use to gain some speed but without major risks?
What optimizations can I use to gain some speed but without major risks?
Answer: Start with the basic optimizations in the question "What are the recomended safe optimizations for lunar linux?" and change the Basic Optimizations to Faster (Fastest if you know that gcc will generate correct code for that cpu). -O2 obviously takes more compile time than -O1, and -O3 takes the most time to compile. Then select the cpu you will run it on. Some of the speed optimizations that should be decent and shouldn't cause too many problems (if any) are: -fomit-frame-pointer. A safe bet for floating point math on a x86 would be x387 (if you know your cpu has a floating point unit). Check "cat /proc/cpuinfo" to see if your cpu supports SSE or SSE2. If your cpu does have sse or sse2 then you can also add that to the math optimizations.
NOTE: Your results may vary. Read "info gcc" and make sure you understand a given optimization BEFORE you enable it!
What optimizations should I stay away from?
What optimizations should I stay away from?
Answer: All the ones listed in the Question "What optimizations are known to cause problems?" plus:
- -fprofile-arcs
- -fbranching-probabilities
Note:Read "info gcc" and make sure you understand a given optimization BEFORE you enable it! The Lunar-Devs have no sympathy for bug-reports of the nature "Why can't I compile a given module, when my optimizations are: (long list of UNSAFE optimizations!!!)"
Installing modules
Can I install multiple modules at the same time?
Can I install multiple modules at the same time?
You can, lunar promotes it even! However it makes installs go slower of course. Lunar will not install things as important as gcc / glibc while something else is going on and will wait until the rest is finished. Complementary, you cannot install applications while those major apps are installing, they will wait their turn until it's safe to install them automatically.
configure: error: C preprocessor "/lib/cpp" fails sanity check ?
configure: error: C preprocessor "/lib/cpp" fails sanity check ?
Your kernel headers are missing from /usr/include. This means the C PreProcessor cannot verify that it has the proper cached copies of those vital header files. You need to install the proper ones manually. Here's how:
1. lin kernel-headers-2.4
might work for you! (Use the 2.6 version if needed of course)
2. Otherwise:
mkdir -p /usr/include/{linux,asm}
to create the two target dirs, if needed. Then execute:
cp -av /usr/src/linux/include/linux /usr/include/ cp -av /usr/src/linux/include/asm/* /usr/include/asm/
to copy the files manually. Be warned that the second command has to be done this way since /usr/src/linux/include/asm is a softlink to your arch asm header files (asm points to asm-i386, on x86 machines). So if, on the other hand, you had copied
cp -av /usr/src/linux/include/asm /usr/include/
you would then get a softlink to nowhere under /usr/include/.
3. Last, you can always try to unpack the kernel tarball you have into /usr/src/linux and manaully link or copy the headers over yourself.
how do i add other window managers to the sessions on gdm?
how do i add other window managers to the sessions on gdm?
Copy the desktop startup files to /etc/X11/dm/Sessions/. That works with gdm. For kdm you will have to copy them to $KDE_PREFIX/share/apps/kdm/sessions.
How do I get Flash to work with mozilla?
How do I get Flash to work with mozilla
If you are using mozilla, then you can simply do a "lin flash-plugin" and that will download and install the Macromedia Flash plugin that works with a gtk+ based mozilla through the old abi wrappers.
The flash plugin does NOT work with Galeon. Galeon developers have declined to provide the "old" abi wrappers needed for the plugin to work.
How do I get Java for my Lunar box?
How do I get Java for my Lunar box?
You have to download the java source code from Sun yourself and you have to "click" to agree on their license. You have to compile it yourself too. We don't have a Sun Java module as we currently have no way to automate the "click" to agree to the Sun Java license. See this URL for some handy info:
http://www.linuxfromscratch.org/~tushar/hints/javafromscratch.txt
There is a j2sdk module in moonbase which is the Blackdown port of Sun's Java Virtual Machine.
Lunar core tools
How do i force lunar to recompile my modules with different options?
How do i force lunar to recompile my modules with different options?
Answer: Try:
lin -r MODULE
-r means: Select new configuration and dependencies for modules.
How do I tell lunar to recompile my application instead of resurrecting it?
How do I tell lunar to recompile my application instead of resurrecting it?
Answer: Try doing:
lin -c MODULE
The -c option means: Compile this module even if there is an install cache copy available in /var/cache/lunar.
My moonbase is gone and now I can't install any modules?
How do I fix problems with my moonbase when it's missing or damaged?
Answer: Simple solution to this is just running:
lin moonbase
This will download the latest moonbase from the internet, and restore it to working order.
What is a module?
What is a module?
Answer: A module is a set of files that tell the core tools the following:
* What name, version, and other properties a package has * Where to download all needed source files * What other modules are required, or conflict with this one * How to unpack the source files, how to patch * How to configure the code * How to compile * How to install everything * What else to do with it
The module is coded in a set of files in a directory structure, and programmed in bash.
What is moonbase?
What is that thing you call moonbase?
Answer: moonbase is a database with modules. In this database there are description of packages that tell the core tools where to download, how to install etc... You can consider this the lunar equivalent of portage, grimoire, ports etc.
What is theedge?
What is theedge?
Answer: theedge is the same as lunar, and also known as the core code. Theedge is just another version of lunar. These two pieces of code install your packages, but they do not contain package descriptions. Those are defined in moonbase.
Theedge is a development version of lunar. Often there are much more features in theedge, and bugs are fixed quicker as well. However, if you do not like all this tweaking on your system, we advice you to use the stable lunar core tools instead on your system.
You can install theedge by issueing:
lin theedge
Theedge automatically is updated if you do a lunar renew or lunar update