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 on if you use an MBR or GPT setup and the HDD you installed on and want to boot from. Let us assume that <tt>/dev/sda</tt> is the drive you will be booting from.
 
=== MBR ===
 
If you set up your disk with a MBR partition scheme, run the following:
 
<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 ===
 
On the other hand, if you formatted your disk using GPT, run these commands:
 
<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