Difference between pages "Extlinux" and "CPU FLAGS"

From Funtoo
(Difference between pages)
Jump to navigation Jump to search
 
 
Line 1: Line 1:
== What is ExtLinux? ==
This page lists processor instruction sets that can be enabled on Funtoo Linux systems using the {{c|CPU_FLAGS_*}} variables.


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.
==CPU_FLAGS_X86 ==


= Installing ExtLinux for funtoo =
{{TableStart}}
 
<tr><th>Flag</th><th>Introduced</th><th>Name</th><th></th></tr>
Installing ExtLinux for funtoo is known to work and supported too. If you like to try it just emerge syslinux
<tr><td>{{c|mmx}}</td><td>1997 (Pentium MMX)</td><td>MMX</td><td>See [[Wikipedia:MMX (instruction set)]] </td></tr>
 
<tr><td>{{c|mmxext}}</td><td>1999</td><td>AMD MMX Extensions</td><td>See [[Wikipedia:Extended MMX]]</td></tr>
<console>
<tr><td>{{c|sse}}</td><td>1999 (Pentium III)</td><td>Streaming SIMD Extensions (SSE)</td><td>See [[Wikipedia:Streaming SIMD Extensions]]</td></tr>
# ##i##emerge syslinux
<tr><td>{{c|sse2}}</td><td>2001 (Pentium 4)</td><td>Streaming SIMD Extensions 2 (SSE2)</td><td>See [[Wikipedia:SSE2]]</td></tr>
</console>
<tr><td>{{c|sse3}}</td><td>2004 (Pentium 4 Prescott)</td><td>Streaming SIMD Extensions 3 (SSE3/PNI)</td><td>See [[Wikipedia:SSE3]]</td></tr>
 
<tr><td>{{c|ssse3}}</td><td>2006 (Core 2 Woodcrest)</td><td>Supplemental Streaming SIMD Extensions 3 (SSSE3)</td><td>See [[Wikipedia:SSSE3]]</td></tr>
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:
<tr><td>{{c|popcnt}}</td><td>2007</td><td>POPCNT and LZCNT</td><td>See [[Wikipedia:SSE4#POPCNT_and_LZCNT]]</td></tr>
 
{{TableEnd}}
<console>
# ##i##emerge lazykernel
</console>
 
== Installing extlinux ==
 
to install extlinux just follow these steps:
 
<console>
# ##i##install -d /boot/extlinux
# ##i##extlinux --install /boot/extlinux
</console>
 
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:
 
<console>
# ##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>
 
=== GPT ===
 
<console>
# ##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>
 
== 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 <tt>/etc/lazykernel.conf</tt>:
 
{{file|name=/etc/lazykernel.conf|desc= |body=
# 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"
}}
 
{{fancynote| Please make sure to comment out or delete the second line of the config file...else it will spit out an error.}}
 
Now let us setup our kernel with lazykernel. If you have a manual kernel just run:
 
<console>
# ##i##cd <kernel build dir>
# ##i##lazykernel auto
</console>
 
This will generate the modules for you. Copy your kernel form <tt>/usr/src/linux</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.
 
=== 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 <tt>/boot/extlinux/extlinux.conf</tt> in your favorite editor:
 
{{file|name=/boot/extlinux/extlinux.conf|desc= |body=
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 kernel selections to choose from before booting.
 
[[Category:HOWTO]]

Revision as of 18:55, March 26, 2015

This page lists processor instruction sets that can be enabled on Funtoo Linux systems using the CPU_FLAGS_* variables.

CPU_FLAGS_X86

FlagIntroducedName
mmx1997 (Pentium MMX)MMXSee Wikipedia:MMX (instruction set)
mmxext1999AMD MMX ExtensionsSee Wikipedia:Extended MMX
sse1999 (Pentium III)Streaming SIMD Extensions (SSE)See Wikipedia:Streaming SIMD Extensions
sse22001 (Pentium 4)Streaming SIMD Extensions 2 (SSE2)See Wikipedia:SSE2
sse32004 (Pentium 4 Prescott)Streaming SIMD Extensions 3 (SSE3/PNI)See Wikipedia:SSE3
ssse32006 (Core 2 Woodcrest)Supplemental Streaming SIMD Extensions 3 (SSSE3)See Wikipedia:SSSE3
popcnt2007POPCNT and LZCNTSee Wikipedia:SSE4#POPCNT_and_LZCNT