Difference between pages "Xfce" and "Extlinux"

(Difference between pages)
m (Reverted edits by Azerthoth (talk) to last revision by Palica)
 
(manual extlinux.conf)
 
Line 1: Line 1:
== About Xfce ==
+
== What is ExtLinux? ==
  
''Xfce is a lightweight desktop environment for UNIX-like operating systems. It aims to be fast and low on system resources, while still being visually appealing and user friendly.
+
ExtLinux is a simple and modern systemloader bundled with the syslinux tools. Installation is simple and fast, and thanks to our CoreTeam member Slashbeast the configuration is easily automated.
  
''Xfce embodies the traditional UNIX philosophy of modularity and re-usability. It consists of a number of components that provide the full functionality one can expect of a modern desktop environment. They are packaged separately and you can pick among the available packages to create the optimal personal working environment.
+
= Installing ExtLinux for funtoo =
  
''Another priority of Xfce is adhereance to standards, specifically those defined at [http://freedesktop.org/ freedesktop.org]. <ref>http://www.xfce.org/about/</ref>
+
Installing ExtLinux for funtoo is known to work and supported too. If you like to try it just emerge syslinux
  
== Installation ==
+
<console>
 +
# ##i##emerge syslinux
 +
</console>
  
Before emerging Xfce you need to:
+
with that you have the complete syslinux tools installed. Another helpful tool you should merge with syslinux is slashbeast's lazykernel tool, so let us merge it too:
  
* Check that you have enabled the USE flags necessary for a desktop environment. You can either [[Funtoo_Linux_First_Steps#Changing_profile|set your profile to "desktop"]] or you can edit your <tt>make.conf</tt>:
 
 
<console>
 
<console>
# ##i##nano -w /etc/make.conf
+
# ##i##emerge lazykernel
USE="-minimal dbus consolekit jpeg libnotify lock session startup-notification svg thunar udev X"
+
 
</console>
 
</console>
  
* Verify that you have [[Funtoo_Linux_First_Steps#X.Org|X.Org Server]] configured properly.
+
== Installing extlinux ==
  
 +
to install extlinux just follow these steps:
  
We are now ready to install Xfce. Install the meta-package, which pulls in all of the components you need for a minimal Xfce installation:
 
 
<console>
 
<console>
# ##i## emerge xfce4-meta
+
# ##i##install -d /boot/extlinux
 +
# ##i##extlinux --install /boot/extlinux
 
</console>
 
</console>
  
== Running Xfce ==
+
the next steps are different depending if you use an MBR or GPT setup and the HDD you installed on and want to boot from. Let us now for general take /dev/sda as your boot device.
  
There are several different ways to start Xfce:
+
=== MBR ===
  
* Typing the command <tt>startxfce4</tt> at the console.
+
If you set up your disk with MBR partition scheme just do the next steps:
* Editing the <tt>.xinitrc</tt> file in your user's home directory.
+
* Using a display manager (e.g. SLiM, GDM, and KDM).
+
* Configuring your shell profile to automatically start Xfce upon a successful login.
+
  
=== .xinitrc ===
 
 
The most common way to start the environment is to configure <tt>~/.xinitrc</tt> to launch an Xfce session. The proper way to launch Xfce from the terminal is by using <tt>startxfce4</tt>.
 
 
<console>
 
<console>
$ ##i##echo "exec ck-launch-session startxfce4" > ~/.xinitrc
+
# ##i##dd bs=440 conv=notrunc count=1 if=/usr/share/syslinux/mbr.bin of=/dev/sda
 +
# ##i##cp /usr/share/syslinux/menu.c32 /boot/extlinux/
 +
# ##i##cp /usr/share/syslinux/libutil.c32 /boot/extlinux/
 +
# ##i##touch /boot/extlinux/extlinux.conf
 
</console>
 
</console>
  
Note that <tt>ck-launch-session</tt> (from ConsoleKit) is required by Xfce for important tasks such as shutting down, suspending, and automatically mounting removable storage media. Some applications will not work properly without it. Therefore we need to add ConsoleKit to the <tt>default</tt> runlevel, executing the following command as root:
+
=== GPT ===
<console>
+
# ##i##rc-update add consolekit default
+
</console>
+
  
Finally, to start the graphical environment:
 
 
<console>
 
<console>
$ ##i##startx
+
# ##i##sgdisk /dev/sda --attributes=1:set:2
 +
# ##i##sgdisk /dev/sda --attributes=1:show
 +
1:2:1 (legacy BIOS bootable)
 +
# ##i##dd bs=440 conv=notrunc count=1 if=/usr/share/syslinux/gptmbr.bin of=/dev/sda
 +
# ##i##cp /usr/share/syslinux/menu.c32 /boot/extlinux/
 +
# ##i##cp /usr/share/syslinux/libutil.c32 /boot/extlinux/
 +
# ##i##touch /boot/extlinux/extlinux.conf
 
</console>
 
</console>
  
== Display manager ==
+
== Setting up the Kernel ==
A display manager is a program that manages sessions and acts as a login screen. Here's a short list of a few of the display managers available in Funtoo:
+
  
* XDM (<tt>x11-apps/xdm</tt>): X.Org's standard display manager.
+
Now if you followed our advice to install lazykernel we have a pretty nice way to solve all the setup with a bit of prework and finish it then. If not you should go to the manual part. :)
  
* LightDM (<tt>x11-misc/lightdm</tt>): A lightweight, but highly configurable display manager.
+
=== lazykernel way ===
  
* SLiM (<tt>x11-misc/slim</tt>): Simple Login Manager -- a lightweight display manager. Not very configurable.
+
Edit <tt>/etc/lazykernel.conf</tt>:
 +
 
 +
<pre>
 +
# After configuring, hash or remove line below.
 +
#CONFIGUREFIRST
 +
 
 +
# Number of the kernels to keep so `lazykernel clean` will not propose to remove them. Default: 3
 +
keep_kernels=5
 +
 
 +
# Sort kernels by 'version' (biggest version first) or by 'mtime' (latest images first). Default: mtime
 +
# Sorting by version may fail and 3.3.0-rc2 will be marked as newer than 3.3.0.
 +
#sort_by='version'
 +
sort_by=mtime
 +
 
 +
# The name for menu entry.
 +
menu_entry_name="Funtoo Linux"
 +
 
 +
# Specify what initramfs image to use, if any. (Optional)
 +
initramfs='initramfs.cpio.gz'
 +
 
 +
# Append kernel params, usualy you use it to specify rootfs device, but you can use it to pass switches to initramfs as well.
 +
kernel_params="rootfstype=ext4 luks enc_root=/dev/sdb3 lvm root=/dev/mapper/vg-root uswsusp resume=/dev/mapper/vg-swap"
 +
</pre>
 +
 
 +
please make sure to comment out or delete the second line of the config file, else it will spit out an error for you... :)
 +
 
 +
Now let us setup our kernel with lazykernel if you have a manual kernel just run:
  
Any of these would make a fine choice. After you've chosen which display manager to use, install it:
 
 
<console>
 
<console>
# ##i##emerge lightdm
+
# ##i##cd <kernel build dir>
 +
# ##i##lazykernel auto
 
</console>
 
</console>
  
All that's left to do now is to add the name of the display manager to <tt>/etc/conf.d/xdm</tt>, add the <tt>xdm</tt> service to the <tt>default</tt> runlevel, and start the service:
+
Thiss will generate the modules for you. Copy your kernel form <tt>/usr/src/linux over</tt> to <tt>/boot</tt> and generate the <tt>/boot/extlinux/extlinux.conf</tt>. The manual kernel will be the only one supported by lazykernel.
<console>
+
# ##i##nano -w /etc/conf.d/xdm
+
DISPLAYMANAGER="lightdm"
+
  
# ##i##rc-update add xdm default
+
=== manual extlinux.conf ===
# ##i##/etc/init.d/xdm start
+
 
</console>
+
For other kernels, like those created by genkernel or by the binary USE-flag you need to edit your config by yourself. Just open <tt>/boot/extlinux/extlinux.conf</tt> in your favorite editor:
 +
 
 +
<pre>
 +
TIMEOUT 30
 +
UI menu.c32
 +
 
 +
MENU TITLE Boot Menu
 +
MENU COLOR title        1;37;40
 +
MENU COLOR border      30;40
 +
MENU COLOR unsel        37;40
 +
 
 +
LABEL funtoo1
 +
        MENU LABEL Funtoo Linux KERNEL-VERSION
 +
        LINUX /<kernel>
 +
        INITRD /<initramfs>
 +
        APPEND rootfstype=ext4 luks enc_root=/dev/sdb3 lvm root=/dev/mapper/vg-root uswsusp resume=/dev/mapper/vg-swap
 +
</pre>
  
== References ==
+
That's all. You are now ready for boot. You can also define several LABELs in that list to have multiple kernels been booted... :)
<references/>
+
  
[[Category:Desktop]]
+
[[Category:HOWTO]]

Revision as of 17:36, February 22, 2014

What is ExtLinux?

ExtLinux is a simple and modern systemloader bundled with the syslinux tools. Installation is simple and fast, and thanks to our CoreTeam member Slashbeast the configuration is easily automated.

Installing ExtLinux for funtoo

Installing ExtLinux for funtoo is known to work and supported too. If you like to try it just emerge syslinux

# emerge syslinux

with that you have the complete syslinux tools installed. Another helpful tool you should merge with syslinux is slashbeast's lazykernel tool, so let us merge it too:

# emerge lazykernel

Installing extlinux

to install extlinux just follow these steps:

# install -d /boot/extlinux
# extlinux --install /boot/extlinux

the next steps are different depending if you use an MBR or GPT setup and the HDD you installed on and want to boot from. Let us now for general take /dev/sda as your boot device.

MBR

If you set up your disk with MBR partition scheme just do the next steps:

# dd bs=440 conv=notrunc count=1 if=/usr/share/syslinux/mbr.bin of=/dev/sda
# cp /usr/share/syslinux/menu.c32 /boot/extlinux/
# cp /usr/share/syslinux/libutil.c32 /boot/extlinux/
# touch /boot/extlinux/extlinux.conf

GPT

# sgdisk /dev/sda --attributes=1:set:2
# sgdisk /dev/sda --attributes=1:show
1:2:1 (legacy BIOS bootable)
# dd bs=440 conv=notrunc count=1 if=/usr/share/syslinux/gptmbr.bin of=/dev/sda
# cp /usr/share/syslinux/menu.c32 /boot/extlinux/
# cp /usr/share/syslinux/libutil.c32 /boot/extlinux/
# touch /boot/extlinux/extlinux.conf

Setting up the Kernel

Now if you followed our advice to install lazykernel we have a pretty nice way to solve all the setup with a bit of prework and finish it then. If not you should go to the manual part. :)

lazykernel way

Edit /etc/lazykernel.conf:

# After configuring, hash or remove line below.
#CONFIGUREFIRST

# Number of the kernels to keep so `lazykernel clean` will not propose to remove them. Default: 3
keep_kernels=5

# Sort kernels by 'version' (biggest version first) or by 'mtime' (latest images first). Default: mtime
# Sorting by version may fail and 3.3.0-rc2 will be marked as newer than 3.3.0.
#sort_by='version'
sort_by=mtime

# The name for menu entry.
menu_entry_name="Funtoo Linux"

# Specify what initramfs image to use, if any. (Optional)
initramfs='initramfs.cpio.gz'

# Append kernel params, usualy you use it to specify rootfs device, but you can use it to pass switches to initramfs as well. 
kernel_params="rootfstype=ext4 luks enc_root=/dev/sdb3 lvm root=/dev/mapper/vg-root uswsusp resume=/dev/mapper/vg-swap"

please make sure to comment out or delete the second line of the config file, else it will spit out an error for you... :)

Now let us setup our kernel with lazykernel if you have a manual kernel just run:

# cd <kernel build dir>
# lazykernel auto

Thiss will generate the modules for you. Copy your kernel form /usr/src/linux over to /boot and generate the /boot/extlinux/extlinux.conf. The manual kernel will be the only one supported by lazykernel.

manual extlinux.conf

For other kernels, like those created by genkernel or by the binary USE-flag you need to edit your config by yourself. Just open /boot/extlinux/extlinux.conf in your favorite editor:

TIMEOUT 30
UI menu.c32

MENU TITLE Boot Menu
MENU COLOR title        1;37;40
MENU COLOR border       30;40
MENU COLOR unsel        37;40

LABEL funtoo1
        MENU LABEL Funtoo Linux KERNEL-VERSION
        LINUX /<kernel>
        INITRD /<initramfs>
        APPEND rootfstype=ext4 luks enc_root=/dev/sdb3 lvm root=/dev/mapper/vg-root uswsusp resume=/dev/mapper/vg-swap

That's all. You are now ready for boot. You can also define several LABELs in that list to have multiple kernels been booted... :)