User:Fchmmr: Difference between revisions

From coreboot
Jump to navigation Jump to search
No edit summary
No edit summary
Line 20: Line 20:
that is where i got the grub.cfg from.
that is where i got the grub.cfg from.


rename it to coreboot.cfg and put it in the root of the grub source code directory  
rename it to grub.custom.cfg and put it in the root of the grub source code directory  


(see below)
(see below)
Line 26: Line 26:
note: i'm not using this. i adapted my own.
note: i'm not using this. i adapted my own.


(at the time of writing, here is my grub.cfg, renamed to coreboot.cfg:
(at the time of writing, here is my grub.cfg, renamed to grub.custom.cfg:
http://paste.debian.net/69573/
http://paste.debian.net/69573/
)
)
Line 70: Line 70:
Now we need to create a grub elf file as the payload:
Now we need to create a grub elf file as the payload:


note: in grub source root directory, make a coreboot.cfg with your grub config text inside
note: in grub source root directory, make a grub.custom.cfg with your grub config text inside




Line 76: Line 76:
do that command:
do that command:


./grub-mkstandalone --grub-mkimage=./grub-mkimage -O i386-coreboot -o grub2-X60.elf --modules='ahci pata ehci uhci ohci usb_keyboard usbms part_msdos xfs ext2 fat at_keyboard part_gpt usbserial_usbdebug cbfs' --install-modules='ls linux search configfile normal cbtime cbls memrw iorw minicmd lsmmap lspci halt reboot hexdump pcidump regexp setpci lsacpi chain test' --fonts= --themes= --locales= -d grub-core/ /boot/grub/grub.cfg=coreboot.cfg
./grub-mkstandalone --grub-mkimage=./grub-mkimage -O i386-coreboot -o grub2-X60.elf --modules='ahci pata ehci uhci ohci usb_keyboard usbms part_msdos xfs ext2 fat at_keyboard part_gpt usbserial_usbdebug cbfs' --install-modules='ls linux search configfile normal cbtime cbls memrw iorw minicmd lsmmap lspci halt reboot hexdump pcidump regexp setpci lsacpi chain test' --fonts= --themes= --locales= -d grub-core/ /boot/grub/grub.cfg=grub.custom.cfg





Revision as of 20:52, 5 December 2013

For X60

Compile GNUtoo's fork of coreboot with:

- GRUB2 payload
- native graphics (replacement for VGA option ROM / Video BIOS / VBIOS)

This version also removes the nonfree microcode.

I have tested this on an X60s 170237G.

GNUtoo uses this on an X60.

I hope to test it on more machines also.


git clone git://gitorious.org/gnutoo-for-coreboot/build-makefiles.git

(get the grub config, etc)

that is where i got the grub.cfg from.

rename it to grub.custom.cfg and put it in the root of the grub source code directory

(see below)

note: i'm not using this. i adapted my own.

(at the time of writing, here is my grub.cfg, renamed to grub.custom.cfg: http://paste.debian.net/69573/ )


git clone git://gitorious.org/gnutoo-for-coreboot/coreboot.git

cd coreboot

git checkout 6ec9b1637b4e75de0ae4e2de258f72a7811aafbf

(the checkout gets gnutoo's patches to remove microcode, etc)

the .config (included in this post), put it in the coreboot directory. I got it from here, which GNUtoo uploaded: http://paste.debian.net/68794

Now coreboot is there, with the right config.

Now need to compile grub2


come out of coreboot:

cd ..

do that:

git clone git://git.savannah.gnu.org/grub.git

cd grub

./autogen.sh

./configure --with-platform=coreboot

make


Now we need to create a grub elf file as the payload:

note: in grub source root directory, make a grub.custom.cfg with your grub config text inside


do that command:

./grub-mkstandalone --grub-mkimage=./grub-mkimage -O i386-coreboot -o grub2-X60.elf --modules='ahci pata ehci uhci ohci usb_keyboard usbms part_msdos xfs ext2 fat at_keyboard part_gpt usbserial_usbdebug cbfs' --install-modules='ls linux search configfile normal cbtime cbls memrw iorw minicmd lsmmap lspci halt reboot hexdump pcidump regexp setpci lsacpi chain test' --fonts= --themes= --locales= -d grub-core/ /boot/grub/grub.cfg=grub.custom.cfg


test qemu.elf in a coreboot.rom compiled for qemu first (not covered in this guide).

assuming that it works, continue on...


ok,

just put grub2-X60.elf (it will be in the root of the grub source directory) in coreboot directory.

in make menuconfig, change the path to say grub2-X60.elf

then:

make


and now a coreboot.rom is in ./build/


if you are flashing this for the first time on a machine that has the factory bios, then using the

coreboot.rom just follow the wiki insturctions, especially with regards to the dd commands and the bucts commands


most important:

- cd build
- dd if=coreboot.rom of=top64k.bin bs=1 skip=$[$(stat -c %s coreboot.rom) - 0x10000] count=64k
- dd if=coreboot.rom bs=1 skip=$[$(stat -c %s coreboot.rom) - 0x20000] count=64k | hexdump
- dd if=top64k.bin of=coreboot.rom bs=1 seek=$[$(stat -c %s coreboot.rom) - 0x20000] count=64k conv=notrunc


flash the resulting coreboot.rom like you normally would.

(with the dd commands you should also be able to use the flashing procedure from factory BIOS, but I haven't tested that. yet)


see below:


---

.config (put it in root coreboot source directory) is like this: download that text, save it as .config and put it in coreboot source directory (you need it) http://paste.debian.net/68794