Tuesday, June 25, 2013

Install (Force) Kali Linux on an EFI based system

Requirements to install:

Hardware -

Thumb Drive (No CD drive)
Your EFI/UEFI System
An Internet connection

Software -

Kali Linux ISO - Linux Distrobution ISO
Rufus - Application (Used to place and create Bootable USB)
grubx64.efi (Required file for EFI)
BOOTX64.efi (Required file for EFI)

Step 1.

Download Kali Linux ISO

Step 2.

Plug in your USB drive

Step 3.

Download and run Rufus

Step 4.

In Rufus select the thumb drive and the Kali Linux ISO and let it format and place Kali onto your thumb drive (Make some hot coco, coffee or something this process takes atleast 5 min)

Step 5.

Open your Thumb drive in explorer

Step 6.

Create a folder called EFI  with folder BOOT within it

Step 7.

Copy grubx64.efi and BOOTX64.efi into /EFI/BOOT/
(Avoid confusion, files go in lowest level at BOOT not in EFI)

Step 8.

Open wordpad or notepad and paste the following

# Config file for GRUB2 - The GNU GRand Unified Bootloader
# /boot/grub/grub.cfg

set menu_color_normal=yellow/blue
set menu_color_highlight=blue/yellow

function load_video {
insmod efi_gop
insmod efi_uga
insmod video_bochs
insmod video_cirrus
insmod all_video

set gfxpayload=keep

# Timeout for menu
set timeout=5

# Set default boot entry as Entry 0
set default=0
set color_normal=yellow/blue

menuentry "Kali - Boot Non Persistent Mode" {
set root=(hd0,1)
linuxefi /live/vmlinuz boot=live noconfig=sudo username=root hostname=kali
initrdefi /live/initrd.img

menuentry "Kali - Boot Persistent" {
set root=(hd0,1)
linuxefi /live/vmlinuz boot=live noconfig=sudo username=root hostname=kali persistence
initrdefi /live/initrd.img

menuentry "Kali Failsafe" {
set root=(hd0,1)
linuxefi /live/vmlinuz boot=live config memtest noapic noapm nodma nomce nolapic nomodeset nosmp nosplash vga=normal
initrdefi /live/initrd.img

menuentry "Kali Forensics - No Drive or Swap Mount" {
set root=(hd0,1)
linuxefi /live/vmlinuz boot=live noconfig=sudo username=root hostname=kali noswap noautomount
initrdefi /live/initrd.img

menuentry "Kali Graphical Install" {
set root=(hd0,1)
linuxefi /install/gtk/vmlinuz video=vesa:ywrap,mtrr vga=788
initrdefi /install/gtk/initrd.gz

menuentry "Kali Text Install" {
set root=(hd0,1)
linuxefi /install/vmlinuz video=vesa:ywrap,mtrr vga=788
initrdefi /install/initrd.gz
Then save the file as grub.cfg in the boot folder also
(Don't accidentally save it as grub.cfg.txt ; Click file, Save as, for the file name type grub.cfg, then the important part where it says file type change that to *.* )

Step 9.

Reboot the system pressing esc to choose what efi partition to boot and select your thumb drive and you good to go.

------------------------------------------------------ Various Tips and Hints ----------------------------

Internet connection is required during install process as it will have to download the grub-efi package to install your efi grub (Yes it sets up the efi boot loader on it's own)

You get and error after choosing an option to install saying something about security and it hangs you will need to disable the security part of the efi bootloader in bios. After you do that when you choose the option to install it will prompt you that security is off but then continue into the installation as it is supposed to.

I had a difficulty with getting wifi running during the installation claiming the wifi firmware was not there yet it was definitely there, I did a simple work around and just used a hard line as Ethernet has always been problem free for me (Yes after installation wifi was working flawlessly from the start so its only an issue during the installation process; and again may not occur during your installation)

.... Annnnnd that is all i can think of at the moment, please feel free to comment or ask any questions, thank you for your time.

Video of this how to to prevent confusion:

Install Force Kali Linux on an EFI based system: http://youtu.be/oE-kgfDg4Gs

Make things easier on  you:

Do steps 1 -  4 then extract the contents onto the drive Its the EFI/BOOT directories the required dll's and the complete config file