[coreboot] Using lpgcc

Nils njacobs8 at hetnet.nl
Tue Mar 29 11:01:55 CEST 2011


Hi Marc,
Thanks for your answer!

>It is working for me. I thought that the basename issue had been
>addressed. Can you try with the libpayload local install and using the
>sample makefile?
>
>in libpayload:
>
>make distclean
>make defconfig
>make install
>
>in libpayload sample:
>make

It seems not to work that way on my Debian system.

Following the readme i only downloaded libpayload and put my example file 
(hello.c + makefile) in the directory "/hello" :

nils at debian:~$ svn co svn://coreboot.org/repos/trunk/payloads/libpayload
A    libpayload/crypto
A    libpayload/crypto/Makefile.inc
A    libpayload/crypto/sha1.c
A    libpayload/sample
A    libpayload/sample/hello.c
A    libpayload/sample/Makefile
A    libpayload/Doxyfile
A    libpayload/include
A    libpayload/include/powerpc
A    libpayload/include/powerpc/arch
A    libpayload/include/powerpc/arch/endian.h
A    libpayload/include/powerpc/arch/types.h
A    libpayload/include/powerpc/arch/virtual.h
A    libpayload/include/powerpc/arch/io.h
A    libpayload/include/sysinfo.h
A    libpayload/include/pci.h
A    libpayload/include/lar.h
A    libpayload/include/libpayload.h
A    libpayload/include/getopt.h
A    libpayload/include/curses.priv.h
A    libpayload/include/i386
A    libpayload/include/i386/arch
A    libpayload/include/i386/arch/endian.h
A    libpayload/include/i386/arch/rdtsc.h
A    libpayload/include/i386/arch/msr.h
A    libpayload/include/i386/arch/types.h
A    libpayload/include/i386/arch/virtual.h
A    libpayload/include/i386/arch/io.h
A    libpayload/include/usb
A    libpayload/include/usb/usb.h
A    libpayload/include/usb/usbmsc.h
A    libpayload/include/usb/usbdisk.h
A    libpayload/include/curses.h
A    libpayload/include/coreboot_tables.h
A    libpayload/include/multiboot_tables.h
A    libpayload/include/video_console.h
A    libpayload/configs
A    libpayload/configs/defconfig
A    libpayload/README
A    libpayload/curses
A    libpayload/curses/local.h
A    libpayload/curses/keyboard.c
A    libpayload/curses/colors.c
A    libpayload/curses/Makefile.inc
A    libpayload/curses/tinycurses.c
A    libpayload/LICENSES
A    libpayload/lib
A    libpayload/lib/libpayload.ldscript
A    libpayload/bin
A    libpayload/bin/lpas
A    libpayload/bin/lp.functions
A    libpayload/bin/lpgcc
A    libpayload/libc
A    libpayload/libc/time.c
A    libpayload/libc/console.c
A    libpayload/libc/printf.c
A    libpayload/libc/Makefile.inc
A    libpayload/libc/lib.c
A    libpayload/libc/string.c
A    libpayload/libc/malloc.c
A    libpayload/libc/memory.c
A    libpayload/libc/lar.c
A    libpayload/libc/getopt_long.c
A    libpayload/libc/readline.c
A    libpayload/libc/ctype.c
A    libpayload/libc/exec.c
A    libpayload/libc/rand.c
A    libpayload/libc/sysinfo.c
A    libpayload/libc/ipchecksum.c
A    libpayload/Config.in
A    libpayload/Makefile
A    libpayload/arch
A    libpayload/arch/powerpc
A    libpayload/arch/powerpc/timer.c
A    libpayload/arch/powerpc/head.S
A    libpayload/arch/powerpc/Makefile.inc
A    libpayload/arch/powerpc/exec.S
A    libpayload/arch/powerpc/main.c
A    libpayload/arch/powerpc/virtual.c
A    libpayload/arch/powerpc/sysinfo.c
A    libpayload/arch/powerpc/coreboot.c
A    libpayload/arch/powerpc/util.S
A    libpayload/arch/i386
A    libpayload/arch/i386/multiboot.c
A    libpayload/arch/i386/timer.c
A    libpayload/arch/i386/head.S
A    libpayload/arch/i386/Makefile.inc
A    libpayload/arch/i386/exec.S
A    libpayload/arch/i386/main.c
A    libpayload/arch/i386/virtual.c
A    libpayload/arch/i386/sysinfo.c
A    libpayload/arch/i386/coreboot.c
A    libpayload/arch/i386/util.S
A    libpayload/util
A    libpayload/util/kconfig
A    libpayload/util/kconfig/zconf.tab.c_shipped
A    libpayload/util/kconfig/zconf.gperf
A    libpayload/util/kconfig/lkc_proto.h
A    libpayload/util/kconfig/mconf.c
A    libpayload/util/kconfig/menu.c
A    libpayload/util/kconfig/zconf.y
A    libpayload/util/kconfig/symbol.c
A    libpayload/util/kconfig/check.sh
A    libpayload/util/kconfig/images.c
A    libpayload/util/kconfig/qconf.cc
A    libpayload/util/kconfig/POTFILES.in
A    libpayload/util/kconfig/qconf.h
A    libpayload/util/kconfig/zconf.hash.c_shipped
A    libpayload/util/kconfig/util.c
A    libpayload/util/kconfig/expr.c
A    libpayload/util/kconfig/lkc.h
A    libpayload/util/kconfig/kconfig_load.c
A    libpayload/util/kconfig/confdata.c
A    libpayload/util/kconfig/lxdialog
A    libpayload/util/kconfig/lxdialog/dialog.h
A    libpayload/util/kconfig/lxdialog/check-lxdialog.sh
A    libpayload/util/kconfig/lxdialog/inputbox.c
A    libpayload/util/kconfig/lxdialog/checklist.c
A    libpayload/util/kconfig/lxdialog/BIG.FAT.WARNING
A    libpayload/util/kconfig/lxdialog/menubox.c
A    libpayload/util/kconfig/lxdialog/textbox.c
A    libpayload/util/kconfig/lxdialog/util.c
A    libpayload/util/kconfig/lxdialog/yesno.c
A    libpayload/util/kconfig/lex.zconf.c_shipped
A    libpayload/util/kconfig/expr.h
A    libpayload/util/kconfig/conf.c
A    libpayload/util/kconfig/gconf.glade
A    libpayload/util/kconfig/kxgettext.c
A    libpayload/util/kconfig/zconf.l
A    libpayload/util/kconfig/gconf.c
A    libpayload/util/kconfig/Makefile
A    libpayload/drivers
A    libpayload/drivers/serial.c
A    libpayload/drivers/keyboard.c
A    libpayload/drivers/nvram.c
A    libpayload/drivers/Makefile.inc
A    libpayload/drivers/video
A    libpayload/drivers/video/font8x16.h
A    libpayload/drivers/video/video.c
A    libpayload/drivers/video/geodelx.c
A    libpayload/drivers/video/font8x16.c
A    libpayload/drivers/video/vga.c
A    libpayload/drivers/usb
A    libpayload/drivers/usb/usbhid.c
A    libpayload/drivers/usb/uhci_rh.c
A    libpayload/drivers/usb/TODO
A    libpayload/drivers/usb/usb_dev.c
A    libpayload/drivers/usb/uhci.c
A    libpayload/drivers/usb/usbhub.c
A    libpayload/drivers/usb/usb.c
A    libpayload/drivers/usb/usbmsc.c
A    libpayload/drivers/usb/uhci.h
A    libpayload/drivers/usb/usbinit.c
A    libpayload/drivers/speaker.c
A    libpayload/drivers/options.c
A    libpayload/drivers/pci.c
 U   libpayload
Checked out revision 4892.
nils at debian:~$ cd libpayload
nils at debian:~/libpayload$ make distclean
nils at debian:~/libpayload$ make defconfig
*** Default configuration is based on 'configs/defconfig'
*
* libpayload Configuration
*
*
* Architecture Options
*
Target Architecture
> 1. x86 (TARGET_I386)
  2. PowerPC (TARGET_POWERPC)
choice[1-2]: 1
Multiboot header support (MULTIBOOT) [N/y] n
*
* Standard Libraries
*
Enable C library support (LIBC) [Y/n] y
Enable tinycurses support (TINYCURSES) [Y/n] y
*
* Console Options
*
See output on the serial port console (SERIAL_CONSOLE) [Y/n] y
  I/O base for the serial port (default 0x3f8) (SERIAL_IOBASE) [0x3f8] 0x3f8
  Override the serial console baud rate (SERIAL_SET_SPEED) [N/y] n
  Use plain ASCII characters for ACS (SERIAL_ACS_FALLBACK) [N/y/?] n
See output on a video console (VIDEO_CONSOLE) [Y/n] y
  VGA video console driver (VGA_VIDEO_CONSOLE) [Y/n] y
  Geode LX video console driver (GEODELX_VIDEO_CONSOLE) [N/y] n
Allow input from a PC keyboard (PC_KEYBOARD) [Y/n] y
  English (US) keyboard layout (PC_KEYBOARD_LAYOUT_US) [Y/n] y
  German keyboard layout (PC_KEYBOARD_LAYOUT_DE) [N/y] n
*
* Drivers
*
Support for PCI devices (PCI) [Y/n] y
Support for reading/writing NVRAM bytes (NVRAM) [Y/n] y
Extended RTC ports are 0x74/0x75 (RTC_PORT_EXTENDED_VIA) [N/y/?] n
Support for PC speaker (SPEAKER) [Y/n] y
USB Support (USB) [N/y] n
#
# configuration written to .config
#
nils at debian:~/libpayload$ make install
  CC      build/arch/i386/head.S.o
  CC      build/arch/i386/main.o
  CC      build/arch/i386/sysinfo.o
  CC      build/arch/i386/timer.o
  CC      build/arch/i386/coreboot.o
  CC      build/arch/i386/util.S.o
  CC      build/arch/i386/exec.S.o
  CC      build/arch/i386/virtual.o
  CC      build/crypto/sha1.o
  CC      build/libc/malloc.o
  CC      build/libc/printf.o
  CC      build/libc/console.o
  CC      build/libc/string.o
  CC      build/libc/memory.o
  CC      build/libc/ctype.o
  CC      build/libc/ipchecksum.o
  CC      build/libc/lib.o
  CC      build/libc/rand.o
  CC      build/libc/time.o
  CC      build/libc/lar.o
  CC      build/libc/exec.o
  CC      build/libc/readline.o
  CC      build/libc/getopt_long.o
  CC      build/libc/sysinfo.o
  CC      build/drivers/pci.o
  CC      build/drivers/speaker.o
  CC      build/drivers/serial.o
  CC      build/drivers/keyboard.o
  CC      build/drivers/nvram.o
  CC      build/drivers/options.o
  CC      build/drivers/video/video.o
  CC      build/drivers/video/vga.o
  CC      build/curses/keyboard.o
  CC      build/curses/tinycurses.o
  CC      build/curses/colors.o
  AR      build/lib/libpayload.a
  INSTALL /opt/libpayload/lib
cp: cannot create regular file ‘/opt/libpayload/lib/i386/head.o’: Permission 
denied
cp: cannot create regular file ‘/opt/libpayload/lib/libpayload.a’: Permission 
denied
cp: cannot create regular file ‘/opt/libpayload/lib/libpayload.ldscript’: 
Permission denied
make: *** [install] Error 1

---------------------------------------------------8<-------------------------
So i used sudo here as i am a normal user.
--------------------------------------------------->8-------------------------

nils at debian:~/libpayload$ sudo make install
  AR      build/lib/libpayload.a
  INSTALL /opt/libpayload/lib
  INSTALL /opt/libpayload/include
  INSTALL /opt/libpayload/bin
nils at debian:~/libpayload$ cd ..
nils at debian:~$ cd hello
nils at debian:~/hello$ make
../bin/lpgcc -Wall -Werror -Os -c -o hello.o hello.c
make: ../bin/lpgcc: Command not found
make: *** [hello.o] Error 127
nils at debian:~/hello$

Thanks, Nils.




More information about the coreboot mailing list