<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Jean&#039;s Page &#187; linux</title>
	<atom:link href="http://jeanbruenn.info/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://jeanbruenn.info</link>
	<description>so what?</description>
	<lastBuildDate>Fri, 06 Jan 2012 21:38:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>New Lunar Linux Frontpage and my lunar blog posts moving</title>
		<link>http://jeanbruenn.info/2012/01/06/new-lunar-linux-frontpage-and-my-lunar-blog-posts-moving/</link>
		<comments>http://jeanbruenn.info/2012/01/06/new-lunar-linux-frontpage-and-my-lunar-blog-posts-moving/#comments</comments>
		<pubDate>Fri, 06 Jan 2012 12:51:56 +0000</pubDate>
		<dc:creator>Jean</dc:creator>
				<category><![CDATA[lunar linux]]></category>

		<guid isPermaLink="false">http://jeanbruenn.info/?p=1189</guid>
		<description><![CDATA[Hey, due to striker&#8217;s migration from Joomla to WordPress yesterday, all my lunar related posts will now belong to my devblog at lunar linux. Jean]]></description>
			<content:encoded><![CDATA[<p>Hey,</p>
<p>due to striker&#8217;s <a href="http://www.lunar-linux.org/2012/01/06/new-look/">migration from Joomla to WordPress</a> yesterday, all my lunar related posts will now belong to <a href="http://wdp.blogs.lunar-linux.org/">my devblog at lunar linux</a>. </p>
<p>Jean</p>
]]></content:encoded>
			<wfw:commentRss>http://jeanbruenn.info/2012/01/06/new-lunar-linux-frontpage-and-my-lunar-blog-posts-moving/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>renamed modules</title>
		<link>http://jeanbruenn.info/2011/10/15/renamed-modules/</link>
		<comments>http://jeanbruenn.info/2011/10/15/renamed-modules/#comments</comments>
		<pubDate>Sat, 15 Oct 2011 10:12:28 +0000</pubDate>
		<dc:creator>Jean</dc:creator>
				<category><![CDATA[lunar linux]]></category>

		<guid isPermaLink="false">http://jeanbruenn.info/?p=1021</guid>
		<description><![CDATA[this article has moved to my dev blog]]></description>
			<content:encoded><![CDATA[<p><a href="http://wdp.blogs.lunar-linux.org/2011/10/15/handling-renamed-modules-an-idea/">this article has moved to my dev blog</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jeanbruenn.info/2011/10/15/renamed-modules/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Netboot Installation</title>
		<link>http://jeanbruenn.info/2011/08/12/netboot-installation/</link>
		<comments>http://jeanbruenn.info/2011/08/12/netboot-installation/#comments</comments>
		<pubDate>Fri, 12 Aug 2011 21:46:43 +0000</pubDate>
		<dc:creator>Jean</dc:creator>
				<category><![CDATA[lunar linux]]></category>

		<guid isPermaLink="false">http://jeanbruenn.info/new/?p=772</guid>
		<description><![CDATA[Hey, looking for useful documentation about netboot in Linux is quite difficult nowadays; of the various guides I found on the net only 1 was useful (1 of 30) &#8230; No wonder that I came to the conclusion to write my own one&#8230; The goal is, to have a central fileserver which does nfs+dhcp+tftp to [...]]]></description>
			<content:encoded><![CDATA[<p>Hey,</p>
<p>looking for useful documentation about netboot in Linux is quite difficult nowadays; of the various guides I found on the net only 1 was useful (1 of 30) &#8230; No wonder that I came to the conclusion to write my own one&#8230;</p>
<p>The goal is, to have a central fileserver which does nfs+dhcp+tftp to make netbooting installation images possible. That&#8217;s because I&#8217;m usually missing a install CD and I&#8217;ve got no spare recordables lying around -> all of my boxes can do netbooting, though.</p>
<p><span id="more-772"></span></p>
<p>Let&#8217;s install required software on the server:</p>
<pre>lin -cr xinetd tftp-hpa dhcp nfs-utils</pre>
<p>For Lunar Linux users, I already uploaded the Kernel and example configurations; i.e. you can get them from any lunar linux mirror. For everyone else, here&#8217;s how to do it manually (this is, what I was looking for) &#8211; Before you start to read about the kernel: basically you just need to make sure to get the kernel and initrd from the iso and you need to make sure that that kernel got nfs root enabled.</p>
<h2>The Kernel</h2>
<p>You have a few options here. Your first option is use some pre-compiled kernel provided by your distribution &#8211; You&#8217;ll need the kernel and if available the initrd. Your second choice is compiling your own kernel. Important: You need to enable Root file system on NFS: </p>
<pre>
File systems  ---> [*] Network File Systems  ---> <*>   NFS client support
                                                  [*]     NFS client support for NFS version 3
                                                  [*]     NFS client support for NFS version 4
                                                  [*]   Root file system on NFS
</pre>
<h3>Building your own Kernel</h3>
<p>grab a copy from kernel.org, unpack it and start menuconfig. If you need to create a kernel for a specific installer, you should stick to the kernel-version which is already shipped with that installer; because then you can easily use the already created initrd. </p>
<pre>wget ftp://ftp.kernel.org/pub/linux/kernel/v3.0/linux-3.0.1.tar.bz2
tar -xjvf linux-3.0.1.tar.bz2
cd linux-3.0.1</pre>
<p><b>optional:</b><br />
you could use the config of the kernel you&#8217;re running right now; if the versions are different this might lead to problems, tho. However, that way you could make sure that you build a kernel which will run on more than one box, without going through whole menuconfig. If available you&#8217;ll find the kernel config in /proc/config.gz &#8211; In Lunar Linux you might use the config found in /boot/config-2.6.35.3.gz</p>
<p>now continue the compilation by issuing:</p>
<pre>make menuconfig</pre>
<p>make sure to configure the nfs stuff from above and then make changes to the configuration as needed. Right after you did that you can start to compile it:</p>
<pre>make -j 4
make modules</pre>
<p>replace the 4 by the number of your cpus / cores. As soon as that is finished, we should create an initrd for the modules. Sadly, I have no clue on how to do that correctly (the initrd) thus I didn&#8217;t used any modules. As soon as I found out how, I&#8217;ll edit this post <img src='http://jeanbruenn.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>Configuring the applications</h2>
<p>Let&#8217;s see. I&#8217;ll assume you&#8217;ll have /var/lib/tftpboot and a symlink from /tftboot to that directory. Also I assume that you got tftp already running using xinetd &#8211; for that you just need to write the following stuff into your /etc/xinetd.d/tftp and restart xinetd.</p>
<p><b>/etc/xinetd.d/tftp</b></p>
<pre>service tftp
{
  socket_type = dgram
  protocol = udp
  wait = yes
  user = root
  server = /usr/sbin/in.tftpd
  server_args = -s /tftpboot
  disable = no
  rver_args = -s /tftpboot
  disable = no
}</pre>
<p>Now we need to export the install images using NFS:</p>
<p><b>/etc/exports</b></p>
<pre>/tftpboot/images/        *(ro,no_subtree_check,no_root_squash,fsid=root)</pre>
<p>Instead of * you might want to use your local network (like 192.168.2.0/24). I used &#8220;ro&#8221; because I&#8217;m creating squashfs images of the isos, and they&#8217;re read-only mounted (the CD would be readonly also, so this isn&#8217;t important), no_subtree_check is just there to avoid an error message. no_root_squash and fsid=root were needed to make the root-mount possible.</p>
<p>The dhcpd configuration isn&#8217;t very difficult, tho you have to think a bit about it because of a few reasons: If you already have a dhcp-server in your network, then you might want to make sure that they&#8217;ll work fine together. </p>
<p><b>Example:</b><br />
192.168.2.25 is the 2nd dhcp (the netboot one) 192.168.2.1 is the 1st dhcp.<br />
00:13:E8:B7:2B:C3 is the mac address of a client which shouldn&#8217;t use the 2nd DHCP service<br />
On the 2nd dhcp server I use the following dhcp block rule to ignore dhcp requests from that specific MAC:</p>
<pre>host lyra {
  hardware ethernet 00:13:E8:B7:2B:C3;
  ignore booting;
}</pre>
<p>However, you could make a group now, so you need to write ignore booting; only once. i.e.:</p>
<pre>  group {
    ignore booting;

#   host lyra {
#      hardware ethernet 00:26:22:75:70:8E;
#    }
  }</pre>
<p>If I uncomment lyra, it won&#8217;t use netboot. If the comments stay, it&#8217;s netbooting. Just like I wanted that. That&#8217;s not all to do, tho. Now you need to write a subnet-block with the ip-range for netbooting. Into this global block you&#8217;d play the group/host block(s), and the following general options:</p>
<pre>  option routers               192.168.2.1;
  option subnet-mask           255.255.255.0;
  option domain-name-servers   192.168.2.1;
  option ntp-servers           192.168.1.1;
  range dynamic-bootp          192.168.2.10 192.168.2.23;
  default-lease-time           21600;
  max-lease-time               43200;
  filename                   "/pxelinux.0";</pre>
<p>So your whole config would look like this:</p>
<p><b>/etc/dhcpd.conf</b></p>
<pre>subnet 192.168.2.0 netmask 255.255.255.0 {
  #
  # global options
  #
  option routers               192.168.2.1;
  option subnet-mask           255.255.255.0;
  option domain-name-servers   192.168.2.1;
  option ntp-servers           192.168.1.1;
  range dynamic-bootp          192.168.2.10 192.168.2.23;
  default-lease-time           21600;
  max-lease-time               43200;
  #
  # groups
  #
  group {
    # hosts in this group won't use netboot.
    ignore booting;

#   host lyra {
#      hardware ethernet 00:26:22:75:70:8E;
#    }
  }

  filename                   "/pxelinux.0";
}</pre>
<h2>Setup the PXE Stuff</h2>
<p>Alright, NFS, DHCPD and TFTP are configured and should work. We also have a Kernel, an initrd and a iso-image of the system we&#8217;d like to use. Whats left? Right &#8211; The configuration of the pxe-stuff. Let&#8217;s go into /tftpboot. Currently we don&#8217;t have anything here. But as you&#8217;ve seen above dhcpd will need a file called pxelinux.0 and nfs wants to export the directory /tftpboot/images/. I&#8217;m going to use squashfs for the images to save a bit space. Let&#8217;s create needed directories:</p>
<pre>mkdir -p /tftpboot/images/lunar-1.6.5-x86
mkdir -p /tftpboot/images/lunar-1.6.5-x86_64
mkdir -p /tftpboot/pxelinux.cfg
</pre>
<h3>The Images (squashfs)</h3>
<p>If you want to do it like that, also, do:</p>
<pre>lin -cr squashfs</pre>
<p>Now take one of your images and let&#8217;s check:</p>
<pre>507M    lunar-1.6.5-i686.iso (as .iso)
499M    lunar (mounted)</pre>
<p>Now create the squashfs image of it:</p>
<pre>mksquashfs /mnt/lunar lunar.sqfs -no-duplicates</pre>
<p>Where /mnt/lunar is the MOUNTED iso. The resulting squashfs file has:</p>
<pre>363M    lunar.sqfs</pre>
<p>I&#8217;d say, thats worth it. Now you just need to mount that file.</p>
<pre>root@lunar /tftpboot # mount lunar.sqfs lunar
mount: warning: lunar seems to be mounted read-only.
root@lunar /tftpboot # df -hT | grep lunar
/dev/loop0     squashfs  363M  363M     0 100% /var/lib/tftpboot/lunar</pre>
<p>Just like that, you can create such squashfs files for every install-iso you wanna use.</p>
<h3>The images (non-squashfs)</h3>
<p>Basically it&#8217;s the same approach, you just don&#8217;t create a squashfs file. Just mount the iso to the directory you wish to have it. For example: We&#8217;d like to have the lunar is mounted at /tftpboot/images/lunar-1.6.5-x86</p>
<pre>mount -o loop,ro -t iso9660 /path/to/lunar.iso /tftpboot/images/lunar-1.6.5-x86</pre>
<p>should do the job</p>
<h2>Kernel / Initrd</h2>
<p>Now let&#8217;s create a directory for kernel and initrd stuff.</p>
<pre>mkdir -p /tftpboot/kernel-initrd</pre>
<p>And copy the needed files into that, also rename them. For example, if you haven&#8217;t compiled your own like explained above, look into the mounted lunar iso, go into the directory isolinux and do:</p>
<pre> # cp linux /tftpboot/kernel-initrd/lunar-k-1.6.5-32
 # cp initrd /tftpboot/kernel-initrd/lunar-i-1.6.5-32</pre>
<p>so basically I use distroname-k|i-version-bit where k stands for kernel and i for initrd. Bit is obviously either 32 or 64. </p>
<h2>PXE files</h2>
<p>Download syslinux from http://www.kernel.org/pub/linux/utils/boot/syslinux/ and unpack it. Within you&#8217;ll find 3 files which we need:</p>
<pre>core/pxelinux.0
com32/menu/vesamenu.c32
com32/menu/menu.c32</pre>
<p>copy them to the /tftpboot/ &#8211; You can delete the syslinux source now, if you wish to. </p>
<h2>Menu</h2>
<p>Let&#8217;s create a nice menu for that now. First of all you&#8217;ll need a nice background (hrhr) picture. I&#8217;m using this one:</p>
<p><a rel="lightbox[]" href='http://jeanbruenn.info/wp-content/gallery/lunar/bg-lunar.png' title=''><img src='http://jeanbruenn.info/wp-content/gallery/lunar/thumbs/thumbs_bg-lunar.png' alt='bg-lunar' class='ngg-singlepic ngg-center' /></a></p>
<p>The finished menu could look like this:</p>
<p><a rel="lightbox[]" href='http://jeanbruenn.info/wp-content/gallery/lunar/lunar_netboot.png' title=''><img src='http://jeanbruenn.info/wp-content/gallery/lunar/thumbs/thumbs_lunar_netboot.png' alt='lunar_netboot' class='ngg-singlepic ngg-left' /></a></p>
<p><a rel="lightbox[]" href='http://jeanbruenn.info/wp-content/gallery/lunar/lunar_netboot2.png' title=''><img src='http://jeanbruenn.info/wp-content/gallery/lunar/thumbs/thumbs_lunar_netboot2.png' alt='lunar_netboot2' class='ngg-singlepic ngg-right' /></a></p>
<p>Basically the menu consists of a few files it can be easy or complex, just as you like. In my case it&#8217;s a bit complex.</p>
<p><b>default</b></p>
<pre>DEFAULT installer
PROMPT 0

UI pxelinux.cfg/vesamenu.c32
MENU BACKGROUND pxelinux.cfg/bg.png

MENU TITLE Netboot Menu
MENU INCLUDE pxelinux.cfg/graphics.conf
MENU AUTOBOOT Starting local system in # seconds

LABEL localhdd
  MENU LABEL ^local boot
  MENU default
  LOCALBOOT 0
  TIMEOUT 80

LABEL installer
  MENU LABEL ^installer
  KERNEL pxelinux.cfg/vesamenu.c32
  APPEND pxelinux.cfg/graphics.conf pxelinux.cfg/installer.menu</pre>
<p>I&#8217;m sure most options are logical. The difference between vesamenu and menu is that menu is displaying a menu like &#8220;dialog&#8221; or like the old thing you should know from &#8220;lilo&#8221;. While vesamenu offers the possibility to use a background image and thus looks more nice.</p>
<p><b>installer.menu</b></p>
<pre>MENU TITLE Installer Menu

MENU BACKGROUND pxelinux.cfg/bg.png

LABEL main menu
  MENU LABEL ^return to main menu
  KERNEL pxelinux.cfg/vesamenu.c32
  APPEND pxelinux.cfg/default

LABEL lunar 1.6.5 x86
  MENU LABEL ^Lunar Linux 1.6.5 32 Bit
  KERNEL kernel-initrd/lunar-k-1.6.5-32
  APPEND initrd=kernel-initrd/lunar-i-1.6.5-32 ramdisk_size=32768 root=/dev/nfs nfsroot=192.168.2.102:/,vers=4,clientaddr=192.168.2.11 ip=dhcp nfsrootdebug
  IPAPPEND 1

LABEL lunar 1.6.5 x86_64
  MENU LABEL ^Lunar Linux 1.6.5 64 Bit
  KERNEL kernel-initrd/lunar-k-1.6.5-64
  APPEND initrd=kernel-initrd/lunar-i-1.6.5-64 ramdisk_size=32768 root=/dev/nfs nfsroot=192.168.2.102:/,vers=4,clientaddr=192.168.2.11 ip=dhcp nfsrootdebug
  IPAPPEND 1</pre>
<p>This one is a bit more advanced; basically nfs root fails if I don&#8217;t add vers=4 and it segfaults or fails depending on your kernel, if you don&#8217;t add &#8220;clientaddr=&#8221; where clientaddr obviously should be some client addr. ip=dhcp means nfs will try to get the ip from dhcp (thats why I think clientaddr= is useless, however, it won&#8217;t work without here.</p>
<p><b>graphics.conf</b></p>
<pre>MENU COLOR TABMSG 37;40 #80ffffff #00000000
MENU COLOR HOTSEL 30;47 #40000000 #20ffffff
MENU COLOR SEL 30;47 #40000000 #20ffffff
MENU COLOR SCROLLBAR 30;47 #40000000 #20ffffff
MENU MASTER PASSWD yourpassword
MENU WIDTH 80
MENU MARGIN 22
MENU PASSWORDMARGIN 26
MENU ROWS 6
MENU TABMSGROW 15
MENU CMDLINEROW 15
MENU ENDROW 24
MENU PASSWORDROW 12
MENU TIMEOUTROW 13
MENU VSHIFT 6
MENU PASSPROMPT Enter Password:
NOESCAPE 1
ALLOWOPTIONS 0
</pre>
<p>I took this from some example <img src='http://jeanbruenn.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>directory/filestructure</h2>
<p>For easyness, I thought it might be useful to give you an overview about my file/directory-structure. I marked directories bold.</p>
<ul>
<li><b>/tftpboot</b>
<ul>
<li>pxelinux.0</li>
<li><b>images</b>
<ul>
<li>lunar.sqfs</li>
<li><b>lunar-1.6.5-x86</b></li>
<li><b>lunar-1.6.5-x86_64</b></li>
</ul>
</li>
<li><b>kernel-initrd</b>
<ul>
<li>lunar-i-1.6.5-32</li>
<li>lunar-i-1.6.5-64</li>
<li>lunar-k-1.6.5-32</li>
<li>lunar-k-1.6.5-64</li>
</ul>
</li>
<li><b>pxelinux.cfg</b>
<ul>
<li>bg.png</li>
<li>default</li>
<li>graphics.conf</li>
<li>installer.menu</li>
<li>menu.c32</li>
<li>vesamenu.c32</li>
</ul>
</li>
</ul>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://jeanbruenn.info/2011/08/12/netboot-installation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Boot times</title>
		<link>http://jeanbruenn.info/2011/08/06/boot-times/</link>
		<comments>http://jeanbruenn.info/2011/08/06/boot-times/#comments</comments>
		<pubDate>Sat, 06 Aug 2011 21:55:48 +0000</pubDate>
		<dc:creator>Jean</dc:creator>
				<category><![CDATA[lunar linux]]></category>

		<guid isPermaLink="false">http://jeanbruenn.info/new/?p=744</guid>
		<description><![CDATA[In my last blog I wrote about optimizing the boot-times using runit and a special kernel. As of today I switched to systemd in Lunar Linux and I&#8217;m using connman for networking; Let&#8217;s take a look at the boot-times again&#8230; Systemd already comes with some good time-tracking functionality: wdp@localhost ~ $ systemd-analyze Startup finished in [...]]]></description>
			<content:encoded><![CDATA[<p>In my last blog I wrote about optimizing the boot-times using runit and a special kernel. As of today I switched to systemd in Lunar Linux and I&#8217;m using connman for networking; Let&#8217;s take a look at the boot-times again&#8230;</p>
<p><span id="more-744"></span></p>
<p>Systemd already comes with some good time-tracking functionality:</p>
<pre>
wdp@localhost ~ $ systemd-analyze
Startup finished in 4777ms (kernel) + 9265ms (userspace) = 14043ms
</pre>
<p>4,7 seconds for the kernel is quite much. My goal are 3 seconds for the kernel.</p>
<h2>Kernel</h2>
<p>In some distributions, and if you ever compiled the linux kernel yourself, you might have wondered about the setting CONFIG_PRINTK_TIME which is in:  Kernel hacking  &#8212;> [*] Show timing information on printks. This setting is especially useful, if you want to tune your boot-times because you can easily see where a lot of time is needed.</p>
<p>Let&#8217;s take a look at my kernel, by doing:</p>
<pre>dmesg | less</pre>
<p>You can see (if you would have my notebook) that we have some delays:</p>
<pre>
[    1.402408] yenta_cardbus 0000:0f:06.0: TI: mfunc 0x01aa1b22, devctl 0x64
[    1.704038] ata2: SATA link down (SStatus 0 SControl 300)
</pre>
<p>again:</p>
<pre>
[    1.773526] sd 0:0:0:0: [sda] Attached SCSI disk
[    1.896884] yenta_cardbus 0000:0f:06.0: ISA IRQ mask 0x0cf8, PCI irq 22
</pre>
<p>another one:</p>
<pre>
[    2.482557] drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
[    3.209110] usb 7-2: new full speed USB device number 2 using uhci_hcd
[    3.312166] Synaptics Touchpad, model: 1, fw: 6.3, id: 0x12a0b1, caps: 0xa04713/0x204000/0x0
</pre>
<p>So basically you&#8217;re looking for long delays between the first line and the line:</p>
<pre>
[    3.565158] Freeing unused kernel memory: 552k freed
</pre>
<p>You can easily see, that the kernel is loading stuff which it wouldn&#8217;t need for just a simple boot. So let&#8217;s reduce that. The general rule is: Everything which is NOT needed to properly boot your system, tho needed later, should be a module. Of course, there are some exceptions. Imagine you&#8217;ve only got an usb keyboard and your system is broken / you&#8217;re booting without beeing able to load usb modules. Without another keyboard you might not be able to do something. </p>
<p>Let&#8217;s see what I can modularize (I&#8217;ll mention only those, which I didn&#8217;t have as module, and only the first half. going through the whole kernel config would let this post explode. As I already said: everything which is needed for booting Y everything which you need and can&#8217;t set modular Y, everything else you need M, everything you don&#8217;t need n)</p>
<ul>
<li>Processor type and features  &#8212;&gt;
<ul>
<li>&lt;M&gt; /dev/cpu/microcode &#8211; microcode support</li>
<li>&lt;M&gt; /dev/cpu/*/msr &#8211; Model-specific register support</li>
<li>&lt;M&gt; /dev/cpu/*/cpuid &#8211; CPU information support</li>
</ul>
</li>
<li>Power management and ACPI options  &#8212;&gt;
<ul>
<li>CPU Frequency scaling  &#8212;&gt;
<ul>
<li>&lt;M&gt;   CPU frequency translation statistics</li>
<li>&lt;M&gt;   ACPI Processor P-States driver</li>
</ul>
</li>
<li>Memory power savings  &#8212;&gt;
<ul>
<li>&lt;M&gt; Intel chipset idle memory power saving driver</li>
</ul>
</li>
</ul>
</li>
<li>Bus options (PCI etc.)  &#8212;&gt;
<ul>
<li>&lt;M&gt; PCI Stub driver
<li>&lt;M&gt; PCCard (PCMCIA/CardBus) support  &#8212;&gt; (yes, here&#8217;s the yenta stuff in, due to the M above, everything inside it will be M also)</li>
</ul>
</li>
<li>Networking support  &#8212;&gt;
<ul>
<li>&lt;M&gt;   RxRPC session sockets</li>
<li>&lt;M&gt;   RF switch subsystem support  &#8212;&gt;</li>
</ul>
</li>
<li>Device Drivers  &#8212;&gt;
<ul>
<li>&lt;M&gt; Connector &#8211; unified userspace <-> kernelspace linker  &#8212;&gt;</li>
<li>[*] Block devices  &#8212;&gt;
<ul>
<li>&lt;M&gt;   Packet writing on CD/DVD media</li>
<li>&lt;M&gt;   Virtio block driver (EXPERIMENTAL)</li>
</ul>
</li>
<li>-*- Misc devices  &#8212;&gt;
<ul>
<li>{M}   TI Flash Media interface support (EXPERIMENTAL)</li>
</ul>
</li>
<li>[*] Network device support  &#8212;&gt;
<ul>
<li>{M}   Generic Media Independent Interface device support</li>
<li>&lt;M&gt;   Virtio network driver (EXPERIMENTAL)</li>
<li><b>Notice:</b> I disabled all network cards I don&#8217;t have.</li>
</ul>
</li>
</ul>
</li>
</ul>
<p>Again: this is just a small snippet; I did a bit more at the kernel.</p>
<p><b>Before</b>:</p>
<pre>Installation Info
  Installed Version: 2.6.39.3
  Last compile time: 47m30s
  Approx. Size:      39904KB
  Files Installed:   1391

wdp@localhost ~ $ du /boot/2.6.39.3-x86_64 -h
3.5M    /boot/2.6.39.3-x86_64
</pre>
<p><b>After</b>:</p>
<pre>
Installation Info
  Installed Version: 2.6.39.3
  Last compile time: 26m34s
  Approx. Size:      31032KB
  Files Installed:   1218

root@localhost ~ # du -h /boot/2.6.39.3-x86_64
2.9M    /boot/2.6.39.3-x86_64
</pre>
<p>Ignore the compile time; ccache was speeding the compile up a bit and the first compile was made while the notebook was in-use. However, you can see quite nicely that the kernel-size was reduced (by 0,6 MB). Let&#8217;s take a look at the boot-time:</p>
<pre>
wdp@localhost ~ $ systemd-analyze
Startup finished in 2972ms (kernel) + 10028ms (userspace) = 13001ms
</pre>
<p>So I just improved the kernel-part by 1,8 seconds. We can try to reduce the boot-time of the kernel even more, by going more closely through the kernel config and de-select even more things which we wouldn&#8217;t need. You could also de-select various debug-features and printed informations (those are just slowing things down, and if you aren&#8217;t a kernel developer some (not all!) of those information aren&#8217;t useful for you anyway) &#8211; But such tuning is not the goal of my guide here. I already reached my goal of 3 seconds .)</p>
<p>Now it&#8217;s time to look at the other side of our boot-time.</p>
<h2>systemd&#8217;s services</h2>
<p>systemd-analyze has some very useful functionality: </p>
<pre>
root@localhost ~ # systemd-analyze blame
  3300ms hostname.service
  3222ms systemd-logind.service
  3195ms wpa_supplicant.service
  3187ms connman.service
  3179ms avahi-daemon.service
  1606ms systemd-vconsole-setup.service
   720ms udev-trigger.service
   681ms ConsoleKit.service
   400ms udev.service
   369ms dbus.service
   354ms var-lock.mount
   311ms media.mount
   303ms var-run.mount
   299ms systemd-user-sessions.service
   186ms systemd-sysctl.service
   159ms console-kit-log-system-start.service
   136ms irqbalance.service
   114ms systemd-remount-api-vfs.service
    85ms remount-rootfs.service
    65ms home.mount
    36ms dev-sda2.swap
    13ms nfs.service
</pre>
<p>Not to mention &#8220;systemd-analyze plot > bootchart.svg&#8221;. Anyway. We&#8217;ll start by something else. Currently I haven&#8217;t migrated completly to systemd. There are still some old sysv-init.d scripts in use:</p>
<pre>
wdp@localhost ~ $ systemctl | grep SYSV
ConsoleKit.service        loaded active running       SYSV: The ConsoleKit maintains a list of sessions
hostname.service          loaded active exited        SYSV: Sets your hostname
nfs.service               loaded active exited        SYSV: NFS is a popular protocol for file sharing across TCP/IP networks. This service provides NFS server functionality, which is configured via the /etc/exports file.
</pre>
<p>So before I do anything else, I should migrate that stuff. Right after doing so I should take a look at the &#8220;failed&#8221; services:</p>
<pre>
wdp@localhost ~ $ systemctl --failed
systemd-...-clean.service loaded failed failed        Cleanup of Temporary Directories
systemd-...-setup.service loaded failed failed        Recreate Volatile Files and Directories
</pre>
<p>And sadly, that&#8217;s not even all:</p>
<pre>
[    2.943944] systemd[1]: No hostname configured.
[    2.945344] systemd[1]: Cannot open /etc/machine-id: No such file or directory
[    5.312286] systemd-fsck[1335]: Usage: fsck.ext4 [-panyrcdfvtDFV] [-b superblock] [-B blocksize]
[    5.312296] systemd-fsck[1335]: [-I inode_buffer_blocks] [-P process_inode_size]
[    5.312303] systemd-fsck[1335]: [-l|-L bad_blocks_file] [-C fd] [-j external_journal]
[    5.312309] systemd-fsck[1335]: [-E extended-options] device
[    5.312315] systemd-fsck[1335]: fsck failed with error code 16.
[    5.312322] systemd-fsck[1335]: Ignoring error.
[    5.320895] systemd-fsck[1344]: Emergency help:
[    5.323447] systemd-fsck[1344]: -p                   Automatic repair (no questions)
[    5.325841] systemd-fsck[1344]: -n                   Make no changes to the filesystem
[    5.328317] systemd-fsck[1344]: -y                   Assume "yes" to all questions
[    5.336325] systemd-fsck[1344]: -c                   Check for bad blocks and add them to the badblock list
[    5.338879] systemd-fsck[1344]: -f                   Force checking even if filesystem is marked clean
[    5.341557] systemd-fsck[1344]: -v                   Be verbose
[    5.345369] systemd-fsck[1344]: -b superblock        Use alternative superblock
[    5.451610] systemd-fsck[1344]: -B blocksize         Force blocksize when looking for superblock
[    5.454516] systemd-fsck[1344]: -j external_journal  Set location of the external journal
[    5.457696] systemd-fsck[1344]: -l bad_blocks_file   Add to badblocks list
[    5.460924] systemd-fsck[1344]: -L bad_blocks_file   Set badblocks list
[    6.145793] systemd-vconsole-setup[1340]: /bin/setfont failed with error code 1.
</pre>
<p>I guess you agree, that it doesn&#8217;t make much sense to tune something, which throws errors and warnings <img src='http://jeanbruenn.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Let&#8217;s go through it step by step:</p>
<p><b>[    2.943944] systemd[1]: No hostname configured.</b></p>
<p>Notice: Fix committed to lunar.</p>
<pre>root@localhost / # echo "lunar" > /etc/hostname
root@localhost / # </pre>
<p><b>[    2.945344] systemd[1]: Cannot open /etc/machine-id: No such file or directory</b></p>
<p>Notice: Fix committed to Lunar</p>
<pre>
root@localhost / # systemd-machine-id-setup
Initializing machine ID from D-Bus machine ID.
root@localhost / # cat /etc/machine-id
e5050307ea0f8ac1cf280a8900000010
</pre>
<p><b>the ext4 fsck error</b></p>
<p>This one is somewhat special, basically you can find out by looking at the source of systemd (src/fsck.c) that systemd-fsck uses a few parameters, for example: -T and -M. Both aren&#8217;t available in fsck.ext4. That&#8217;s causing the error. So there are two options:</p>
<ul>
<li>patch systemd</li>
<li>write a wrapper for fsck.ext4 (e2fsprogs)</li>
</ul>
<p><b>systemd-&#8230;-clean.service loaded failed failed        Cleanup of Temporary Directories</b></p>
<p>Notice: Fix committed to Lunar</p>
<p>This happens because the systemd devs or the systemd dev wrongly assumed that there&#8217;s a &#8220;lock&#8221;-group on every linux-installation. At least that&#8217;s not the case for lunar. Simply changing group &#8220;lock&#8221; to &#8220;root&#8221; in:</p>
<p>/usr/lib/tmpfiles.d/legacy.conf</p>
<p>will do the job.</p>
<p><b>The SYSV-Stuff</b></p>
<p>I&#8217;m just re-installing systemd now and saying &#8220;no&#8221; to sysv-compat because I&#8217;ve set the hostname and there&#8217;s no interesting sysv-init script anymore which needs to be started.</p>
<p><b>Let&#8217;s see what I get after rebooting:</b></p>
<pre>wdp@lunar ~ $ systemd-analyze
Startup finished in 3101ms (kernel) + 8333ms (userspace) = 11435ms</pre>
<p>So, you can see, there are some fluctuations at the kernel time (between 2,9 and 3,1) however, in userspace we&#8217;ve got an time improvement of 0,9 (so, nearly a second). And, just to point that out again: This is <b>WITH</b> <b>LOADED</b> x11 and network.</p>
<p>Let&#8217;s continue to fix stuff:</p>
<p><b>[    4.173874] systemd[1]: Cannot add dependency job for unit console-kit.service, ignoring: Unit console-kit.service failed to load: No such file or directory. See system logs and &#8216;systemctl status console-kit.service&#8217; for details.</b></p>
<p>Notice: Fix committed to Lunar</p>
<p>This issue is caused by a missing option in our build script of console-kit. I already committed a fix for this.</p>
<p><b>[    6.397777] systemd-vconsole-setup[1338]: /bin/setfont failed with error code 1.</b></p>
<p>This one can be ignored. In my case (and if you see it, most likely in your case, too) this is caused by me using ati-kms, so setfont can&#8217;t change the fonts.</p>
<h2>Tuning of services</h2>
<p>Alright, in the first part of this article I optimized the kernel to waste less time. In the second part I was fixing problems with our systemd integration in Lunar Linux and various services. The next part would be about tuning the services itself properly. Tho I&#8217;ll  write a new article for that.</p>
<p>Last state btw:</p>
<p>wdp@lunar ~ $ systemd-analyze<br />
Startup finished in 3085ms (kernel) + 7333ms (userspace) = 10418ms</p>
<p>i.e. boot with x11 and networking fully working, in 10 seconds.</p>
]]></content:encoded>
			<wfw:commentRss>http://jeanbruenn.info/2011/08/06/boot-times/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lunar Linux: Systemd &amp; Connman</title>
		<link>http://jeanbruenn.info/2011/08/04/lunar-linux-systemd/</link>
		<comments>http://jeanbruenn.info/2011/08/04/lunar-linux-systemd/#comments</comments>
		<pubDate>Thu, 04 Aug 2011 14:57:53 +0000</pubDate>
		<dc:creator>Jean</dc:creator>
				<category><![CDATA[lunar linux]]></category>

		<guid isPermaLink="false">http://jeanbruenn.info/new/?p=734</guid>
		<description><![CDATA[this article has moved to my dev blog]]></description>
			<content:encoded><![CDATA[<p><a href="http://wdp.blogs.lunar-linux.org/2011/08/04/systemd-connman/">this article has moved to my dev blog</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jeanbruenn.info/2011/08/04/lunar-linux-systemd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lunar Linux: Cookbook &#8211; Or: How to install.</title>
		<link>http://jeanbruenn.info/2011/07/30/lunar-linux-cookbook-or-how-to-install/</link>
		<comments>http://jeanbruenn.info/2011/07/30/lunar-linux-cookbook-or-how-to-install/#comments</comments>
		<pubDate>Sat, 30 Jul 2011 10:30:13 +0000</pubDate>
		<dc:creator>Jean</dc:creator>
				<category><![CDATA[lunar linux]]></category>

		<guid isPermaLink="false">http://jeanbruenn.info/new/?p=710</guid>
		<description><![CDATA[There are always some users unable to install Lunar Linux. Usually I&#8217;m telling them &#8220;you&#8217;re doing something wrong then&#8221; &#8211; I know, this isn&#8217;t very helpful, but on the contrary we&#8217;re mainly talking about users using unsupported optimizations. And as long as a user thinks he knows more or better than a developer, a developer [...]]]></description>
			<content:encoded><![CDATA[<p>There are always some users unable to install Lunar Linux. Usually I&#8217;m telling them &#8220;you&#8217;re doing something wrong then&#8221; &#8211; I know, this isn&#8217;t very helpful, but on the contrary we&#8217;re mainly talking about users using unsupported optimizations. And as long as a user thinks he knows more or better than a developer, a developer won&#8217;t be able to help.</p>
<p>However. I thought it might be useful to show new users how to install Lunar Linux. This is an unofficial guide made by me (wdp) and other people might disagree with the way I&#8217;m doing that installation: Still my lunar works, yours, too? <img src='http://jeanbruenn.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  I used exactly this guide for two installations, 64bit on an intel notebook, 32bit on an netbook.</p>
<p><span id="more-710"></span></p>
<p>Before you even think about installing Lunar Linux you have to make two decisions. The first decision is the most important one:</p>
<h2>Do you really want to install Lunar Linux?</h2>
<p>Lunar Linux is a very nice distribution once you installed it correctly, because you can do a lot of nice things with it. For example: Unlike other distributions every user can submit updates and improvements for modules (packages). They&#8217;re reviewed by some developers and if everything is fine they&#8217;re going into our git repositories and thus into the official moonbase. You can write your own modules very easily and all you need to know about is a little bit of bash. A basic module needs just one file.</p>
<p>Still, Lunar Linux is made for experienced or, let&#8217;s call em&#8217; advanced Linux users. So if you start with Lunar we assume that you know about Linux, you know about compiling. Your two years Ubuntu experience won&#8217;t help you. That&#8217;s not because Lunar or Ubuntu is bad or something. Lunar is just not made for the usual user &#8211; It&#8217;s made for advanced users. If you want to learn about Linux &#8211; Try it and don&#8217;t give up. If you just want something which works easily without going in-depth into how Linux works &#8211; Don&#8217;t try it. If you&#8217;re too lazy to fix things yourself &#8211; Don&#8217;t try it.</p>
<p><b>Personal notice</b>: I started with Lunar Linux ago ca 7-8 years with just a little bit of experience with source-based systems (i.e. after setting up Linux-From-Scratch three times without success) it took me 3 weeks to get Lunar working and I personally think it was the best choice I ever made and it was worth all the work. It&#8217;s a bit annoying that I cannot use Lunar Linux on a productive server environment (things might break, the risk is too high) however, locally all my boxes including my netbook and my fileserver, run Lunar.</p>
<p>The next decision you have to take is:</p>
<h2>Should I go for 32bit or for 64bit?</h2>
<p>Lunar Linux is not multilib. That means you can&#8217;t run 32bit applications within your 64bit installation. That means if you need to run things like teamviewer, Skype, wine (? I heard there&#8217;s a 64bit module, not sure whether it can run 32bit apps, tho), VirtualBox (at least not in Lunar), firefox-bin (you have to compile it from source) or teamspeak, you should either go for 32bit or you&#8217;ll later need a virtual-environment or a 32bit-chroot. A virtual-environment and a 32bit-chroot means handling two systems (your 64bit plus your 32bit system) which might be a lot of work.</p>
<p>On the contrary: Every day more and more applications run in 64bit, the handful of remaining apps will follow soon. Some things NEED 64bit urgently. For example: If you want to play around with zfsonlinux, you&#8217;ll need (believe me, even if it should work in 32bit mode, you REALLY want ..) a 64bit system. However: Take your decision wisely.</p>
<h2>Stuff you need to do before installing Lunar Linux</h2>
<p>Before you can start to install Lunar Linux, you obviously need some media with the ISO. There are a few guides in our wiki how to create something like that. However. As I&#8217;m assuming you&#8217;re an experienced Linux user I won&#8217;t tell you how. Instead I&#8217;m linking to some useful guides:</p>
<ol>
<li><a href="http://wiki.lunar-linux.org/index.php/Lunar_Linux:Installation-1.6.5">This is the official guide for Installation of the current Lunar Linux.</a></li>
<li><a href="http://wiki.lunar-linux.org/index.php/Installation:Software_Raid">This is a quite old guide for Installation on Software Raid &#8211; Maybe I&#8217;ll find time to write a more up-to-date one, soon.</a></li>
<li><a href="http://wiki.lunar-linux.org/index.php/Installation:No_CD">Some old guide about NO-CD installations</a></li>
<li><a href="http://wiki.lunar-linux.org/index.php/Installation:No_network">and of course the NO-NETWORK installation</a></li>
</ol>
<p>So I assume, you already burned the ISO or placed it onto your USB Stick and we can start to do the installation. Let&#8217;s see <img src='http://jeanbruenn.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>Step 1 &#8211; The Installer</h2>
<p>At the boot-prompt you can see a few options. Just press ENTER as shown in the following graphic:<br />
<a rel="lightbox[]" href='http://jeanbruenn.info/wp-content/gallery/lunar/lunar_screen1.png' title=''><img src='http://jeanbruenn.info/wp-content/gallery/lunar/thumbs/thumbs_lunar_screen1.png' alt='lunar_screen1' class='ngg-singlepic ngg-none' /></a><br />
Then you can wait or press space, as shown in the following graphic:<br />
<a rel="lightbox[]" href='http://jeanbruenn.info/wp-content/gallery/lunar/lunar_screen2.png' title=''><img src='http://jeanbruenn.info/wp-content/gallery/lunar/thumbs/thumbs_lunar_screen2.png' alt='lunar_screen2' class='ngg-singlepic ngg-none' /></a><br />
Now you should be within the real installer, as shown here:<br />
<a rel="lightbox[]" href='http://jeanbruenn.info/wp-content/gallery/lunar/lunar_screen3.png' title=''><img src='http://jeanbruenn.info/wp-content/gallery/lunar/thumbs/thumbs_lunar_screen3.png' alt='lunar_screen3' class='ngg-singlepic ngg-none' /></a><br />
Press Enter and read the &#8220;introduction into lunar-linux&#8221; or press &#8220;One step forward&#8221;.</p>
<h3>Step 1.1 # Step 2 of 15</h3>
<p>You should know &#8220;Select a keyboard map&#8221;. I have a German keyboard so I&#8217;m selecting: de-latin1-nodeadkeys.map.gz. Now &#8220;Select a console font&#8221; &#8211; The default one (already chosen) is fine &#8211; So just press Enter again and continue by pressing &#8220;Set global language&#8221;.</p>
<p><b>Suggestion</b>: I personally prefer to have an English Linux system. And if you want to get help later it might be useful if you have it English, also. On the contrary you can do: export LANG=en_US before starting an application and you&#8217;ll have it English, also. So it really doesn&#8217;t matter much what you choose here. I choose en_US.</p>
<p>Now &#8220;Select a default editor&#8221; &#8211; I&#8217;m preferring vi. Let&#8217;s go on by pressing &#8220;One step forward&#8221;</p>
<h3>Step 1.2 # Step 3 of 15</h3>
<p>Partition your disc. If you have absolutely no clue how to partition a Linux-system here&#8217;s my suggestion:</p>
<pre>100 MB /boot ext4
2-4 GB swap
10-20 GB / ext4
rest /home ext4</pre>
<p><b>Lemme explain why</b>: If you ever plan on re-installing lunar Linux or another Linux system, you just have to replace the 10-20 GB / (root) partition. I.e. you don&#8217;t lose your /home data. That&#8217;s why keeping /home separated from / is usually a good thing. Having /boot separated from / is just a thing I&#8217;m doing since i started with Linux, I just prefer it that way. In the earlier days people said swap should be twice as much as your ram. That means on your 512 MB Ram netbook you&#8217;d go with 1 GB swap. On your 2 GB desktop you would go with 4 GB swap. On my 12 GB Desktop I&#8217;d go with 24 GB swap &#8211; And obviously this is NOT needed. A useful amount of ram is in my humble opinion between 2 and 4 GB. Especially if you just have 512 MB Ram: Because: Nowadays applications use more and more memory, the less you have, the more swap you need. If you want to compile large things like openoffice-src you&#8217;ll need a large amount of memory, so going with a 4 GB swap isn&#8217;t a bad thing &#8211; If you&#8217;re lucky it&#8217;ll never get used anyway.</p>
<p><b>Suggestion</b>: A full working Lunar Linux with X11 and Documentation, eats ca. 11 GB. When you&#8217;re compiling stuff from Source, depending on the module it&#8217;ll need a few GB more. That means: 10 GB is _not_ enough in such cases:</p>
<pre>
wdp@localhost ~ $ df -hT
Filesystem     Type   Size  Used Avail Use% Mounted on
/dev/sda1      ext4    23G   11G   12G  48% /
/dev/sda5      ext4   185G  1.4G  181G   1% /home
</pre>
<p>The next Step &#8220;Select target partitions&#8221; should be clear. As above.</p>
<h3>Step 1.3 # The last steps</h3>
<p>Now you&#8217;re ready to go through the installer alone. Press &#8220;install lunar&#8221;, don&#8217;t configure compiler optimizations yet, install boot-loader, install a pre-compiled kernel, set your root password, setup hostname and networking, no need to administrate services yet; you can do that later using &#8220;lservices&#8221;, create the SSH server keys, select a timezone and so on. After you&#8217;re ready &#8211; Reboot.</p>
<h2>Step 2 &#8211; Your first boot</h2>
<p>The first thing to do after you booted up, is configuring your lunar a bit. But first, do the following:</p>
<pre>lin moonbase; lin theedge</pre>
<p>It will ask you a few questions, which you can answer like this:</p>
<ul>
<li>lunaric sound -> no</li>
<li>makedev -> no</li>
<li>cvs -> no</li>
<li>subversion -> no</li>
</ul>
<h3>Step 2.1 &#8211; Some words about optimizations</h3>
<p><b>Suggestion</b>: The Safe-Optimizations are there for a reason, not just for fun. Even if you&#8217;ve seen some optimizations work fine at a specific distribution those might not work fine at Lunar Linux. For example another dev had a serious issue with his apps and I told him it&#8217;s due to the SSE optimizations. He didn&#8217;t believe me. A few hours later it turned out that I was correct. All his trouble was caused by SSE optimizations; which worked fine in another distribution. Same to say about CPU optimizations. And same for -Os. -Os for example doesn&#8217;t work for glibc. There are known bug reports. To compile glibc successfully you have to use -O2.</p>
<p><b>Suggestion</b>: If you go for SSE optimizations, don&#8217;t use mfpmath=both. Either use mfpmath SSE or 387 or none but never both.</p>
<p><b>Suggestion</b>: If you want to compile your system with -Os type in lunar optimize and set -Os, then type in lin -cr gcc, then type in lunar optimize and set -O2, then type in lin -cr glibc; then type in lunar optimize and set it to -Os again and compile your other apps. Basically: Just switch to -O2 if you compile glibc. For everything else, let it at -Os.</p>
<p><b>Warning</b>: Don&#8217;t use GCC Optimizations, because a) nobody at Lunar Linux will support installations done with them b) they **can** and **will** break things.</p>
<p>As you can see, there are a lot of possibilities to break your system using optimizations. Also, if you plan on migrating your lunar Linux installation from one box to another (cause you&#8217;re using some virtualization or you got a new PC) you want to make sure that you won&#8217;t use &#8220;native&#8221; as CPU optimization. Because if native optimizes the compiles for a amd k8 sse3, your apps might not run on the new box, except the new box has the same, or a newer CPU supporting all optimizations which native used. Once again: Use the safe optimizations except you know what you&#8217;re doing.</p>
<h3>Step 2.2 &#8211; My optimizations</h3>
<ul>
<li><b>lunar optimize</b>
<ul>
<li>CCACHE
<ul>
<li>yes</li>
</ul>
</li>
<li>GCC 4_4
<ul>
<li>default</li>
<li>Safe (no) you really should set this to YES (which is the default</li>
<li>bopt (-Os) the safest choice here is -O2</li>
<li>cpu (core2)</li>
<li>xtra (mmx, sse, sse3, ssee3)</li>
<li>spd (none)</li>
<li>fpm (sse)</li>
<li>general (deprecated, pipe)</li>
<li>stack (empty)</li>
</ul>
</li>
<li>GNU_LD
<ul>
<li>strip</li>
<li>optimize</li>
<li>reduce might not be safe</li>
</ul>
</li>
<li>GNU_MAKE
<ul>
<li>number of your cpus and or cores (2 here)</li>
</ul>
</li>
<li>wrappers
<ul>
<li>yes</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3>Step 2.3 &#8211; Other options</h3>
<p>There are various other options which might be useful for you. Here you can see the options I use:</p>
<ul>
<li><b>lunar</b>
<ul>
<li>Option
<ul>
<li>download options
<ul>
<li>number of retries &#8211; 1</li>
<li>exhaustive mirrors &#8211; enable</li>
</ul>
</li>
<li>admins email
<ul>
<li>.. fill in :p</li>
</ul>
</li>
<li>feature menu
<ul>
<li>enable verbose</li>
<li>enable zlocal_overrides</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3>Step 2.4 &#8211; Create a clean &#8211; core &#038; Update the system</h3>
<p>Lunar Linux is source-based which means that it will compile everything instead of using binary-packages (with a few exceptions, for example firefox-bin and openoffice-bin. Binaries are &#8220;usually&#8221; marked with a &#8220;-bin&#8221;) &#8211; However. To make sure, everything will compile fine, your &#8220;core&#8221; should be optimized for your environment.</p>
<p>The proper way to do so is (in my humble opinion) </p>
<p>Install gcc and run lunar-optimize afterwards to select the new GCC as default (i.e. GCC_4_5 instead of GCC_4_4) &#8211; Also, if you use -Os you have to switch from -Os to -O2 (after you compiled gcc) because glibc wants -O2.</p>
<pre>
lin -cr gcc
	-> additional compiler languages? no
	-> cloog-ppl? no
	-> libelf? no
</pre>
<pre>
lunar optimize
	-> set new gcc as default, switch from -Os (small) to -O2 (faster)
</pre>
<p>Now you can install glibc</p>
<pre>lin -cr glibc
	-> glibc -> select locales -> no
	-> perl -> custom configuration -> no
	-> perl -> gdbm -> no
</pre>
<p>If you were using -Os you can switch back to it now.</p>
<pre>
lunar optimize
	-> switch from -O2 (faster) to -Os (small)
</pre>
<p>And now we&#8217;ll continue with the core:</p>
<pre>lin -cr gcc bash coreutils tar wget
	-> gcc: additional languages? no
	-> gcc: cloog-ppl? yes
	-> gcc: libelf? yes
	-> coreutils: native language? yes
	-> tar: pbzip2? yes
	-> tar: lzip? yes
	-> wget: openssl? yes
	-> openssl: ca-certificates? whatever you want
	-> wget: gettext? yes
</pre>
<p>Done. Verify that everything works. A broken &#8220;gcc&#8221; will break your whole system. If everything is fine, you can continue by installing three applications:</p>
<pre>lin -cr git subversion theedge</pre>
<p>Lunar fetches some packages from git and svn. Let&#8217;s make sure we have those apps installed and theedge knows about them:</p>
<pre>
    git:            build docs?      yes
    git:            cvsps:           yes
    git:            tk:              no
    neon:           expat:           yes
    neon:           libproxy:        no
    apr-util:       openldap:        no
    apr-util:       mysql:           no
    apr-util:       postgresql:      no
    apr-util:       sqlite:          yes
    apr-util:       db:              yes
    subversion:     cyrus-sasl:      no
    subversion:     swig:            no
    subversion:     sun-jdk:         yes
    theedge:        lunaric-sound:   no
    theedge:        makedev:         no
    theedge:        cvs:             yes
    theedge:        subversion:      yes
</pre>
<p>Now it&#8217;s time to update by issuing:</p>
<pre>lunar renew</pre>
<p>Just to give you an idea how I install my system:</p>
<pre>
    ncurses:        profiling libraries:          no
    ncurses:        debug libraries:              no
    e2fsprogs:      enable compression support:   yes
    e2fsprogs:      enable directory hashing:     yes
    glib-2:         build docs:                   yes
    udev:           do you want me to wipe...:    yes
    udev:           enable disk edd support:      yes
    slang:          build static library:         no
    slang:          libpng:                       yes
    slang:          pcre:                         yes
    slang:          onig:                         no
    dbus:           invoke messagebus at boot:    yes
    dbus:           install &#038; use libX11:         no (not NOW)
    bzip2:          large file support:           yes
    links:          enable graphics mode:         yes
    links:          with framebuffer:             yes
    links:          libpng:                       yes
    links:          svgalib:                      no (usually broken)
    links:          directFB:                     no
    links:          tiff:                         yes
    tiff:           libjpeg-turbo:                yes
    tiff:           zlib:                         yes
    tiff:           jbigkit:                      yes
    links:          libjpeg-turbo:                yes
    links:          gpm:                          yes
    gpm:            invoke at boot:               yes
    links:          openssl:                      yes
    links:          bzip2:                        yes
    links:          zlib:                         yes
    rsync:          invoke rsync via xinetd:      no
    rsync:          use acl:                      yes
    rsync:          use attr:                     yes
    iptables:       invoke iptables at boot:      yes
    groff:          netpbm:                       yes
    libxml2:        Python:                       yes
    Python:         gdbm:                         no
    Python:         sqlite:                       yes
    sqlite:         threadsafe operation:         yes
    sqlite:         secure delete operations:     yes
    sqlite:         loadable extensions:          yes
    sqlite:         unlock notify:                yes
    sqlite:         readline:                     yes
    netpbm:         zlib:                         yes
    netpbm:         libjpeg-turbo:                yes
    netpbm:         tiff:                         yes
    netpbm:         libX11:                       no (not NOW)
    netpbm:         svgalib:                      no (usually broken)
    netpbm:         libpng:                       yes
    netpbm:         jasper:                       yes
    jasper:         libjpeg-turbo:                yes
    jasper:         freeglut:                     no
    netpbm:         jbigkit:                      yes
    groff:          psutils:                      yes
    lcms:           libjpeg-turbo:                yes
    lcms:           tiff:                         yes
    lcms:           Python:                       yes
    ghostscript:    jasper:                       yes
    ghostscript:    jbig2dec:                     yes
    ghostscript:    freetype2:                    yes
    ghostscript:    fontconfig:                   yes
    fontconfig:     build docs:                   yes
    ghostscript:    libidn:                       yes
    ghostscript:    gtk+-2:                       no (not NOW)
    ghostscript:    XOrg7:                        no (not NOW)
    ghostscript:    ijs:                          no
    ghostscript:    cups:                         no
    ghostscript:    libpaper:                     yes
    less:           large file support:           yes
    mc:             slang:                        yes
    mc:             antiword:                     yes
    mc:             catdog:                       yes
    catdoc:         tk:                           no
    mc:             odt2text:                     yes
    mc:             gpm:                          yes
    grep:           perl regex:                   yes
    grep:           large file support:           yes
    grep:           nls:                          yes
    iproute2:       db:                           yes
    db:             build docs:                   yes
    db:             tcl:                          no
    db:             sun-jdk:                      yes
    lftp:           NLS:                          yes
    lftp:           openssl:                      yes
    man:            output unicode:               yes
    rsyslog:        invoke at boot:               yes
    rsyslog:        zlib:                         yes
    rsyslog:        mysql:                        no
    rsyslog:        postgresql:                   no
    rsyslog:        libdbi:                       no
    rsyslog:        heimdal:                      no
    rsyslog:        net-snmp:                     yes
    net-snmp:       invoke at boot:               yes
    net-snmp:       enable ipv6:                  yes
    net-snmp:       perl:                         yes
    rsyslog:        librelp:                      no
    rsyslog:        gnutls:                       no
    rsyslog:        systemd:                      no (not NOW)
    nfs-utils:      invoke at boot:               yes
    libevent:       openssl:                      yes
    linux-2.6:      xconfig:                      no
    linux-2.6:      menuconfig:                   yes
    linux-2.6:      configure linux kernel:       no (not NOW)
    cronie:         invoke crond at boot:         yes
    cronie:         inotify:                      yes
    bash_static:    set to default shell of root: no
</pre>
<p>That was it. Wasn&#8217;t much eh? Time for a coffee now. As soon as this is finished, you&#8217;ve got a up-to-date base-installation of lunar linux optimized for your environment / according to your optimizations. Verify that your bootloader is okay and reboot to have the new kernel in-use. Right after rebooting make sure your updated system is &#8220;clean&#8221; by issuing:</p>
<p>&#8220;lunar fix&#8221;</p>
<p><b>Suggestion</b>: if you see that your compiles go wrong because of some gcc message like &#8220;cannot create executables&#8221; your GCC is broken. Thats the first sign of using wrong optimizations. Review your optimizations, try less, and re-compile the core. i.e. &#8216;lin gcc glibc gcc bash coreutils tar wget&#8217; after doing so, try again to compile the application which failed. I noticed this one at subversion, with an SSE optimized core.</p>
<h3>Step 2.5 &#8211; Installation of X11</h3>
<p>As you might remember, there were a few modules at which I wrote &#8220;not NOW&#8221;. Now it&#8217;s time to pick them:</p>
<pre>lin -cr dbus netpbm ghostscript</pre>
<h3>Step 2.6 &#8211; Installation of useful applications</h3>
<p>Suggestion: Even if possible, don&#8217;t try to install KDE, Gnome, Fluxbox or anything else at this stage. This might work fine, but most people in lunar Linux (especially from a developer-point-of-view) are using xfce4, thus this is well developed. Thus if you install xfce4 first, many of the &#8220;needed&#8221; dependencies for a working environment are installed automatically. Which might not happen when you install something else. You can still replace your WM afterwards. For now, to get a working x-environment, just go on with xfce4. I&#8217;m installing it this way:</p>
<pre>lin -cr XOrg7 xfce4-session xfce4</pre>
<p><b>Step 3 &#8211; Finished</b></p>
<p>That was it. Now start lin&#8217;ing everything you need. For example mplayer, minitube, bluefish, firefox, pidgin. Or take a look at Step 4. Maybe there&#8217;s an interesting Modification for your personal Lunar Linux.</p>
<h2>Some general Tips</h2>
<p><strong>gobject-introspection</strong>: Either always say yes or always say no. Don&#8217;t mix them. Because if you do, you&#8217;ll end up with a broken environment.</p>
<p><strong>babl</strong>: If you try to install babl, and it doesn&#8217;t work because of some weird error that it couldn&#8217;t find babl.pc (some gobject-introspection stuff) do: lrm gobject-introspection &#038;&#038; lin babl &#038;&#038; lin gobject-introspection &#038;&#038; lin babl That should solve your issue.</p>
]]></content:encoded>
			<wfw:commentRss>http://jeanbruenn.info/2011/07/30/lunar-linux-cookbook-or-how-to-install/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lunar Linux: Getting rid of hal</title>
		<link>http://jeanbruenn.info/2011/07/29/lunar-linux-getting-rid-of-hal/</link>
		<comments>http://jeanbruenn.info/2011/07/29/lunar-linux-getting-rid-of-hal/#comments</comments>
		<pubDate>Fri, 29 Jul 2011 11:50:25 +0000</pubDate>
		<dc:creator>Jean</dc:creator>
				<category><![CDATA[lunar linux]]></category>

		<guid isPermaLink="false">http://jeanbruenn.info/new/?p=706</guid>
		<description><![CDATA[this article has moved to my dev blog]]></description>
			<content:encoded><![CDATA[<p><a href="http://wdp.blogs.lunar-linux.org/2011/07/29/updating-old-lunar-installations-getting-rid-of-hal/">this article has moved to my dev blog</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jeanbruenn.info/2011/07/29/lunar-linux-getting-rid-of-hal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu my first experience</title>
		<link>http://jeanbruenn.info/2011/07/22/ubuntu-my-first-experience/</link>
		<comments>http://jeanbruenn.info/2011/07/22/ubuntu-my-first-experience/#comments</comments>
		<pubDate>Fri, 22 Jul 2011 11:33:46 +0000</pubDate>
		<dc:creator>Jean</dc:creator>
				<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://jeanbruenn.info/new/?p=684</guid>
		<description><![CDATA[Recently I wrote an Article about my first experience with Kubuntu, which is, as i understood, Ubuntu + KDE. This time, I&#8217;m taking a look at Ubuntu. Alright. The Installer is as easy as at Kubuntu (Surprise, Surprise) differences are: The time is shown correctly this time (Oo). I&#8217;m at the partitioning screen and I&#8217;m [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I wrote an Article about my first experience with Kubuntu, which is, as i understood, Ubuntu + KDE. This time, I&#8217;m taking a look at Ubuntu.</p>
<p><span id="more-684"></span></p>
<p>Alright. The Installer is as easy as at Kubuntu (Surprise, Surprise) differences are: The time is shown correctly this time (Oo). I&#8217;m at the partitioning screen and I&#8217;m setting the following partitions:</p>
<pre>
    /dev/sda1     ext4    /boot        98 MB p
    /dev/sda2     swap    swap       4095 MB p (should have been 4096)
    /dev/sda3     ext4    /         10240 MB p
    /dev/sda5     ext4    /home    499998 MB l
    Free Space:                    485769 MB
</pre>
<p>I pretty like that Installation stuff, as I already wrote at the Kubuntu Article, the only thing I&#8217;m missing is a  network settings dialog, at least optional. At a first look, there are also no translation mistakes in the install-screens.</p>
<p><strong>The first boot</strong></p>
<p>Was working without trouble. <img src='http://jeanbruenn.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Well, it&#8217;s very fast up. They did a real good Job there. Network configuration was easy and worked fine. First update worked without trouble, too. I just installed some apps, configured email. Everything works fine so far, even the translations. I really have nothing bad to say, yet. Maybe the graphic glitches of the login/logout screen, which are caused by the driver (tho thats not ubuntu&#8217;s fault).</p>
<p><strong>Improving</strong></p>
<p>Well there&#8217;s a good guide here: <a href="http://wiki.ubuntuusers.de/tuning">wiki.ubuntuusers.de/tuning</a> for the german users reading this. In simple:</p>
<ol>
<li>Switching from getty to fgetty</li>
<li>Modifying /etc/fstab
<ol>
<li>&#8230;to use /tmp as tmpfs</li>
<li>&#8230;to have tmpfs in /dev/shm (for later use with qemu, iirc also skype uses that)</li>
<li>&#8230;to set &#8220;noatime&#8221; everywhere except for /home where i set relatime</li>
</ol>
</li>
<li>Tuning the filesystem a bit using tune2fs</li>
<li>Disabled graphical effects</li>
</ol>
<p><strong>The second day</strong></p>
<p>Hehe. I can compare the ubuntu installation only with other distributions as I never used Ubuntu before; Also I never used Gnome, so I can compare that only to xfce4. Please keep that in mind, if i do comparisations <img src='http://jeanbruenn.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><b>Problem #1</b></p>
<p>Compared to Lunar with xfce4, Ubuntu has probably some issue with XOrg or Gnome, regarding XOrg and Nautilus. If I take a look at my Lunar Linux (xfce4) installations I notice the following:</p>
<pre>
    Idle                          :     0% XOrg cpu usage
    Moving the mouse very fast    :     8% XOrg cpu usage
</pre>
<p>If I take a look at Ubuntu (effects disabled: so no compiz. Not using unity. glxinfo | grep render doesn&#8217;t show Software Rasterizer. ATI KMS) I notice the following:</p>
<pre>
    Idle                          :     0% XOrg cpu usage
                                        0% Nautilus cpu usage
    Moving the mouse very fast    : 15-25% XOrg cpu usage
                                    15-25% Nautilus cpu usage
</pre>
<p>So if you sum that up and if you imagine playing a game where you need to move the mouse a lot and very fast (i.e. some fast paced ego shooter) you&#8217;ll end up with 30-50% CPU usage just by using the mouse. (This is only half true because I haven&#8217;t checked (yet) whether this happens also if you&#8217;re ingame &#8211; However, 30-50% cpu usage caused by nautilus+xorg together just by moving the mouse real fast seems very weird to me)</p>
<p>Whats causing that, and what I can do against that, I really have no idea; I already asked on the #ubuntu irc freenode channel where a handful of people tried to help me (thanks!) but I&#8217;m just able to limit the load not to solve the root-issue. For example my above improvements caused the cpu usage to go down to ~11% for each xorg and nautilus (so ~20% CPU usage now, when moving the mouse real fast) if I ignore nautilus, we&#8217;d talk about 8 to 10% which I&#8217;d take as normal and thus I guess it&#8217;s a problem with nautilus. </p>
<p>If I change the mouse polling to 500hz (in games I&#8217;m used to use 500hz to 1000hz, especially with fast paced ego shooters &#8211; And on the other box where I have 8% xorg load I&#8217;m using 1000hz) I get the following result:</p>
<pre>
    Idle                          :     0% XOrg cpu usage
                                        0% Nautilus cpu usage
    Moving the mouse very fast    :    50% XOrg cpu usage
                                       17% Nautilus cpu usage
</pre>
<p>What the&#8230; 67% cpu usage just for moving the mouse? I&#8217;m using a razer abyssus, it&#8217;s an usb gaming mouse. On the backside of it, you can set 125hz and 1000hz. If I turn the switch from 1000hz to 125hz all is fine &#8211; Maximal cpu usage of XOrg is at 5%. I can still adjust the polling rate in linux manually (I know how, I&#8217;m not sure how to verify that the mouse is driven using that polling rate) </p>
<p>However, it&#8217;s quite weird because you&#8217;re searching for some &#8220;graphical&#8221; issue and it turns out it was a usb/mouse driver issue or the mouse itself.</p>
<p><b>Problem #2</b></p>
<p>This one was very difficult to spot. And I did a lot of things, to try to come around this. It was very good that I had this issue, because of that I did a lot more with Ubuntu than I planned to do. Alright. The problem: While loading Ubuntu, while shutting down Ubuntu, while the screensaver starts and when the visualization plugin of rythmbox starts, the Screen is flickering. The Graphiccard is an ati x1200 series (r300) on board. First I tried to disable compiz. Then I tried to upgrade from LTS to 10.10, then I tried to update from 10.10 to the latest. Then I tried a newer Kernel. At all Variants I tried with xorg.conf and without, with various settings (and as already wrote, with and without compiz) nothing of that was solving the issue. So I added the experimental repository of xorg/mesa etc to ubuntu&#8217;s source stuff and tried to use that (i.e. i tried to use Galium) &#8211; this reduced the flickering, it was still around, tho.</p>
<p>After reading hundreds of pages, because people having a lot trouble with such cards and opened a lot of bugreports I found the cause and a fix.</p>
<p>Basically some app is querying randr to get the monitors. This causes the flicker. You can reproduce that by issuing &#8220;xrandr&#8221;. If your screen flickers &#8211; You&#8217;ve got the same issue. You can stop that behavior by issuing:</p>
<pre>xrandr --output <output> --set "load detection" 0</pre>
<p>Where &#8220;<output>&#8221; should be replaced by the correct output, obviously. In my case that&#8217;s &#8220;VGA-0&#8243;. And no, this didn&#8217;t solve the issue &#8211; Because there&#8217;s another output which got queried. S-Video. Issuing</p>
<pre>xrandr --output S-Video --set "load detection" 0</pre>
<p>finally solved the issue. No more flickering. You can check which outputs you have, and whether load detection is enabled by issuing:</p>
<pre>xrandr --verbose | egrep ^[A-Z]\|load\|CRT</pre>
<p>it&#8217;ll output something like:</p>
<pre>
Screen 0: minimum 320 x 200, current 1280 x 800, maximum 8192 x 8192
LVDS connected 1280x800+0+0 (0x55) normal (normal left inverted right x axis y axis) 331mm x 207mm
        CRTC:       0
        CRTCs:      0 1
DIN disconnected (normal left inverted right x axis y axis)
        CRTCs:      0 1
        load detection: 1 (0x00000001)  range:  (0,1)
VGA-0 disconnected (normal left inverted right x axis y axis)
        CRTCs:      0 1
        load detection: 1 (0x00000001)  range:  (0,1)
DVI-0 disconnected (normal left inverted right x axis y axis)
        CRTCs:      0 1
        load detection: 1 (0x00000001)  range:  (0,1)
</pre>
<p>This is on another box, tho you can see quite easily where &#8220;load detection&#8221; is enabled (1) and exactly that was causing the flicker. You can find <a href="https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-ati/+bug/410401">more information about that by reading this link</a>.</p>
<p><strong>My Conclusion so far?</strong></p>
<p>Well, everything works as it should. I got good and friendly help on the #ubuntu channel, I found a lot of useful information while googleing about ubuntu&#8230; So far, I think I could suggest this distribution to linux beginners with peace of conscience.</p>
<p>Well done.</p>
]]></content:encoded>
			<wfw:commentRss>http://jeanbruenn.info/2011/07/22/ubuntu-my-first-experience/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kubuntu my first experience</title>
		<link>http://jeanbruenn.info/2011/07/20/kubuntu-my-first-experience/</link>
		<comments>http://jeanbruenn.info/2011/07/20/kubuntu-my-first-experience/#comments</comments>
		<pubDate>Wed, 20 Jul 2011 17:37:34 +0000</pubDate>
		<dc:creator>Jean</dc:creator>
				<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://jeanbruenn.info/new/?p=669</guid>
		<description><![CDATA[Well. My mom always had issues with her PC running Windows. So I thought it might be a good idea to just install her some nice Linux distribution. I remember that KDE was quite nice ago 12 years and Ubuntu comes with good out-of-the-box functionality. So I thought giving Kubuntu (which would combine that) a [...]]]></description>
			<content:encoded><![CDATA[<p>Well. My mom always had issues with her PC running Windows. So I thought it might be a good idea to just install her some nice Linux distribution. I remember that KDE was quite nice ago 12 years and Ubuntu comes with good out-of-the-box functionality. So I thought giving Kubuntu (which would combine that) a try would be a good idea. In fact I&#8217;m still considering it, tho I&#8217;m a bit disappointed. As you might imagine, my first experience with Kubuntu wasn&#8217;t very good. But lemme tell you about that:</p>
<p><span id="more-669"></span></p>
<p><strong>The Installation</strong></p>
<p>The installation-process is very simple and easy. I&#8217;m quite impressed. However, I&#8217;m missing questions for the Network-Settings and I miss something to correct the date/time. It was just possible to select the timezone, due to the timezone the installer shows &#8220;18:00&#8243; while it&#8217;s in fact 16:00 (or 15:00 if I remember correct) &#8211; The BIOS properly shows the correct time and date, the installer uses a wrong time and I can&#8217;t modify that. Apart from that, the Installer was pretty slow while navigating through next and previous.</p>
<p>Then I stumbled about the first serious issues. I tried to create partitions. We&#8217;re talking about a 1 TB Disc and I wanted to use 500 GB for the Linux Installation. So i just selected / as 500 GB and 4 GB Swap. After Installation, the linux wouldn&#8217;t boot because grub-rescue reports a read error. I haven&#8217;t investigated much into that issue, I just fired up a lunar linux cd, run cfdisk over the disc, deleted all partitions and created new ones (100 MB /boot, 4 GB swap, 500 GB linux). I&#8217;m sure you can do that with the kubuntu CD also (boot the livecd, open a terminal, issue cfdisk /dev/yourdisk). And then after running the Installer again, i just selected my already created partitions. Now everything worked. Quite sad, that the Partitioner of Kubuntu itself seems to have some bugs.</p>
<p>There are also some translation bugs in Kubuntu&#8217;s Installer (I know I do similar errors when writing english, however, for such an official Installer I wouldn&#8217;t expect such sort of spelling issues (on one of the screens, they wrote &#8220;sich&#8221; uppercase (Sich) and &#8220;Ihre&#8221; lowercase (ihre)). Yeah.. Small ones, and most can ignore that. I just noticed it <img src='http://jeanbruenn.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>The first boot and first actions</strong></p>
<p>Not much to say for the boot. Very fast &#8211; I&#8217;m impressed again. However; Now, i&#8217;m trying to get the networking working. I think it&#8217;s time for a coffee because i&#8217;m sitting here a hour now. Of course I&#8217;m able to set the networking using route, ifconfig, wpa_supplicant and iwconfig manually, that&#8217;s no problem. I&#8217;d just be glad if KDE&#8217;s Network Manager would do that for me &#8211; And in fact, it isn&#8217;t. Yet to find out why. I&#8217;m trying to do wlan. I tried it with DHCP, without DHCP.. Nothing works.</p>
<p>Then, just out of curiousity if i press the &#8220;help&#8221; button i get:</p>
<pre>"Die Datei oder der Ordner help:/ existiert nicht."</pre>
<p>Translated: &#8220;The file or directory help:/ doesn&#8217;t exist.&#8221; Plugging in the ethernet cable results in working network. Pity for those who have only wlan available, as they can&#8217;t do anything <img src='http://jeanbruenn.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ))</p>
<p><strong>The second boot</strong></p>
<p>I just updated and after rebooting I tried to run the Updater (KPackageKit) again. Now I&#8217;m getting: &#8220;Ein internet Systemfehler ist aufgetreten&#8221; (An internal systemfailure happened) &#8211; I&#8217;m wondering even more, what Kubuntu calls &#8220;stable&#8221;. However, I&#8217;m getting some python errors when I click &#8220;Details&#8221;.</p>
<p>So I tried to update using apt-get. After issueing that I see that it couldn&#8217;t open anything due to missing connectivity. After trying to find out why, I saw that the issue is caused by the now working wlan, which is used instead of the cable-connection and as I haven&#8217;t allowed the wlan anymore.. this was failing. Dunno why Kubuntu&#8217;s KDE&#8217;s Network Thingy switches from cable-based to not-cable-based setup. But well. De-selecting the &#8220;connect automatically&#8221; checkbox at the wlan and rebooting solves that issue. By the way. I know another Operating-System which does stuff it shouldn&#8217;t&#8230; :p</p>
<p>Ah right. Now the Update-Box (KPackageKit) works again. Maybe some more useful Error-Message like &#8220;DNS not working, Internet Connection not working, whatever not working&#8221; would be cool.</p>
<p>By the way, now the time works correct. Seems it updated it from the Internet using a Time-Server. Still confusing.</p>
<p><strong>A few other things i noticed</strong></p>
<ol>
<li>The Load is always around 1 and XOrg always uses around 5-20% CPU which isn&#8217;t the case on any other system I&#8217;m using (those aren&#8217;t Kubuntu, tho). Even disabling Composite doesn&#8217;t help here (or it&#8217;s not disabled completly, i have to check that).</li>
<li>Quite weird, that Kubuntu installs postfix as dependency for smartmontools.</li>
<li>There seems to be a bug with the graphicsdriver; similar bug i have on my netbook with another distribution. As soon as the screensavers turn on, the system halts. While my other machine prints a kernel segfault, the kubuntu machine just gives a blank screen and doesn&#8217;t respond on num lock key pressing and other things. This happens in the live cd and in the installation regularly after some time of inactivity. So i guess, it has something to do with ati-drm and it&#8217;s not Kubuntu&#8217;s fault.</li>
</ol>
<p><strong>Stuff i did to improve the Installation</strong></p>
<ol>
<li>I switched from getty to fgetty</li>
<li>I placed noatime for /boot and relatime for /</li>
<li>I made /tmp tmpfs</li>
<li>I disabled Composite / Effects</li>
<li>I disabled kernel-mode-settings</li>
</ol>
<p><strong>Update:</strong><br />
Alright. The Network Daemon is dumb. It always changes the ip of the box, if i use auto, while my dhcp router gives static ips with a not limited lease time. I.e. IPs should NOT change. Tho that&#8217;s more a KDE issue than a Kubuntu issue I guess.<br />
I&#8217;m getting some weird segfaults depending on the application i start. For example kde&#8217;s photo gallery. Same happens for the Knetwork thingy unregurlaly.</p>
<p><strong>My Conclusion so far?</strong><br />
Well. There are a lot of things I like, especially the fast boot time. But all those weird errors which I can&#8217;t track down are remembering me to an OS which I tried to replace. Instead of getting Bluescreens I&#8217;m getting segfaults (not a lot, just a few, and nothing in dmesg, it&#8217;s no memory/cpu/hardware related segfault) and dialogs to report issues, which I can&#8217;t report then because no debugging stuff is available or something (even installing those, reports the same).. Thats just.. uhm. I&#8217;m just not sure whether it&#8217;s KDE&#8217;s fault or Kubuntu&#8217;s or both&#8217;s.<br />
The thing is: I can&#8217;t give that to a linux beginner. I&#8217;m able to handle such issues (or well, to be correct, I know how to ignore them) but for a pure beginner that&#8217;s not usable. If you then take into Account that I used the stable variant (LTS) this is a shame.</p>
<p>For experienced users who like binary based distributions and KDE, definitatly a try worth (and no, that&#8217;s not me. I&#8217;m running souce-based for ages, more complicated to setup, less problems)</p>
]]></content:encoded>
			<wfw:commentRss>http://jeanbruenn.info/2011/07/20/kubuntu-my-first-experience/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building a Debian Kernel with OpenVZ</title>
		<link>http://jeanbruenn.info/2011/04/10/building-a-debian-kernel-with-openvz/</link>
		<comments>http://jeanbruenn.info/2011/04/10/building-a-debian-kernel-with-openvz/#comments</comments>
		<pubDate>Sun, 10 Apr 2011 10:24:14 +0000</pubDate>
		<dc:creator>Jean</dc:creator>
				<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://jeanbruenn.info/new/?p=523</guid>
		<description><![CDATA[There was an entry about vswap in the OpenVZ blogs and i love that new feature. So i decided to build my own kernel in debian with those patches to get that functionality. Continue to read if you&#8217;re interested in VSWAP and how to setup your kernel to make use of it. As always you&#8217;re [...]]]></description>
			<content:encoded><![CDATA[<p>There was an entry about vswap in the OpenVZ blogs and i love that new feature. So i decided to build my own kernel in debian with those patches to get that functionality. Continue to read if you&#8217;re interested in VSWAP and how to setup your kernel to make use of it.</p>
<p><span id="more-523"></span><br />
<b>As always</b> you&#8217;re doing everything here at your own risk. You&#8217;ve been warned.</p>
<p><b>Links</b>:</p>
<ol>
<li><a href="http://community.livejournal.com/openvz/34522.html">042test002.1 kernel is based on final RHEL6 and contains VSwap.</a></li>
<li><a href="http://community.livejournal.com/openvz/35628.html">news from the VSwap front</a></li>
<li><a href="http://wiki.openvz.org/Download/kernel/rhel6/042test008.1">Development OpenVZ Kernel branch RHEL6</a></li>
</ol>
<p>first go to /usr/src then grab the kernel source you want to use, in my example:</p>
<pre>wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.tar.bz2</pre>
<p>Now grab the openvz patchset you want to use, in my example:</p>
<pre>wget http://download.openvz.org/kernel/branches/rhel6-2.6.32/042test008.1/patches/patch-042test008.1-combined.gz</pre>
<p>now get the openvz config by issuing:</p>
<pre>wget http://download.openvz.org/kernel/branches/rhel6-2.6.32/042test008.1/configs/config-2.6.32-042test008.1.x86_64</pre>
<p>and let&#8217;s start. First unpack the kernel source and unpack the patch, then switch into the dir, patch the kernel and get the config.</p>
<pre>tar -xjvf linux-2.6.32.tar.bz2
gunzip patch-042test008.1-combined.gz
cd linux-2.6.32
patch -Np1 < ../patch-042test008.1-combined
cp ../config-2.6.32-042test008.1.x86_64 .config</pre>
<p>Fine - Now issue make menuconfig and configure stuff you need. You might want to compare the current kernel configuration with the one you got. You can do so using diff. For example:</p>
<pre>zcat /proc/config.gz > currentkernelconfig.txt
diff config-2.6.32-042test008.1.x86_64 currentkernelconfig.txt</pre>
<p>If /proc/config.gz is not there, you can look for the current config in /boot/. Finished with make menuconfig? So save config and exit. Now you can do:</p>
<pre>make-kpkg clean
fakeroot make-kpkg --initrd --revision=custom.1.0 kernel_image</pre>
<p>if you see any error, issue make clean and repeat the above steps starting with make menuconfig. Really make sure that you dont have any errors - Most likely you did something wrong with make menuconfig. for example i got an error if i use slub instead of slab. if you just copy over your current config this shouldnt happen. Another hint: if you just use ext3/ext4 you might want to enable it, instead of taking it as a module - That'll solve a lot of initrd related problems (if you got<br />
some, which shouldnt happen)</p>
<p>Now after your compile is done and package was created, let's install it:</p>
<pre>dpkg -i kernel_image-2.6.32_custom.1.0_x86_64.deb</pre>
<p>All fine? that was it. Maybe issue grub-install /dev/sda but that shouldn't be needed. Reboot, and check whether everything works.</p>
]]></content:encoded>
			<wfw:commentRss>http://jeanbruenn.info/2011/04/10/building-a-debian-kernel-with-openvz/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

