Sébastien Bourdeauducq | 1 Nov 2009 14:10
Gravatar

[French] Atelier "Logiciel embarqué sur Milkymist", samedi 7 novembre, 14:00

This is an announcement for a workshop taking place at the /tmp/lab 
hackerspace near Paris next Saturday, about embedded software development on 
the Milkymist SoC.

The workshop will be held in French, but I can translate/switch to English at 
participant's request.

------------------------------

= Description =
Ceci n'est pas un workshop FPGA.
Cet atelier présente des techniques de base utilisées pour la plupart des 
développements logiciels "bas niveau" sur systèmes embarqués, toutes plate-
formes confondues (microcontrôleurs, system-on-chips [un system-on-chip n'est 
rien autre qu'un "gros" microcontrôleur], calculatrices, cadres photo, ...). 
Il présentera ensuite des aspects spécifiques au system-on-chip libre Milkymist 
tels que la programmation graphique et l'emploi de ses accélérateurs de 
calcul.

Les points suivants seront abordés:
* Pré-test d'un programme sur PC
* Installation et utilisation d'un compilateur croisé
* Chargement du programme dans la carte de développement
* Bases de programmation graphique bas niveau
* Utilisation des accélérateurs graphiques sur Milkymist

= Pré-requis =
Cet atelier s'adresse aussi bien aux débutants complets en programmation 
embarquée qu'aux personnes ayant déjà programmé sur plusieurs plate-formes et 
désirant se familiariser avec l'utilisation des périphériques de Milkymist.
(Continue reading)

Sébastien Bourdeauducq | 3 Nov 2009 16:23
Gravatar

FPGA Workshop #4 - Draft Slides

Hi,

Draft slides for the theoretical part are available at:
http://lekernel.net/presentations/FPGA_Workshops/091108_tmplab/scenes_draft.pdf

Let me know if you have any comments. There will be of course more 
explanations than what is just outlined in the slides.

See you on Sunday! (and it's still time to register on 
http://www.tmplab.org/wiki/index.php/FPGA_Workshop_4:_Behind_the_Scenes)

Sébastien
Johan Euphrosine | 7 Nov 2009 19:43
Gravatar

MilkyPong

Hi,

Today during the Milkymist workshop  <at> /tmp/lab,
http://www.tmplab.org/wiki/index.php/D%C3%A9veloppement_logiciel_embarqu
%C3%A9_sur_Milkymist

We forked milkymist-democompo into a quick and dirty pong:
http://github.com/proppy/milkymist-pong

Feel free to give it a try ;)

-- 
Johan Euphrosine <proppy@...>
Development and services around Free Software
http://aminche.com/
Hi,

Today during the Milkymist workshop  <at> /tmp/lab,
http://www.tmplab.org/wiki/index.php/D%C3%A9veloppement_logiciel_embarqu
%C3%A9_sur_Milkymist

We forked milkymist-democompo into a quick and dirty pong:
http://github.com/proppy/milkymist-pong

Feel free to give it a try ;)

--

-- 
Johan Euphrosine <proppy@...>
(Continue reading)

Gautam Kalyanasundaram | 8 Nov 2009 03:31
Picon

Issue with Linux COmpilation for Milkymist

Hi,

           I am an enthusiast and was trying to get milkymist SoC to run linux. I downloaded:

Platform: Windows XP + Cygwin 

1. The toolchain from Thoeborma Systems for Windows

2. The source from the GITHUB

3. Added the tool bin folder in the path for lm32-* tools

4. Copied the config as .config to the linux folder

5. Ran the make commands as in the readme

a. make mrproper
b. make
( this gave me a bunch of options - left all of them to default including the procesor type - as there was no lm32 type listed )

gave me this error:







  CHK     include/linux/version.h
  UPD     include/linux/version.h
  CHK     include/linux/utsrelease.h
  UPD     include/linux/utsrelease.h
  SYMLINK include/asm -> include/asm-i386
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/basic/docproc
  CC      arch/i386/kernel/asm-offsets.s
In file included from include/linux/stat.h:60,
                 from include/linux/module.h:10,
                 from include/linux/crypto.h:21,
                 from arch/i386/kernel/asm-offsets.c:7:
include/linux/time.h:95: warning: weak declaration of 'xtime_lock' not supported
In file included from include/linux/sched.h:60,
                 from arch/i386/kernel/asm-offsets.c:8:
include/linux/ipipe.h:32:23: asm/ipipe.h: No such file or directory
make[1]: *** [arch/i386/kernel/asm-offsets.s] Error 1
make: *** [prepare0] Error 2
bash-3.2$ 

Can you please help me with this?
Thanks.

Regards,
Gautam



<div>
<p>Hi,</p>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; I am an enthusiast and was trying to get milkymist SoC to run linux. I downloaded:</div>
<div><br></div>
<div>Platform: Windows XP + Cygwin&nbsp;</div>
<div><br></div>
<div>1. The toolchain from Thoeborma Systems for Windows</div>
<div><br></div>
<div>2. The source from the GITHUB</div>
<div><br></div>
<div>3. Added the tool bin folder in the path for lm32-* tools</div>
<div><br></div>
<div>4. Copied the config as .config to the linux folder</div>
<div><br></div>
<div>5. Ran the make commands as in the readme</div>
<div><br></div>
<div>a. make mrproper</div>
<div>b. make</div>
<div>( this gave me a bunch of options - left all of them to default including the procesor type - as there was no lm32 type listed )</div>
<div><br></div>
<div>gave me this error:</div>
<div>
<div><br></div>
<div><br></div>
<div><br></div>
<div><br></div>
<div><br></div>
<div><br></div>
<div><br></div>
<div>&nbsp;&nbsp;CHK &nbsp; &nbsp; include/linux/version.h</div>
<div>&nbsp;&nbsp;UPD &nbsp; &nbsp; include/linux/version.h</div>
<div>&nbsp;&nbsp;CHK &nbsp; &nbsp; include/linux/utsrelease.h</div>
<div>&nbsp;&nbsp;UPD &nbsp; &nbsp; include/linux/utsrelease.h</div>
<div>&nbsp;&nbsp;SYMLINK include/asm -&gt; include/asm-i386</div>
<div>&nbsp;&nbsp;HOSTCC &nbsp;scripts/basic/fixdep</div>
<div>&nbsp;&nbsp;HOSTCC &nbsp;scripts/basic/docproc</div>
<div>&nbsp;&nbsp;CC &nbsp; &nbsp; &nbsp;arch/i386/kernel/asm-offsets.s</div>
<div>In file included from include/linux/stat.h:60,</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; from include/linux/module.h:10,</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; from include/linux/crypto.h:21,</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; from arch/i386/kernel/asm-offsets.c:7:</div>
<div>include/linux/time.h:95: warning: weak declaration of 'xtime_lock' not supported</div>
<div>In file included from include/linux/sched.h:60,</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; from arch/i386/kernel/asm-offsets.c:8:</div>
<div>include/linux/ipipe.h:32:23: asm/ipipe.h: No such file or directory</div>
<div>make[1]: *** [arch/i386/kernel/asm-offsets.s] Error 1</div>
<div>make: *** [prepare0] Error 2</div>
<div>bash-3.2$&nbsp;</div>
<div><br></div>
<div>Can you please help me with this?</div>
<div>Thanks.</div>
<div><br></div>
<div>Regards,</div>
<div>Gautam</div>
</div>
<div><br></div>
<div><br></div>
<div><br></div>
</div>
Sébastien Bourdeauducq | 8 Nov 2009 12:50
Gravatar

Re: Issue with Linux COmpilation for Milkymist

Hi,

On Sunday 08 November 2009 03:31:38 Gautam Kalyanasundaram wrote:
> 1. The toolchain from Thoeborma Systems for Windows

Do not use this one, it produces corrupted kernels that will crash during 
boot. Use GCC >= 4.4. You may need to compile it yourself for Windows.
You should use the "lm32-elf" target in the "configure" scripts; no other 
special option should be passed. You can have a look at the "debian/rules" 
scripts in the "milkymist-packaging" repository to get an idea of the complete 
"configure" command line.

> a. make mrproper
> b. make
> ( this gave me a bunch of options - left all of them to default including
> the procesor type - as there was no lm32 type listed )

Instead of just "make", the correct command is:
ARCH=lm32 CROSS_COMPILE=lm32-elf- make

Sébastien
Gautam Kalyanasundaram | 8 Nov 2009 14:47
Picon

Re: Issue with Linux COmpilation for Milkymist

Hi Sebastien,

                         Thanks. I did that and I get this error:
 CHK     include/linux/version.h
  CHK     include/linux/utsrelease.h
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/basic/docproc
  CC      arch/i386/kernel/asm-offsets.s
cc1: error: unrecognized command line option "-msoft-float"
cc1: error: unrecognized command line option "-mregparm=3"
cc1: error: unrecognized command line option "-march=i686"
cc1: error: unrecognized command line option "-maccumulate-outgoing-args"
make[1]: *** [arch/i386/kernel/asm-offsets.s] Error 1
make: *** [prepare0] Error 2

Any ideas on this? Thank you for your help!
Thanks.

Regards,
Gautam

On Sun, Nov 8, 2009 at 5:20 PM, Sébastien Bourdeauducq <sebastien.bourdeauducq <at> lekernel.net> wrote:
Hi,

On Sunday 08 November 2009 03:31:38 Gautam Kalyanasundaram wrote:
> 1. The toolchain from Thoeborma Systems for Windows

Do not use this one, it produces corrupted kernels that will crash during
boot. Use GCC >= 4.4. You may need to compile it yourself for Windows.
You should use the "lm32-elf" target in the "configure" scripts; no other
special option should be passed. You can have a look at the "debian/rules"
scripts in the "milkymist-packaging" repository to get an idea of the complete
"configure" command line.

> a. make mrproper
> b. make
> ( this gave me a bunch of options - left all of them to default including
> the procesor type - as there was no lm32 type listed )

Instead of just "make", the correct command is:
ARCH=lm32 CROSS_COMPILE=lm32-elf- make

Sébastien

<div>
<p>Hi Sebastien,</p>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Thanks. I did that and I get this error:</div>
<div>
<div>&nbsp;CHK &nbsp; &nbsp; include/linux/version.h</div>
<div>&nbsp;&nbsp;CHK &nbsp; &nbsp; include/linux/utsrelease.h</div>
<div>&nbsp;&nbsp;HOSTCC &nbsp;scripts/basic/fixdep</div>
<div>&nbsp;&nbsp;HOSTCC &nbsp;scripts/basic/docproc</div>
<div>&nbsp;&nbsp;CC &nbsp; &nbsp; &nbsp;arch/i386/kernel/asm-offsets.s</div>
<div>cc1: error: unrecognized command line option "-msoft-float"</div>
<div>cc1: error: unrecognized command line option "-mregparm=3"</div>
<div>cc1: error: unrecognized command line option "-march=i686"</div>
<div>cc1: error: unrecognized command line option "-maccumulate-outgoing-args"</div>
<div>make[1]: *** [arch/i386/kernel/asm-offsets.s] Error 1</div>
<div>make: *** [prepare0] Error 2</div>
<div><br></div>
<div>Any ideas on this? Thank you for your help!</div>
<div>Thanks.</div>
<div><br></div>
<div>Regards,</div>
<div>Gautam</div>
<br><div class="gmail_quote">On Sun, Nov 8, 2009 at 5:20 PM, S&eacute;bastien Bourdeauducq <span dir="ltr">&lt;<a href="mailto:sebastien.bourdeauducq@...">sebastien.bourdeauducq <at> lekernel.net</a>&gt;</span> wrote:<br><blockquote class="gmail_quote">Hi,<br><div class="im">
<br>
On Sunday 08 November 2009 03:31:38 Gautam Kalyanasundaram wrote:<br>
&gt; 1. The toolchain from Thoeborma Systems for Windows<br><br>
</div>Do not use this one, it produces corrupted kernels that will crash during<br>
boot. Use GCC &gt;= 4.4. You may need to compile it yourself for Windows.<br>
You should use the "lm32-elf" target in the "configure" scripts; no other<br>
special option should be passed. You can have a look at the "debian/rules"<br>
scripts in the "milkymist-packaging" repository to get an idea of the complete<br>
"configure" command line.<br><div class="im">
<br>
&gt; a. make mrproper<br>
&gt; b. make<br>
&gt; ( this gave me a bunch of options - left all of them to default including<br>
&gt; the procesor type - as there was no lm32 type listed )<br><br>
</div>Instead of just "make", the correct command is:<br>
ARCH=lm32 CROSS_COMPILE=lm32-elf- make<br><br>
S&eacute;bastien<br>
</blockquote>
</div>
<br>
</div>
</div>
Gautam Kalyanasundaram | 8 Nov 2009 15:00
Picon

Re: Issue with Linux COmpilation for Milkymist

Hi Sebastien,

                             Sorry about the repeated emails. I figured out that the last message was because of an existing edited config file lying around. I did a make clean and then copied over the config file to the .config and reran the make as you had suggested. 

I still get a lot of options to be set during the make. Is there any way of avoiding this? 
I have included the full compile log inline below. Thanks once again for your help in advance. 

Regards,
Gautam

  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/basic/docproc
  HOSTLD  scripts/kconfig/conf
scripts/kconfig/conf -s arch/i386/Kconfig
init/Kconfig:694:warning: 'select' used by config symbol 'XENOMAI' refers to undefined symbol 'IPIPE'
.config:12:warning: trying to assign nonexistent symbol GENERIC_FIND_NEXT_BIT
.config:24:warning: trying to assign nonexistent symbol GENERIC_HARDIRQS_NO__DO_IRQ
.config:26:warning: trying to assign nonexistent symbol IPIPE_TRACE_MCOUNTS
.config:106:warning: trying to assign nonexistent symbol CPU_MICO32
.config:107:warning: trying to assign nonexistent symbol BOARD_XILINX_ML401
.config:108:warning: trying to assign nonexistent symbol BOARD_MILKYMIST_ONE
.config:109:warning: trying to assign nonexistent symbol CPU_CLOCK
.config:110:warning: trying to assign nonexistent symbol MEMORY_START
.config:111:warning: trying to assign nonexistent symbol MEMORY_SIZE
.config:112:warning: trying to assign nonexistent symbol TEXT_OFFSET
.config:113:warning: trying to assign nonexistent symbol LM32_HW_JTAG
.config:506:warning: trying to assign nonexistent symbol BOOTPARAM
*
* Restart config...
*
*
* General setup
*
Prompt for development and/or incomplete code/drivers (EXPERIMENTAL) [Y/n/?] y
Local version - append to kernel release (LOCALVERSION) [] 
Automatically append version information to the version string (LOCALVERSION_AUTO) [N/y/?] n
Support for paging of anonymous memory (swap) (SWAP) [Y/n/?] (NEW) n
System V IPC (SYSVIPC) [N/y/?] n
POSIX Message Queues (POSIX_MQUEUE) [N/y/?] n
BSD Process Accounting (BSD_PROCESS_ACCT) [N/y/?] n
Export task/process statistics through netlink (EXPERIMENTAL) (TASKSTATS) [N/y/?] n
User Namespaces (EXPERIMENTAL) (USER_NS) [N/y/?] n
Auditing support (AUDIT) [N/y/?] n
Kernel .config support (IKCONFIG) [N/m/y/?] n
Kernel log buffer size (16 => 64KB, 17 => 128KB) (LOG_BUF_SHIFT) [12] 12
Create deprecated sysfs files (SYSFS_DEPRECATED) [N/y/?] n
Kernel->user space relay support (formerly relayfs) (RELAY) [N/y/?] n
Initial RAM filesystem and RAM disk (initramfs/initrd) support (BLK_DEV_INITRD) [Y/n/?] y
  Initramfs source file(s) (INITRAMFS_SOURCE) [] 
Optimize for size (Look out for broken compilers!) (CC_OPTIMIZE_FOR_SIZE) [N/y/?] n
*
* Configure standard kernel features (for small systems)
*
Configure standard kernel features (for small systems) (EMBEDDED) [Y/n/?] y
  Enable 16-bit UID system calls (UID16) [Y/n/?] (NEW) 
  Sysctl syscall support (SYSCTL_SYSCALL) [N/y/?] n
  Load all symbols for debugging/ksymoops (KALLSYMS) [Y/n/?] y
    Include all symbols in kallsyms (KALLSYMS_ALL) [N/y/?] n
    Do an extra kallsyms pass (KALLSYMS_EXTRA_PASS) [Y/n/?] y
  Support for hot-pluggable devices (HOTPLUG) [N/y/?] n
  Enable support for printk (PRINTK) [Y/n/?] y
  BUG() support (BUG) [Y/n/?] y
  Enable ELF core dumps (ELF_CORE) [N/y/?] n
  Enable full-sized data structures for core (BASE_FULL) [N/y/?] n
  Enable futex support (FUTEX) [Y/n/?] y
Enable eventpoll support (EPOLL) [N/y/?] n
Enable signalfd() system call (SIGNALFD) [N/y/?] n
Enable eventfd() system call (EVENTFD) [N/y/?] n
Use full shmem filesystem (SHMEM) [Y/n/?] (NEW) 
Enable VM event counters for /proc/vmstat (VM_EVENT_COUNTERS) [N/y/?] n
Choose SLAB allocator
> 1. SLAB (SLAB)
  2. SLUB (Unqueued Allocator) (SLUB)
  3. SLOB (Simple Allocator) (SLOB)
choice[1-3?]: 1
*
* Processor type and features
*
Tickless System (Dynamic Ticks) (NO_HZ) [N/y/?] (NEW) y
High Resolution Timer Support (HIGH_RES_TIMERS) [N/y/?] (NEW) N
Symmetric multi-processing support (SMP) [N/y/?] (NEW) 
Subarchitecture Type
> 1. PC-compatible (X86_PC) (NEW)
  2. AMD Elan (X86_ELAN) (NEW)
  3. Voyager (NCR) (X86_VOYAGER) (NEW)
  4. NUMAQ (IBM/Sequent) (X86_NUMAQ) (NEW)
  5. SGI 320/540 (Visual Workstation) (X86_VISWS) (NEW)
  6. Generic architecture (Summit, bigsmp, ES7000, default) (X86_GENERICARCH) (NEW)
choice[1-6]: 6
Paravirtualization support (EXPERIMENTAL) (PARAVIRT) [N/y/?] (NEW) 
Processor family
  1. 386 (M386) (NEW)
  2. 486 (M486) (NEW)
  3. 586/K5/5x86/6x86/6x86MX (M586) (NEW)
  4. Pentium-Classic (M586TSC) (NEW)
  5. Pentium-MMX (M586MMX) (NEW)
> 6. Pentium-Pro (M686) (NEW)
  7. Pentium-II/Celeron(pre-Coppermine) (MPENTIUMII) (NEW)
  8. Pentium-III/Celeron(Coppermine)/Pentium-III Xeon (MPENTIUMIII) (NEW)
  9. Pentium M (MPENTIUMM) (NEW)
  10. Core 2/newer Xeon (MCORE2) (NEW)
  11. Pentium-4/Celeron(P4-based)/Pentium-4 M/older Xeon (MPENTIUM4) (NEW)
  12. K6/K6-II/K6-III (MK6) (NEW)
  13. Athlon/Duron/K7 (MK7) (NEW)
  14. Opteron/Athlon64/Hammer/K8 (MK8) (NEW)
  15. Crusoe (MCRUSOE) (NEW)
  16. Efficeon (MEFFICEON) (NEW)
  17. Winchip-C6 (MWINCHIPC6) (NEW)
  18. Winchip-2 (MWINCHIP2) (NEW)
  19. Winchip-2A/Winchip-3 (MWINCHIP3D) (NEW)
  20. GeodeGX1 (MGEODEGX1) (NEW)
  21. Geode GX/LX (MGEODE_LX) (NEW)
  22. CyrixIII/VIA-C3 (MCYRIXIII) (NEW)
  23. VIA C3-2 (Nehemiah) (MVIAC3_2) (NEW)
  24. VIA C7 (MVIAC7) (NEW)
choice[1-24]: 
Generic x86 support (X86_GENERIC) [N/y/?] (NEW) 
HPET Timer Support (HPET_TIMER) [N/y/?] (NEW) 
Preemption Model
> 1. No Forced Preemption (Server) (PREEMPT_NONE) (NEW)
  2. Voluntary Kernel Preemption (Desktop) (PREEMPT_VOLUNTARY) (NEW)
  3. Preemptible Kernel (Low-Latency Desktop) (PREEMPT) (NEW)
choice[1-3]: 
Machine Check Exception (X86_MCE) [N/y/?] (NEW) 
Enable VM86 support (VM86) [Y/n/?] (NEW) 
Toshiba Laptop support (TOSHIBA) [N/m/y/?] (NEW) 
Dell laptop support (I8K) [N/m/y/?] (NEW) 
Enable X86 board specific fixups for reboot (X86_REBOOTFIXUPS) [N/y/?] (NEW) 
/dev/cpu/microcode - Intel IA32 CPU microcode support (MICROCODE) [N/m/y/?] (NEW) 
/dev/cpu/*/msr - Model-specific register support (X86_MSR) [N/m/y/?] (NEW) 
/dev/cpu/*/cpuid - CPU information support (X86_CPUID) [N/m/y/?] (NEW) 
*
* Firmware Drivers
*
BIOS Enhanced Disk Drive calls determine boot disk (EDD) [N/m/y/?] (NEW) 
BIOS update support for DELL systems via sysfs (DELL_RBU) [N/m/y/?] (NEW) 
Dell Systems Management Base Driver (DCDBAS) [N/m/y/?] (NEW) 
Export DMI identification via sysfs to userspace (DMIID) [Y/n/?] (NEW) 
High Memory Support
  1. off (NOHIGHMEM) (NEW)
> 2. 4GB (HIGHMEM4G) (NEW)
  3. 64GB (HIGHMEM64G) (NEW)
choice[1-3]: 
Memory split
> 1. 3G/1G user/kernel split (VMSPLIT_3G) (NEW)
  2. 3G/1G user/kernel split (for full 1G low memory) (VMSPLIT_3G_OPT) (NEW)
  3. 2G/2G user/kernel split (VMSPLIT_2G) (NEW)
  4. 2G/2G user/kernel split (for full 2G low memory) (VMSPLIT_2G_OPT) (NEW)
  5. 1G/3G user/kernel split (VMSPLIT_1G) (NEW)
choice[1-5?]: 
Memory model
> 1. Flat Memory (FLATMEM_MANUAL)
choice[1]: 1
64 bit Memory and IO resources (EXPERIMENTAL) (RESOURCES_64BIT) [N/y/?] (NEW) 
Allocate 3rd-level pagetables from highmem (HIGHPTE) [N/y/?] (NEW) 
Math emulation (MATH_EMULATION) [N/y/?] (NEW) 
MTRR (Memory Type Range Register) support (MTRR) [N/y/?] (NEW) 
Enable seccomp to safely compute untrusted bytecode (SECCOMP) [Y/n/?] (NEW) 
Timer frequency
  1. 100 HZ (HZ_100) (NEW)
> 2. 250 HZ (HZ_250) (NEW)
  3. 300 HZ (HZ_300) (NEW)
  4. 1000 HZ (HZ_1000) (NEW)
choice[1-4?]: 
kexec system call (KEXEC) [N/y/?] (NEW) 
kernel crash dumps (EXPERIMENTAL) (CRASH_DUMP) [N/y/?] (NEW) 
Physical address where the kernel is loaded (PHYSICAL_START) [0x100000] (NEW) 
Build a relocatable kernel(EXPERIMENTAL) (RELOCATABLE) [N/y/?] (NEW) 
Alignment value to which kernel should be aligned (PHYSICAL_ALIGN) [0x100000] (NEW) 
Compat VDSO support (COMPAT_VDSO) [Y/n/?] (NEW) 
*
* CPU Frequency scaling
*
CPU Frequency scaling (CPU_FREQ) [N/y/?] (NEW) 
*
* Bus options (PCI, PCMCIA, EISA, MCA, ISA)
*
PCI support (PCI) [N/y/?] (NEW) 
ISA support (ISA) [N/y/?] (NEW) 
MCA support (MCA) [N/y/?] (NEW) 
NatSemi SCx200 support (SCx200) [N/m/y/?] (NEW) 
*
* Executable file formats
*
Kernel support for ELF binaries (BINFMT_ELF) [Y/n/?] (NEW) 
Kernel support for a.out and ECOFF binaries (BINFMT_AOUT) [N/m/y/?] (NEW) 
Kernel support for MISC binaries (BINFMT_MISC) [N/m/y/?] n
*
* Block devices
*
Block devices (BLK_DEV) [Y/n/?] y
  Normal floppy disk support (BLK_DEV_FD) [N/m/y/?] (NEW) 
  Loopback device support (BLK_DEV_LOOP) [Y/n/m/?] y
    Cryptoloop Support (BLK_DEV_CRYPTOLOOP) [N/m/y/?] n
  Network block device support (BLK_DEV_NBD) [N/m/y/?] n
  RAM disk support (BLK_DEV_RAM) [Y/n/m/?] y
    Default number of RAM disks (BLK_DEV_RAM_COUNT) [1] 1
    Default RAM disk size (kbytes) (BLK_DEV_RAM_SIZE) [8192] 8192
    Default RAM disk block size (bytes) (BLK_DEV_RAM_BLOCKSIZE) [1024] 1024
  Packet writing on CD/DVD media (CDROM_PKTCDVD) [N/m/y/?] n
  ATA over Ethernet support (ATA_OVER_ETH) [N/m/y/?] n
*
* Macintosh device drivers
*
Macintosh device drivers (MACINTOSH_DRIVERS) [N/y/?] (NEW) 
*
* Character devices
*
Virtual terminal (VT) [Y/n/?] y
  Support for console on virtual terminal (VT_CONSOLE) [Y/n/?] y
  Support for binding and unbinding console drivers (VT_HW_CONSOLE_BINDING) [N/y/?] n
Non-standard serial port support (SERIAL_NONSTANDARD) [N/y/?] n
Unix98 PTY support (UNIX98_PTYS) [Y/n/?] y
Legacy (BSD) PTY support (LEGACY_PTYS) [Y/n/?] y
  Maximum number of legacy PTY in use (LEGACY_PTY_COUNT) [256] 256
Hardware Random Number Generator Core support (HW_RANDOM) [N/m/y/?] n
/dev/nvram support (NVRAM) [N/m/y/?] (NEW) 
Enhanced Real Time Clock Support (RTC) [N/m/y/?] n
Generic /dev/rtc emulation (GEN_RTC) [N/m/y/?] n
Siemens R3964 line discipline (R3964) [N/m/y/?] n
ACP Modem (Mwave) support (MWAVE) [N/m/y/?] (NEW) 
NatSemi PC8736x GPIO Support (PC8736x_GPIO) [N/m/y/?] (NEW) 
NatSemi Base GPIO Support (NSC_GPIO) [N/m/y/?] (NEW) 
AMD CS5535/CS5536 GPIO (Geode Companion Device) (CS5535_GPIO) [N/m/y/?] (NEW) 
RAW driver (/dev/raw/rawN) (RAW_DRIVER) [N/m/y/?] n
Hangcheck timer (HANGCHECK_TIMER) [N/m/y/?] (NEW) 
Telecom clock driver for ATCA SBC (TELCLOCK) [N/m/y/?] (NEW) 
*
* EDAC - error detection and reporting (EXPERIMENTAL)
*
EDAC - error detection and reporting (EXPERIMENTAL) (EDAC) [N/y/?] (NEW) 
*
* Virtualization
*
Virtualization (VIRTUALIZATION) [Y/n/?] (NEW) 
  Kernel-based Virtual Machine (KVM) support (KVM) [N/m/y/?] (NEW) 
*
* File systems
*
Second extended fs support (EXT2_FS) [Y/n/m/?] y
  Ext2 extended attributes (EXT2_FS_XATTR) [N/y/?] n
  Ext2 execute in place support (EXT2_FS_XIP) [N/y/?] (NEW) 
Ext3 journalling file system support (EXT3_FS) [N/m/y/?] n
Ext4dev/ext4 extended fs support development (EXPERIMENTAL) (EXT4DEV_FS) [N/m/y/?] n
Reiserfs support (REISERFS_FS) [N/m/y/?] n
JFS filesystem support (JFS_FS) [N/m/y/?] n
XFS filesystem support (XFS_FS) [N/m/y/?] n
GFS2 file system support (GFS2_FS) [N/m/y/?] n
OCFS2 file system support (OCFS2_FS) [N/m/y/?] n
Minix fs support (MINIX_FS) [N/m/y/?] n
ROM file system support (ROMFS_FS) [Y/n/m/?] y
Inotify file change notification support (INOTIFY) [N/y/?] n
Quota support (QUOTA) [N/y/?] n
Dnotify support (DNOTIFY) [Y/n/?] y
Kernel automounter support (AUTOFS_FS) [N/m/y/?] n
Kernel automounter version 4 support (also supports v3) (AUTOFS4_FS) [N/m/y/?] n
Filesystem in Userspace support (FUSE_FS) [N/m/y/?] n
*
* Pseudo filesystems
*
/proc file system support (PROC_FS) [Y/n/?] y
  /proc/kcore support (PROC_KCORE) [N/y] (NEW) 
  Sysctl support (/proc/sys) (PROC_SYSCTL) [Y/n/?] y
sysfs file system support (SYSFS) [Y/n/?] y
Virtual memory file system support (former shm fs) (TMPFS) [N/y/?] n
HugeTLB file system support (HUGETLBFS) [N/y/?] (NEW) 
Userspace-driven configuration filesystem (EXPERIMENTAL) (CONFIGFS_FS) [N/m/y/?] n
*
* Instrumentation Support
*
Instrumentation Support (INSTRUMENTATION) [Y/n/?] (NEW) 
  Profiling support (EXPERIMENTAL) (PROFILING) [N/y/?] (NEW) 
  Kprobes (KPROBES) [N/y/?] (NEW) 
*
* Kernel hacking
*
Show timing information on printks (PRINTK_TIME) [N/y/?] n
Enable __must_check logic (ENABLE_MUST_CHECK) [Y/n/?] y
Magic SysRq key (MAGIC_SYSRQ) [N/y/?] n
Enable unused/obsolete exported symbols (UNUSED_SYMBOLS) [N/y/?] n
Debug Filesystem (DEBUG_FS) [N/y/?] n
Run 'make headers_check' when building vmlinux (HEADERS_CHECK) [N/y/?] n
Kernel debugging (DEBUG_KERNEL) [Y/n/?] y
  Debug shared IRQ handlers (DEBUG_SHIRQ) [N/y/?] n
  Detect Soft Lockups (DETECT_SOFTLOCKUP) [N/y/?] n
  Collect scheduler debugging info (SCHED_DEBUG) [N/y/?] n
  Collect scheduler statistics (SCHEDSTATS) [N/y/?] n
  Collect kernel timers statistics (TIMER_STATS) [N/y/?] n
  Debug slab memory allocations (DEBUG_SLAB) [N/y/?] n
RT Mutex debugging, deadlock detection (DEBUG_RT_MUTEXES) [N/y/?] n
Built-in scriptable tester for rt-mutexes (RT_MUTEX_TESTER) [N/y/?] n
Spinlock and rw-lock debugging: basic checks (DEBUG_SPINLOCK) [N/y/?] n
Mutex debugging: basic checks (DEBUG_MUTEXES) [N/y/?] n
Lock debugging: detect incorrect freeing of live locks (DEBUG_LOCK_ALLOC) [N/y/?] (NEW) 
Lock debugging: prove locking correctness (PROVE_LOCKING) [N/y/?] (NEW) 
Lock usage statistics (LOCK_STAT) [N/y/?] (NEW) 
Spinlock debugging: sleep-inside-spinlock checking (DEBUG_SPINLOCK_SLEEP) [N/y/?] n
Locking API boot-time self-tests (DEBUG_LOCKING_API_SELFTESTS) [N/y/?] n
kobject debugging (DEBUG_KOBJECT) [N/y/?] n
Highmem debugging (DEBUG_HIGHMEM) [N/y/?] (NEW) 
Verbose BUG() reporting (adds 70K) (DEBUG_BUGVERBOSE) [Y/n/?] y
Compile the kernel with debug info (DEBUG_INFO) [Y/n/?] y
Debug VM (DEBUG_VM) [N/y/?] n
Debug linked list manipulation (DEBUG_LIST) [N/y/?] n
Compile the kernel with frame pointers (FRAME_POINTER) [N/y/?] (NEW) 
Force gcc to inline functions marked 'inline' (FORCED_INLINING) [Y/n/?] y
torture tests for RCU (RCU_TORTURE_TEST) [N/m/?] n
Fault-injection framework (FAULT_INJECTION) [N/y/?] n
Early printk (EARLY_PRINTK) [N/y/?] n
Check for stack overflows (DEBUG_STACKOVERFLOW) [N/y/?] (NEW) 
Stack utilization instrumentation (DEBUG_STACK_USAGE) [N/y/?] (NEW) 
Debug page memory allocations (DEBUG_PAGEALLOC) [N/y/?] (NEW) 
Write protect kernel read-only data structures (DEBUG_RODATA) [N/y/?] (NEW) 
Use 4Kb for kernel stacks instead of 8Kb (4KSTACKS) [N/y/?] (NEW) 
Enable doublefault exception handler (DOUBLEFAULT) [Y/n/?] (NEW) 
#
# configuration written to .config
#







  CHK     include/linux/version.h
  UPD     include/linux/version.h
  CHK     include/linux/utsrelease.h
  UPD     include/linux/utsrelease.h
  SYMLINK include/asm -> include/asm-i386
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/basic/docproc
  CC      arch/i386/kernel/asm-offsets.s
cc1: error: unrecognized command line option "-msoft-float"
cc1: error: unrecognized command line option "-mregparm=3"
cc1: error: unrecognized command line option "-march=i686"
cc1: error: unrecognized command line option "-maccumulate-outgoing-args"
make[1]: *** [arch/i386/kernel/asm-offsets.s] Error 1


On Sun, Nov 8, 2009 at 7:17 PM, Gautam Kalyanasundaram <gautamkalyan-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
Hi Sebastien,
                         Thanks. I did that and I get this error:
 CHK     include/linux/version.h
  CHK     include/linux/utsrelease.h
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/basic/docproc
  CC      arch/i386/kernel/asm-offsets.s
cc1: error: unrecognized command line option "-msoft-float"
cc1: error: unrecognized command line option "-mregparm=3"
cc1: error: unrecognized command line option "-march=i686"
cc1: error: unrecognized command line option "-maccumulate-outgoing-args"
make[1]: *** [arch/i386/kernel/asm-offsets.s] Error 1
make: *** [prepare0] Error 2

Any ideas on this? Thank you for your help!
Thanks.

Regards,
Gautam

On Sun, Nov 8, 2009 at 5:20 PM, Sébastien Bourdeauducq <sebastien.bourdeauducq-InLmSLR+8s/k1uMJSBkQmQ@public.gmane.org> wrote:
Hi,

On Sunday 08 November 2009 03:31:38 Gautam Kalyanasundaram wrote:
> 1. The toolchain from Thoeborma Systems for Windows

Do not use this one, it produces corrupted kernels that will crash during
boot. Use GCC >= 4.4. You may need to compile it yourself for Windows.
You should use the "lm32-elf" target in the "configure" scripts; no other
special option should be passed. You can have a look at the "debian/rules"
scripts in the "milkymist-packaging" repository to get an idea of the complete
"configure" command line.

> a. make mrproper
> b. make
> ( this gave me a bunch of options - left all of them to default including
> the procesor type - as there was no lm32 type listed )

Instead of just "make", the correct command is:
ARCH=lm32 CROSS_COMPILE=lm32-elf- make

Sébastien


<div>
<p>Hi Sebastien,</p>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Sorry about the repeated emails. I figured out that the last message was because of an existing edited config file lying around. I did a make clean and then copied over the config file to the .config and reran the make as you had suggested.&nbsp;</div>
<div><br></div>
<div>I still get a lot of options to be set during the make. Is there any way of avoiding this?&nbsp;</div>
<div>I have included the full compile log inline below. Thanks once again for your help in advance.&nbsp;</div>
<div><br></div>
<div>Regards,</div>
<div>Gautam</div>
<div><br></div>
<div>
<div>&nbsp;&nbsp;HOSTCC &nbsp;scripts/basic/fixdep</div>
<div>
&nbsp;&nbsp;HOSTCC &nbsp;scripts/basic/docproc</div>
<div>&nbsp;&nbsp;HOSTLD &nbsp;scripts/kconfig/conf</div>
<div>scripts/kconfig/conf -s arch/i386/Kconfig</div>
<div>init/Kconfig:694:warning: 'select' used by config symbol 'XENOMAI' refers to undefined symbol 'IPIPE'</div>
<div>.config:12:warning: trying to assign nonexistent symbol GENERIC_FIND_NEXT_BIT</div>
<div>.config:24:warning: trying to assign nonexistent symbol GENERIC_HARDIRQS_NO__DO_IRQ</div>
<div>.config:26:warning: trying to assign nonexistent symbol IPIPE_TRACE_MCOUNTS</div>
<div>.config:106:warning: trying to assign nonexistent symbol CPU_MICO32</div>
<div>.config:107:warning: trying to assign nonexistent symbol BOARD_XILINX_ML401</div>
<div>.config:108:warning: trying to assign nonexistent symbol BOARD_MILKYMIST_ONE</div>
<div>.config:109:warning: trying to assign nonexistent symbol CPU_CLOCK</div>
<div>.config:110:warning: trying to assign nonexistent symbol MEMORY_START</div>
<div>.config:111:warning: trying to assign nonexistent symbol MEMORY_SIZE</div>
<div>.config:112:warning: trying to assign nonexistent symbol TEXT_OFFSET</div>
<div>.config:113:warning: trying to assign nonexistent symbol LM32_HW_JTAG</div>
<div>.config:506:warning: trying to assign nonexistent symbol BOOTPARAM</div>
<div>*</div>
<div>* Restart config...</div>
<div>*</div>
<div>*</div>
<div>* General setup</div>
<div>*</div>
<div>Prompt for development and/or incomplete code/drivers (EXPERIMENTAL) [Y/n/?] y</div>
<div>Local version - append to kernel release (LOCALVERSION) []&nbsp;</div>
<div>Automatically append version information to the version string (LOCALVERSION_AUTO) [N/y/?] n</div>
<div>Support for paging of anonymous memory (swap) (SWAP) [Y/n/?] (NEW) n</div>
<div>System V IPC (SYSVIPC) [N/y/?] n</div>
<div>POSIX Message Queues (POSIX_MQUEUE) [N/y/?] n</div>
<div>BSD Process Accounting (BSD_PROCESS_ACCT) [N/y/?] n</div>
<div>Export task/process statistics through netlink (EXPERIMENTAL) (TASKSTATS) [N/y/?] n</div>
<div>User Namespaces (EXPERIMENTAL) (USER_NS) [N/y/?] n</div>
<div>Auditing support (AUDIT) [N/y/?] n</div>
<div>Kernel .config support (IKCONFIG) [N/m/y/?] n</div>
<div>Kernel log buffer size (16 =&gt; 64KB, 17 =&gt; 128KB) (LOG_BUF_SHIFT) [12] 12</div>
<div>Create deprecated sysfs files (SYSFS_DEPRECATED) [N/y/?] n</div>
<div>Kernel-&gt;user space relay support (formerly relayfs) (RELAY) [N/y/?] n</div>
<div>Initial RAM filesystem and RAM disk (initramfs/initrd) support (BLK_DEV_INITRD) [Y/n/?] y</div>
<div>&nbsp;&nbsp;Initramfs source file(s) (INITRAMFS_SOURCE) []&nbsp;</div>
<div>Optimize for size (Look out for broken compilers!) (CC_OPTIMIZE_FOR_SIZE) [N/y/?] n</div>
<div>*</div>
<div>* Configure standard kernel features (for small systems)</div>
<div>*</div>
<div>Configure standard kernel features (for small systems) (EMBEDDED) [Y/n/?] y</div>
<div>&nbsp;&nbsp;Enable 16-bit UID system calls (UID16) [Y/n/?] (NEW)&nbsp;</div>
<div>&nbsp;&nbsp;Sysctl syscall support (SYSCTL_SYSCALL) [N/y/?] n</div>
<div>&nbsp;&nbsp;Load all symbols for debugging/ksymoops (KALLSYMS) [Y/n/?] y</div>
<div>&nbsp;&nbsp; &nbsp;Include all symbols in kallsyms (KALLSYMS_ALL) [N/y/?] n</div>
<div>&nbsp;&nbsp; &nbsp;Do an extra kallsyms pass (KALLSYMS_EXTRA_PASS) [Y/n/?] y</div>
<div>&nbsp;&nbsp;Support for hot-pluggable devices (HOTPLUG) [N/y/?] n</div>
<div>&nbsp;&nbsp;Enable support for printk (PRINTK) [Y/n/?] y</div>
<div>&nbsp;&nbsp;BUG() support (BUG) [Y/n/?] y</div>
<div>&nbsp;&nbsp;Enable ELF core dumps (ELF_CORE) [N/y/?] n</div>
<div>&nbsp;&nbsp;Enable full-sized data structures for core (BASE_FULL) [N/y/?] n</div>
<div>&nbsp;&nbsp;Enable futex support (FUTEX) [Y/n/?] y</div>
<div>Enable eventpoll support (EPOLL) [N/y/?] n</div>
<div>Enable signalfd() system call (SIGNALFD) [N/y/?] n</div>
<div>Enable eventfd() system call (EVENTFD) [N/y/?] n</div>
<div>Use full shmem filesystem (SHMEM) [Y/n/?] (NEW)&nbsp;</div>
<div>Enable VM event counters for /proc/vmstat (VM_EVENT_COUNTERS) [N/y/?] n</div>
<div>Choose SLAB allocator</div>
<div>&gt; 1. SLAB (SLAB)</div>
<div>&nbsp;&nbsp;2. SLUB (Unqueued Allocator) (SLUB)</div>
<div>&nbsp;&nbsp;3. SLOB (Simple Allocator) (SLOB)</div>
<div>choice[1-3?]: 1</div>
<div>*</div>
<div>* Processor type and features</div>
<div>*</div>
<div>Tickless System (Dynamic Ticks) (NO_HZ) [N/y/?] (NEW) y</div>
<div>High Resolution Timer Support (HIGH_RES_TIMERS) [N/y/?] (NEW) N</div>
<div>Symmetric multi-processing support (SMP) [N/y/?] (NEW)&nbsp;</div>
<div>Subarchitecture Type</div>
<div>&gt; 1. PC-compatible (X86_PC) (NEW)</div>
<div>&nbsp;&nbsp;2. AMD Elan (X86_ELAN) (NEW)</div>
<div>&nbsp;&nbsp;3. Voyager (NCR) (X86_VOYAGER) (NEW)</div>
<div>&nbsp;&nbsp;4. NUMAQ (IBM/Sequent) (X86_NUMAQ) (NEW)</div>
<div>&nbsp;&nbsp;5. SGI 320/540 (Visual Workstation) (X86_VISWS) (NEW)</div>
<div>&nbsp;&nbsp;6. Generic architecture (Summit, bigsmp, ES7000, default) (X86_GENERICARCH) (NEW)</div>
<div>choice[1-6]: 6</div>
<div>Paravirtualization support (EXPERIMENTAL) (PARAVIRT) [N/y/?] (NEW)&nbsp;</div>
<div>Processor family</div>
<div>&nbsp;&nbsp;1. 386 (M386) (NEW)</div>
<div>&nbsp;&nbsp;2. 486 (M486) (NEW)</div>
<div>&nbsp;&nbsp;3. 586/K5/5x86/6x86/6x86MX (M586) (NEW)</div>
<div>&nbsp;&nbsp;4. Pentium-Classic (M586TSC) (NEW)</div>
<div>&nbsp;&nbsp;5. Pentium-MMX (M586MMX) (NEW)</div>
<div>&gt; 6. Pentium-Pro (M686) (NEW)</div>
<div>&nbsp;&nbsp;7. Pentium-II/Celeron(pre-Coppermine) (MPENTIUMII) (NEW)</div>
<div>&nbsp;&nbsp;8. Pentium-III/Celeron(Coppermine)/Pentium-III Xeon (MPENTIUMIII) (NEW)</div>
<div>&nbsp;&nbsp;9. Pentium M (MPENTIUMM) (NEW)</div>
<div>&nbsp;&nbsp;10. Core 2/newer Xeon (MCORE2) (NEW)</div>
<div>&nbsp;&nbsp;11. Pentium-4/Celeron(P4-based)/Pentium-4 M/older Xeon (MPENTIUM4) (NEW)</div>
<div>&nbsp;&nbsp;12. K6/K6-II/K6-III (MK6) (NEW)</div>
<div>&nbsp;&nbsp;13. Athlon/Duron/K7 (MK7) (NEW)</div>
<div>&nbsp;&nbsp;14. Opteron/Athlon64/Hammer/K8 (MK8) (NEW)</div>
<div>&nbsp;&nbsp;15. Crusoe (MCRUSOE) (NEW)</div>
<div>&nbsp;&nbsp;16. Efficeon (MEFFICEON) (NEW)</div>
<div>&nbsp;&nbsp;17. Winchip-C6 (MWINCHIPC6) (NEW)</div>
<div>&nbsp;&nbsp;18. Winchip-2 (MWINCHIP2) (NEW)</div>
<div>&nbsp;&nbsp;19. Winchip-2A/Winchip-3 (MWINCHIP3D) (NEW)</div>
<div>&nbsp;&nbsp;20. GeodeGX1 (MGEODEGX1) (NEW)</div>
<div>&nbsp;&nbsp;21. Geode GX/LX (MGEODE_LX) (NEW)</div>
<div>&nbsp;&nbsp;22. CyrixIII/VIA-C3 (MCYRIXIII) (NEW)</div>
<div>&nbsp;&nbsp;23. VIA C3-2 (Nehemiah) (MVIAC3_2) (NEW)</div>
<div>&nbsp;&nbsp;24. VIA C7 (MVIAC7) (NEW)</div>
<div>choice[1-24]:&nbsp;</div>
<div>Generic x86 support (X86_GENERIC) [N/y/?] (NEW)&nbsp;</div>
<div>HPET Timer Support (HPET_TIMER) [N/y/?] (NEW)&nbsp;</div>
<div>Preemption Model</div>
<div>&gt; 1. No Forced Preemption (Server) (PREEMPT_NONE) (NEW)</div>
<div>&nbsp;&nbsp;2. Voluntary Kernel Preemption (Desktop) (PREEMPT_VOLUNTARY) (NEW)</div>
<div>&nbsp;&nbsp;3. Preemptible Kernel (Low-Latency Desktop) (PREEMPT) (NEW)</div>
<div>choice[1-3]:&nbsp;</div>
<div>Machine Check Exception (X86_MCE) [N/y/?] (NEW)&nbsp;</div>
<div>Enable VM86 support (VM86) [Y/n/?] (NEW)&nbsp;</div>
<div>Toshiba Laptop support (TOSHIBA) [N/m/y/?] (NEW)&nbsp;</div>
<div>Dell laptop support (I8K) [N/m/y/?] (NEW)&nbsp;</div>
<div>Enable X86 board specific fixups for reboot (X86_REBOOTFIXUPS) [N/y/?] (NEW)&nbsp;</div>
<div>/dev/cpu/microcode - Intel IA32 CPU microcode support (MICROCODE) [N/m/y/?] (NEW)&nbsp;</div>
<div>/dev/cpu/*/msr - Model-specific register support (X86_MSR) [N/m/y/?] (NEW)&nbsp;</div>
<div>/dev/cpu/*/cpuid - CPU information support (X86_CPUID) [N/m/y/?] (NEW)&nbsp;</div>
<div>*</div>
<div>* Firmware Drivers</div>
<div>*</div>
<div>BIOS Enhanced Disk Drive calls determine boot disk (EDD) [N/m/y/?] (NEW)&nbsp;</div>
<div>BIOS update support for DELL systems via sysfs (DELL_RBU) [N/m/y/?] (NEW)&nbsp;</div>
<div>Dell Systems Management Base Driver (DCDBAS) [N/m/y/?] (NEW)&nbsp;</div>
<div>Export DMI identification via sysfs to userspace (DMIID) [Y/n/?] (NEW)&nbsp;</div>
<div>High Memory Support</div>
<div>
&nbsp;&nbsp;1. off (NOHIGHMEM) (NEW)</div>
<div>&gt; 2. 4GB (HIGHMEM4G) (NEW)</div>
<div>&nbsp;&nbsp;3. 64GB (HIGHMEM64G) (NEW)</div>
<div>choice[1-3]:&nbsp;</div>
<div>Memory split</div>
<div>&gt; 1. 3G/1G user/kernel split (VMSPLIT_3G) (NEW)</div>
<div>&nbsp;&nbsp;2. 3G/1G user/kernel split (for full 1G low memory) (VMSPLIT_3G_OPT) (NEW)</div>
<div>&nbsp;&nbsp;3. 2G/2G user/kernel split (VMSPLIT_2G) (NEW)</div>
<div>&nbsp;&nbsp;4. 2G/2G user/kernel split (for full 2G low memory) (VMSPLIT_2G_OPT) (NEW)</div>
<div>&nbsp;&nbsp;5. 1G/3G user/kernel split (VMSPLIT_1G) (NEW)</div>
<div>choice[1-5?]:&nbsp;</div>
<div>Memory model</div>
<div>&gt; 1. Flat Memory (FLATMEM_MANUAL)</div>
<div>choice[1]: 1</div>
<div>64 bit Memory and IO resources (EXPERIMENTAL) (RESOURCES_64BIT) [N/y/?] (NEW)&nbsp;</div>
<div>
Allocate 3rd-level pagetables from highmem (HIGHPTE) [N/y/?] (NEW)&nbsp;</div>
<div>Math emulation (MATH_EMULATION) [N/y/?] (NEW)&nbsp;</div>
<div>MTRR (Memory Type Range Register) support (MTRR) [N/y/?] (NEW)&nbsp;</div>
<div>Enable seccomp to safely compute untrusted bytecode (SECCOMP) [Y/n/?] (NEW)&nbsp;</div>
<div>Timer frequency</div>
<div>&nbsp;&nbsp;1. 100 HZ (HZ_100) (NEW)</div>
<div>&gt; 2. 250 HZ (HZ_250) (NEW)</div>
<div>&nbsp;&nbsp;3. 300 HZ (HZ_300) (NEW)</div>
<div>&nbsp;&nbsp;4. 1000 HZ (HZ_1000) (NEW)</div>
<div>choice[1-4?]:&nbsp;</div>
<div>kexec system call (KEXEC) [N/y/?] (NEW)&nbsp;</div>
<div>kernel crash dumps (EXPERIMENTAL) (CRASH_DUMP) [N/y/?] (NEW)&nbsp;</div>
<div>Physical address where the kernel is loaded (PHYSICAL_START) [0x100000] (NEW)&nbsp;</div>
<div>Build a relocatable kernel(EXPERIMENTAL) (RELOCATABLE) [N/y/?] (NEW)&nbsp;</div>
<div>Alignment value to which kernel should be aligned (PHYSICAL_ALIGN) [0x100000] (NEW)&nbsp;</div>
<div>Compat VDSO support (COMPAT_VDSO) [Y/n/?] (NEW)&nbsp;</div>
<div>*</div>
<div>* CPU Frequency scaling</div>
<div>*</div>
<div>
CPU Frequency scaling (CPU_FREQ) [N/y/?] (NEW)&nbsp;</div>
<div>*</div>
<div>* Bus options (PCI, PCMCIA, EISA, MCA, ISA)</div>
<div>*</div>
<div>PCI support (PCI) [N/y/?] (NEW)&nbsp;</div>
<div>ISA support (ISA) [N/y/?] (NEW)&nbsp;</div>
<div>MCA support (MCA) [N/y/?] (NEW)&nbsp;</div>
<div>NatSemi SCx200 support (SCx200) [N/m/y/?] (NEW)&nbsp;</div>
<div>*</div>
<div>* Executable file formats</div>
<div>*</div>
<div>Kernel support for ELF binaries (BINFMT_ELF) [Y/n/?] (NEW)&nbsp;</div>
<div>Kernel support for a.out and ECOFF binaries (BINFMT_AOUT) [N/m/y/?] (NEW)&nbsp;</div>
<div>Kernel support for MISC binaries (BINFMT_MISC) [N/m/y/?] n</div>
<div>*</div>
<div>* Block devices</div>
<div>*</div>
<div>Block devices (BLK_DEV) [Y/n/?] y</div>
<div>&nbsp;&nbsp;Normal floppy disk support (BLK_DEV_FD) [N/m/y/?] (NEW)&nbsp;</div>
<div>&nbsp;&nbsp;Loopback device support (BLK_DEV_LOOP) [Y/n/m/?] y</div>
<div>&nbsp;&nbsp; &nbsp;Cryptoloop Support (BLK_DEV_CRYPTOLOOP) [N/m/y/?] n</div>
<div>&nbsp;&nbsp;Network block device support (BLK_DEV_NBD) [N/m/y/?] n</div>
<div>&nbsp;&nbsp;RAM disk support (BLK_DEV_RAM) [Y/n/m/?] y</div>
<div>&nbsp;&nbsp; &nbsp;Default number of RAM disks (BLK_DEV_RAM_COUNT) [1] 1</div>
<div>&nbsp;&nbsp; &nbsp;Default RAM disk size (kbytes) (BLK_DEV_RAM_SIZE) [8192] 8192</div>
<div>&nbsp;&nbsp; &nbsp;Default RAM disk block size (bytes) (BLK_DEV_RAM_BLOCKSIZE) [1024] 1024</div>
<div>&nbsp;&nbsp;Packet writing on CD/DVD media (CDROM_PKTCDVD) [N/m/y/?] n</div>
<div>&nbsp;&nbsp;ATA over Ethernet support (ATA_OVER_ETH) [N/m/y/?] n</div>
<div>*</div>
<div>* Macintosh device drivers</div>
<div>*</div>
<div>Macintosh device drivers (MACINTOSH_DRIVERS) [N/y/?] (NEW)&nbsp;</div>
<div>*</div>
<div>* Character devices</div>
<div>*</div>
<div>Virtual terminal (VT) [Y/n/?] y</div>
<div>&nbsp;&nbsp;Support for console on virtual terminal (VT_CONSOLE) [Y/n/?] y</div>
<div>&nbsp;&nbsp;Support for binding and unbinding console drivers (VT_HW_CONSOLE_BINDING) [N/y/?] n</div>
<div>Non-standard serial port support (SERIAL_NONSTANDARD) [N/y/?] n</div>
<div>Unix98 PTY support (UNIX98_PTYS) [Y/n/?] y</div>
<div>Legacy (BSD) PTY support (LEGACY_PTYS) [Y/n/?] y</div>
<div>
&nbsp;&nbsp;Maximum number of legacy PTY in use (LEGACY_PTY_COUNT) [256] 256</div>
<div>Hardware Random Number Generator Core support (HW_RANDOM) [N/m/y/?] n</div>
<div>/dev/nvram support (NVRAM) [N/m/y/?] (NEW)&nbsp;</div>
<div>Enhanced Real Time Clock Support (RTC) [N/m/y/?] n</div>
<div>Generic /dev/rtc emulation (GEN_RTC) [N/m/y/?] n</div>
<div>Siemens R3964 line discipline (R3964) [N/m/y/?] n</div>
<div>ACP Modem (Mwave) support (MWAVE) [N/m/y/?] (NEW)&nbsp;</div>
<div>NatSemi PC8736x GPIO Support (PC8736x_GPIO) [N/m/y/?] (NEW)&nbsp;</div>
<div>NatSemi Base GPIO Support (NSC_GPIO) [N/m/y/?] (NEW)&nbsp;</div>
<div>AMD CS5535/CS5536 GPIO (Geode Companion Device) (CS5535_GPIO) [N/m/y/?] (NEW)&nbsp;</div>
<div>RAW driver (/dev/raw/rawN) (RAW_DRIVER) [N/m/y/?] n</div>
<div>Hangcheck timer (HANGCHECK_TIMER) [N/m/y/?] (NEW)&nbsp;</div>
<div>Telecom clock driver for ATCA SBC (TELCLOCK) [N/m/y/?] (NEW)&nbsp;</div>
<div>*</div>
<div>* EDAC - error detection and reporting (EXPERIMENTAL)</div>
<div>*</div>
<div>EDAC - error detection and reporting (EXPERIMENTAL) (EDAC) [N/y/?] (NEW)&nbsp;</div>
<div>*</div>
<div>* Virtualization</div>
<div>*</div>
<div>Virtualization (VIRTUALIZATION) [Y/n/?] (NEW)&nbsp;</div>
<div>&nbsp;&nbsp;Kernel-based Virtual Machine (KVM) support (KVM) [N/m/y/?] (NEW)&nbsp;</div>
<div>*</div>
<div>* File systems</div>
<div>*</div>
<div>Second extended fs support (EXT2_FS) [Y/n/m/?] y</div>
<div>&nbsp;&nbsp;Ext2 extended attributes (EXT2_FS_XATTR) [N/y/?] n</div>
<div>&nbsp;&nbsp;Ext2 execute in place support (EXT2_FS_XIP) [N/y/?] (NEW)&nbsp;</div>
<div>Ext3 journalling file system support (EXT3_FS) [N/m/y/?] n</div>
<div>Ext4dev/ext4 extended fs support development (EXPERIMENTAL) (EXT4DEV_FS) [N/m/y/?] n</div>
<div>Reiserfs support (REISERFS_FS) [N/m/y/?] n</div>
<div>JFS filesystem support (JFS_FS) [N/m/y/?] n</div>
<div>XFS filesystem support (XFS_FS) [N/m/y/?] n</div>
<div>
GFS2 file system support (GFS2_FS) [N/m/y/?] n</div>
<div>OCFS2 file system support (OCFS2_FS) [N/m/y/?] n</div>
<div>
Minix fs support (MINIX_FS) [N/m/y/?] n</div>
<div>ROM file system support (ROMFS_FS) [Y/n/m/?] y</div>
<div>Inotify file change notification support (INOTIFY) [N/y/?] n</div>
<div>Quota support (QUOTA) [N/y/?] n</div>
<div>Dnotify support (DNOTIFY) [Y/n/?] y</div>
<div>Kernel automounter support (AUTOFS_FS) [N/m/y/?] n</div>
<div>Kernel automounter version 4 support (also supports v3) (AUTOFS4_FS) [N/m/y/?] n</div>
<div>Filesystem in Userspace support (FUSE_FS) [N/m/y/?] n</div>
<div>*</div>
<div>* Pseudo filesystems</div>
<div>*</div>
<div>
/proc file system support (PROC_FS) [Y/n/?] y</div>
<div>&nbsp;&nbsp;/proc/kcore support (PROC_KCORE) [N/y] (NEW)&nbsp;</div>
<div>
&nbsp;&nbsp;Sysctl support (/proc/sys) (PROC_SYSCTL) [Y/n/?] y</div>
<div>sysfs file system support (SYSFS) [Y/n/?] y</div>
<div>
Virtual memory file system support (former shm fs) (TMPFS) [N/y/?] n</div>
<div>HugeTLB file system support (HUGETLBFS) [N/y/?] (NEW)&nbsp;</div>
<div>Userspace-driven configuration filesystem (EXPERIMENTAL) (CONFIGFS_FS) [N/m/y/?] n</div>
<div>*</div>
<div>* Instrumentation Support</div>
<div>*</div>
<div>Instrumentation Support (INSTRUMENTATION) [Y/n/?] (NEW)&nbsp;</div>
<div>&nbsp;&nbsp;Profiling support (EXPERIMENTAL) (PROFILING) [N/y/?] (NEW)&nbsp;</div>
<div>&nbsp;&nbsp;Kprobes (KPROBES) [N/y/?] (NEW)&nbsp;</div>
<div>*</div>
<div>* Kernel hacking</div>
<div>*</div>
<div>Show timing information on printks (PRINTK_TIME) [N/y/?] n</div>
<div>Enable __must_check logic (ENABLE_MUST_CHECK) [Y/n/?] y</div>
<div>Magic SysRq key (MAGIC_SYSRQ) [N/y/?] n</div>
<div>Enable unused/obsolete exported symbols (UNUSED_SYMBOLS) [N/y/?] n</div>
<div>Debug Filesystem (DEBUG_FS) [N/y/?] n</div>
<div>Run 'make headers_check' when building vmlinux (HEADERS_CHECK) [N/y/?] n</div>
<div>Kernel debugging (DEBUG_KERNEL) [Y/n/?] y</div>
<div>&nbsp;&nbsp;Debug shared IRQ handlers (DEBUG_SHIRQ) [N/y/?] n</div>
<div>&nbsp;&nbsp;Detect Soft Lockups (DETECT_SOFTLOCKUP) [N/y/?] n</div>
<div>&nbsp;&nbsp;Collect scheduler debugging info (SCHED_DEBUG) [N/y/?] n</div>
<div>&nbsp;&nbsp;Collect scheduler statistics (SCHEDSTATS) [N/y/?] n</div>
<div>&nbsp;&nbsp;Collect kernel timers statistics (TIMER_STATS) [N/y/?] n</div>
<div>&nbsp;&nbsp;Debug slab memory allocations (DEBUG_SLAB) [N/y/?] n</div>
<div>RT Mutex debugging, deadlock detection (DEBUG_RT_MUTEXES) [N/y/?] n</div>
<div>Built-in scriptable tester for rt-mutexes (RT_MUTEX_TESTER) [N/y/?] n</div>
<div>Spinlock and rw-lock debugging: basic checks (DEBUG_SPINLOCK) [N/y/?] n</div>
<div>Mutex debugging: basic checks (DEBUG_MUTEXES) [N/y/?] n</div>
<div>Lock debugging: detect incorrect freeing of live locks (DEBUG_LOCK_ALLOC) [N/y/?] (NEW)&nbsp;</div>
<div>Lock debugging: prove locking correctness (PROVE_LOCKING) [N/y/?] (NEW)&nbsp;</div>
<div>Lock usage statistics (LOCK_STAT) [N/y/?] (NEW)&nbsp;</div>
<div>Spinlock debugging: sleep-inside-spinlock checking (DEBUG_SPINLOCK_SLEEP) [N/y/?] n</div>
<div>Locking API boot-time self-tests (DEBUG_LOCKING_API_SELFTESTS) [N/y/?] n</div>
<div>kobject debugging (DEBUG_KOBJECT) [N/y/?] n</div>
<div>Highmem debugging (DEBUG_HIGHMEM) [N/y/?] (NEW)&nbsp;</div>
<div>Verbose BUG() reporting (adds 70K) (DEBUG_BUGVERBOSE) [Y/n/?] y</div>
<div>Compile the kernel with debug info (DEBUG_INFO) [Y/n/?] y</div>
<div>Debug VM (DEBUG_VM) [N/y/?] n</div>
<div>Debug linked list manipulation (DEBUG_LIST) [N/y/?] n</div>
<div>Compile the kernel with frame pointers (FRAME_POINTER) [N/y/?] (NEW)&nbsp;</div>
<div>Force gcc to inline functions marked 'inline' (FORCED_INLINING) [Y/n/?] y</div>
<div>torture tests for RCU (RCU_TORTURE_TEST) [N/m/?] n</div>
<div>Fault-injection framework (FAULT_INJECTION) [N/y/?] n</div>
<div>Early printk (EARLY_PRINTK) [N/y/?] n</div>
<div>
Check for stack overflows (DEBUG_STACKOVERFLOW) [N/y/?] (NEW)&nbsp;</div>
<div>Stack utilization instrumentation (DEBUG_STACK_USAGE) [N/y/?] (NEW)&nbsp;</div>
<div>Debug page memory allocations (DEBUG_PAGEALLOC) [N/y/?] (NEW)&nbsp;</div>
<div>Write protect kernel read-only data structures (DEBUG_RODATA) [N/y/?] (NEW)&nbsp;</div>
<div>Use 4Kb for kernel stacks instead of 8Kb (4KSTACKS) [N/y/?] (NEW)&nbsp;</div>
<div>Enable doublefault exception handler (DOUBLEFAULT) [Y/n/?] (NEW)&nbsp;</div>
<div>#</div>
<div># configuration written to .config</div>
<div>#</div>
<div><br></div>
<div><br></div>
<div><br></div>
<div><br></div>
<div><br></div>
<div><br></div>
<div><br></div>
<div>
&nbsp;&nbsp;CHK &nbsp; &nbsp; include/linux/version.h</div>
<div>&nbsp;&nbsp;UPD &nbsp; &nbsp; include/linux/version.h</div>
<div>&nbsp;&nbsp;CHK &nbsp; &nbsp; include/linux/utsrelease.h</div>
<div>&nbsp;&nbsp;UPD &nbsp; &nbsp; include/linux/utsrelease.h</div>
<div>&nbsp;&nbsp;SYMLINK include/asm -&gt; include/asm-i386</div>
<div>&nbsp;&nbsp;HOSTCC &nbsp;scripts/basic/fixdep</div>
<div>&nbsp;&nbsp;HOSTCC &nbsp;scripts/basic/docproc</div>
<div>&nbsp;&nbsp;CC &nbsp; &nbsp; &nbsp;arch/i386/kernel/asm-offsets.s</div>
<div>cc1: error: unrecognized command line option "-msoft-float"</div>
<div>cc1: error: unrecognized command line option "-mregparm=3"</div>
<div>cc1: error: unrecognized command line option "-march=i686"</div>
<div>cc1: error: unrecognized command line option "-maccumulate-outgoing-args"</div>
<div>make[1]: *** [arch/i386/kernel/asm-offsets.s] Error 1</div>
<div><br></div>
</div>
<div>
<br><div class="gmail_quote">On Sun, Nov 8, 2009 at 7:17 PM, Gautam Kalyanasundaram <span dir="ltr">&lt;<a href="mailto:gautamkalyan@...">gautamkalyan@...</a>&gt;</span> wrote:<br><blockquote class="gmail_quote">
Hi Sebastien,<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Thanks. I did that and I get this error:</div>
<div>
<div class="im"><div>&nbsp;CHK &nbsp; &nbsp; include/linux/version.h</div></div>
<div class="im">
<div>&nbsp;&nbsp;CHK &nbsp; &nbsp; include/linux/utsrelease.h</div>
</div>
<div class="im">
<div>&nbsp;&nbsp;HOSTCC &nbsp;scripts/basic/fixdep</div>
<div>&nbsp;&nbsp;HOSTCC &nbsp;scripts/basic/docproc</div>
<div>&nbsp;&nbsp;CC &nbsp; &nbsp; &nbsp;arch/i386/kernel/asm-offsets.s</div>
</div>
<div>cc1: error: unrecognized command line option "-msoft-float"</div>
<div>cc1: error: unrecognized command line option "-mregparm=3"</div>

<div>cc1: error: unrecognized command line option "-march=i686"</div>
<div>cc1: error: unrecognized command line option "-maccumulate-outgoing-args"</div>
<div class="im">
<div>make[1]: *** [arch/i386/kernel/asm-offsets.s] Error 1</div>

<div>make: *** [prepare0] Error 2</div>
<div><br></div>
</div>
<div>Any ideas on this? Thank you for your help!</div>
<div>Thanks.</div>
<div><br></div>
<div>Regards,</div>
<div>Gautam</div>
<div>
<div></div>
<div class="h5">
<br><div class="gmail_quote">
On Sun, Nov 8, 2009 at 5:20 PM, S&eacute;bastien Bourdeauducq <span dir="ltr">&lt;<a href="mailto:sebastien.bourdeauducq@..." target="_blank">sebastien.bourdeauducq@...</a>&gt;</span> wrote:<br><blockquote class="gmail_quote">Hi,<br><div>
<br>
On Sunday 08 November 2009 03:31:38 Gautam Kalyanasundaram wrote:<br>
&gt; 1. The toolchain from Thoeborma Systems for Windows<br><br>
</div>Do not use this one, it produces corrupted kernels that will crash during<br>
boot. Use GCC &gt;= 4.4. You may need to compile it yourself for Windows.<br>
You should use the "lm32-elf" target in the "configure" scripts; no other<br>
special option should be passed. You can have a look at the "debian/rules"<br>
scripts in the "milkymist-packaging" repository to get an idea of the complete<br>
"configure" command line.<br><div>
<br>
&gt; a. make mrproper<br>
&gt; b. make<br>
&gt; ( this gave me a bunch of options - left all of them to default including<br>
&gt; the procesor type - as there was no lm32 type listed )<br><br>
</div>Instead of just "make", the correct command is:<br>
ARCH=lm32 CROSS_COMPILE=lm32-elf- make<br><br>
S&eacute;bastien<br>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
Sébastien Bourdeauducq | 8 Nov 2009 15:55
Gravatar

Re: Issue with Linux COmpilation for Milkymist

Hi,

On Sunday 08 November 2009 15:00:39 Gautam Kalyanasundaram wrote:
>                              Sorry about the repeated emails. I figured out
> that the last message was because of an existing edited config file lying
> around. I did a make clean

Do "make mrproper" instead; "make clean" leaves a lot of options configured. 
>From your messages, it seems you still have some i386 stuff lying around and 
causing problems.

> I still get a lot of options to be set during the make. Is there any way of
> avoiding this?

When your setup is correct (LM32 architecture correctly selected), you should 
not have any of these options to set.

So I suggest you try this:
1/ make mrproper
2/ cp xxxxx .config
3/ ARCH=lm32 make menuconfig # optional but enables you to double-check that 
you are building for a Milkymist SoC with LM32 CPU
4/ ARCH=lm32 CROSS_COMPILE=lm32-elf- make vmlinux

Sébastien
Gautam Kalyanasundaram | 9 Nov 2009 08:18
Picon

Re: Issue with Linux COmpilation for Milkymist

Hi Sebastien,
                                Thanks - I got this to compile with the optioons you have mentioned. Found a couple of issues - one of which I was able to resolve easily:
 
1. In the path: linux/scripts/mod/libelfbuild/libelf there is a file called INSTALL which is a readme. This needs to be renamed for the compilation to work in a cygwin env.

 
The makefile tries to create a directory called install in the same subdirectory as above and crashes out. 
 
 
2. The GDB expcts the symbol _fstack to be defined - which is defined in the linker.ld files of the milkymist database - but for linux I could not do this - this prevents from loading the simulator ( error as below )

bash-3.2$ ./gdb.sh

GNU gdb 6.5

Copyright (C) 2006 Free Software Foundation, Inc.

GDB is free software, covered by the GNU General Public License, and you are

welcome to change it and/or distribute copies of it under certain conditions.

Type "show copying" to see the conditions.

There is absolutely no warranty for GDB.  Type "show warranty" for details.

This GDB was configured as "--host=i686-pc-cygwin --target=lm32-elf"...

(gdb) file ./vmlinux

Load new symbol table from "/cygdrive/e/ml2/lekernel-milkymist-linux-d6708be/linux/vmlinux"? (y or n) y

Reading symbols from /cygdrive/e/ml2/lekernel-milkymist-linux-d6708be/linux/vmlinux...done.

(gdb) target sim --memory-region 0x00000000,0x0fffffff

Failed to find symbol _fstack in program. You must specify memory regions with --memory-region.

unable to create simulator instance

(gdb) Quit

Any ides to fix this?

Thanks.
 
Regards,
Gautam
 


 
On 11/8/09, Sébastien Bourdeauducq <sebastien.bourdeauducq-InLmSLR+8s/k1uMJSBkQmQ@public.gmane.org> wrote:
Hi,

On Sunday 08 November 2009 15:00:39 Gautam Kalyanasundaram wrote:
>                              Sorry about the repeated emails. I figured out
> that the last message was because of an existing edited config file lying
> around. I did a make clean

Do "make mrproper" instead; "make clean" leaves a lot of options configured.
>From your messages, it seems you still have some i386 stuff lying around and
causing problems.

> I still get a lot of options to be set during the make. Is there any way of
> avoiding this?

When your setup is correct (LM32 architecture correctly selected), you should
not have any of these options to set.

So I suggest you try this:
1/ make mrproper
2/ cp xxxxx .config
3/ ARCH=lm32 make menuconfig # optional but enables you to double-check that
you are building for a Milkymist SoC with LM32 CPU
4/ ARCH=lm32 CROSS_COMPILE=lm32-elf- make vmlinux

Sébastien

<div>
<div>Hi Sebastien,</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Thanks - I got this to compile with the optioons you have mentioned. Found a couple of issues - one of which I was able to resolve easily:</div>
<div>&nbsp;</div>
<div>1. In the path:&nbsp;linux/scripts/mod/libelfbuild/libelf there is a file called INSTALL which is a readme. This needs to be renamed for the compilation to work in a cygwin env.
<div>
<br>&nbsp;</div>
<div>The makefile tries to create a directory called install in the same subdirectory as above and crashes out.&nbsp;</div>
</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>2. The GDB expcts the symbol _fstack to be defined - which is defined in the linker.ld files of the milkymist database - but for linux I could not do this - this prevents from loading the simulator ( error as below )</div>

<p class="MsoNormal">bash-3.2$ ./gdb.sh</p>
<p class="MsoNormal">GNU gdb 6.5</p>
<p class="MsoNormal">Copyright (C) 2006 Free Software Foundation, Inc.</p>
<p class="MsoNormal">GDB is free software, covered by the GNU General Public License, and you are</p>
<p class="MsoNormal">welcome to change it and/or distribute copies of it under certain conditions.</p>
<p class="MsoNormal">Type "show copying" to see the conditions.</p>
<p class="MsoNormal">There is absolutely no warranty for GDB.&nbsp; Type "show warranty" for details.</p>
<p class="MsoNormal">This GDB was configured as "--host=i686-pc-cygwin --target=lm32-elf"...</p>
<p class="MsoNormal">(gdb) file ./vmlinux</p>
<p class="MsoNormal">Load new symbol table from "/cygdrive/e/ml2/lekernel-milkymist-linux-d6708be/linux/vmlinux"? (y or n) y</p>
<p class="MsoNormal">Reading symbols from /cygdrive/e/ml2/lekernel-milkymist-linux-d6708be/linux/vmlinux...done.</p>
<p class="MsoNormal">(gdb) target sim --memory-region 0x00000000,0x0fffffff</p>
<p class="MsoNormal">Failed to find symbol _fstack in program. You must specify memory regions with --memory-region.</p>
<p class="MsoNormal">unable to create simulator instance</p>
<p class="MsoNormal">(gdb) Quit</p>
<p>Any ides to fix this?</p>
<div>Thanks.</div>
<div>&nbsp;</div>
<div>Regards,</div>
<div>Gautam</div>
<div>&nbsp;</div>
<div>
<br><br>&nbsp;</div>
<div>
<span class="gmail_quote">On 11/8/09, S&eacute;bastien Bourdeauducq &lt;<a href="mailto:sebastien.bourdeauducq <at> lekernel.net">sebastien.bourdeauducq@...</a>&gt; wrote:</span>
<blockquote class="gmail_quote">Hi,<br><br>On Sunday 08 November 2009 15:00:39 Gautam Kalyanasundaram wrote:<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sorry about the repeated emails. I figured out<br>
&gt; that the last message was because of an existing edited config file lying<br>&gt; around. I did a make clean<br><br>Do "make mrproper" instead; "make clean" leaves a lot of options configured.<br>
&gt;From your messages, it seems you still have some i386 stuff lying around and<br>causing problems.<br><br>&gt; I still get a lot of options to be set during the make. Is there any way of<br>&gt; avoiding this?<br><br>When your setup is correct (LM32 architecture correctly selected), you should<br>
not have any of these options to set.<br><br>So I suggest you try this:<br>1/ make mrproper<br>2/ cp xxxxx .config<br>3/ ARCH=lm32 make menuconfig # optional but enables you to double-check that<br>you are building for a Milkymist SoC with LM32 CPU<br>
4/ ARCH=lm32 CROSS_COMPILE=lm32-elf- make vmlinux<br><br>S&eacute;bastien<br>
</blockquote>
</div>
<br>
</div>
Sébastien Bourdeauducq | 9 Nov 2009 11:06
Gravatar

Re: Issue with Linux COmpilation for Milkymist

Hi,

On Monday 09 November 2009 08:18:31 Gautam Kalyanasundaram wrote:
> 1. In the path: linux/scripts/mod/libelfbuild/libelf there is a file called
> INSTALL which is a readme. This needs to be renamed for the compilation to
> work in a cygwin env.
> 
> 
> The makefile tries to create a directory called install in the same
> subdirectory as above and crashes out.

That's a Cygwin issue. On POSIX systems (that Cygwin is supposed to emulate), 
there is no problem with calling a file "INSTALL" and a directory "install" 
(filesystem is fully case-sensitive).

> (gdb) target sim --memory-region 0x00000000,0x0fffffff
> 
> Failed to find symbol _fstack in program. You must specify memory regions
> with --memory-region.

Obviously you did use --memory-region and you just spotted one of the numerous 
bugs that GDB has (and that GNU fails to fix despite several reports).
What version do you use? If you use the one shipped by Theobroma and these 
commands:
http://www.milkymist.org/wiki/index.php?title=Task:Porting_Linux_to_the_SoC#Simulating
simulation typically goes a bit further.

However, we never managed to get this broken simulator to work. There are LOTS 
of bugs to fix in its code; moreover, there are no proper simulation models for 
Milkymist peripherals such as UART and timer - those need to be developed.

So do not expect the GDB simulation to work without significant development 
efforts.

Sébastien

Gmane