gem5-users@gem5.org

The gem5 Users mailing list

View all threads

How to build a newer linux kernel for gem5

LV
luming via gem5-users
Tue, May 6, 2014 6:31 AM

Dear gem5 users,

I have been stuck on a kernel too old problem when running PARSEC3.0.
The disk image file downloaded from gem5.org doesn't not contain the
GLIBC_2.14 library which is needed by PARSEC, so I built the benchmarks
statically. However, now it reports FATAL: kernel too old.

After googling, I tried the approach to let m5 report its kernel version
a little higher (and lower after that didn't work) than the original
value in src/arch/x86/linux/syscalls.cc by modifying

strcpy(name->release, "3.0.0"); to strcpy(name->release, "3.2.58"); or
strcpy(name->release, "2.6.35");

But nothing changes. I still get that problem. Then I tried to build
newer kernels (3.10.38 and 3.2.58)
with default settings. When using the 3.10.38 kernel, gem5 got stuck at
this booting step

pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti
<giometti(a)linux.it>
PTP clock support registered

and 3.2.58 kernel caused this error

fatal: Unable to find destination for addr 0x80000000000000ed on bus
system.iobus

Can anyone tell me how to solve this problem? Is building a newer kernel
very difficult or I just missed something? Any help is greatly
appreciated. Thanks in advance!

Best regards,

Luming

Dear gem5 users, I have been stuck on a kernel too old problem when running PARSEC3.0. The disk image file downloaded from gem5.org doesn't not contain the GLIBC_2.14 library which is needed by PARSEC, so I built the benchmarks statically. However, now it reports FATAL: kernel too old. After googling, I tried the approach to let m5 report its kernel version a little higher (and lower after that didn't work) than the original value in src/arch/x86/linux/syscalls.cc by modifying strcpy(name->release, "3.0.0"); to strcpy(name->release, "3.2.58"); or strcpy(name->release, "2.6.35"); But nothing changes. I still get that problem. Then I tried to build newer kernels (3.10.38 and 3.2.58) with default settings. When using the 3.10.38 kernel, gem5 got stuck at this booting step pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti(a)linux.it> PTP clock support registered and 3.2.58 kernel caused this error fatal: Unable to find destination for addr 0x80000000000000ed on bus system.iobus Can anyone tell me how to solve this problem? Is building a newer kernel very difficult or I just missed something? Any help is greatly appreciated. Thanks in advance! Best regards, Luming
JH
Jack Harvard via gem5-users
Tue, May 6, 2014 11:56 PM

Hi Luming,

When you compile PARSEC statically, you still run the workloads in FS
mode inside the kernel rather than in SE, suppose FS in your case from
what you described? and I'm not quite sure why you were referring to
src/arch/x86/linux/syscalls.cc, is this just for SE?

You can enable debug flags in gem5, and also insert printfs in your
kernel code, to help with your kernel boot debug.

Jack
Jack Harvard

On Tue, May 6, 2014 at 7:31 AM, luming via gem5-users
<gem5-users(a)gem5.org> wrote:

Dear gem5 users,

I have been stuck on a kernel too old problem when running PARSEC3.0. The
disk image file downloaded from gem5.org doesn't not contain the GLIBC_2.14
library which is needed by PARSEC, so I built the benchmarks statically.
However, now it reports FATAL: kernel too old.

After googling, I tried the approach to let m5 report its kernel version a
little higher (and lower after that didn't work) than the original value in
src/arch/x86/linux/syscalls.cc by modifying

strcpy(name->release, "3.0.0"); to strcpy(name->release, "3.2.58"); or
strcpy(name->release, "2.6.35");

But nothing changes. I still get that problem. Then I tried to build newer
kernels (3.10.38 and 3.2.58)
with default settings. When using the 3.10.38 kernel, gem5 got stuck at this
booting step

pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti
<giometti(a)linux.it>
PTP clock support registered

and 3.2.58 kernel caused this error

fatal: Unable to find destination for addr 0x80000000000000ed on bus
system.iobus

Can anyone tell me how to solve this problem? Is building a newer kernel
very difficult or I just missed something? Any help is greatly appreciated.
Thanks in advance!

Best regards,

Luming


gem5-users mailing list
gem5-users(a)gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Hi Luming, When you compile PARSEC statically, you still run the workloads in FS mode inside the kernel rather than in SE, suppose FS in your case from what you described? and I'm not quite sure why you were referring to src/arch/x86/linux/syscalls.cc, is this just for SE? You can enable debug flags in gem5, and also insert printfs in your kernel code, to help with your kernel boot debug. Jack Jack Harvard On Tue, May 6, 2014 at 7:31 AM, luming via gem5-users <gem5-users(a)gem5.org> wrote: > Dear gem5 users, > > I have been stuck on a kernel too old problem when running PARSEC3.0. The > disk image file downloaded from gem5.org doesn't not contain the GLIBC_2.14 > library which is needed by PARSEC, so I built the benchmarks statically. > However, now it reports FATAL: kernel too old. > > After googling, I tried the approach to let m5 report its kernel version a > little higher (and lower after that didn't work) than the original value in > src/arch/x86/linux/syscalls.cc by modifying > > strcpy(name->release, "3.0.0"); to strcpy(name->release, "3.2.58"); or > strcpy(name->release, "2.6.35"); > > But nothing changes. I still get that problem. Then I tried to build newer > kernels (3.10.38 and 3.2.58) > with default settings. When using the 3.10.38 kernel, gem5 got stuck at this > booting step > > pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti > <giometti(a)linux.it> > PTP clock support registered > > and 3.2.58 kernel caused this error > > fatal: Unable to find destination for addr 0x80000000000000ed on bus > system.iobus > > Can anyone tell me how to solve this problem? Is building a newer kernel > very difficult or I just missed something? Any help is greatly appreciated. > Thanks in advance! > > Best regards, > > Luming > > _______________________________________________ > gem5-users mailing list > gem5-users(a)gem5.org > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
FE
Fernando Endo via gem5-users
Thu, May 22, 2014 9:43 AM

Hello,

The message "kernel too old" usually appears when the toolchain you're
using embed linux headers newer than the version of your kernel.

Are you using the native gcc in the gem5's disk image (the new one)? I
had no major problems to compile PARSEC 3.0. There were only a few
dependencies to be installed (zlib, pkgconfig, libffi, m4 and
gettext). PARSEC also embed some needed libraries, glib for example.

Hope it helps,

2014-05-07 1:56 GMT+02:00, Jack Harvard via gem5-users <gem5-users(a)gem5.org>:

Hi Luming,

When you compile PARSEC statically, you still run the workloads in FS
mode inside the kernel rather than in SE, suppose FS in your case from
what you described? and I'm not quite sure why you were referring to
src/arch/x86/linux/syscalls.cc, is this just for SE?

You can enable debug flags in gem5, and also insert printfs in your
kernel code, to help with your kernel boot debug.

Jack
Jack Harvard

On Tue, May 6, 2014 at 7:31 AM, luming via gem5-users
<gem5-users(a)gem5.org> wrote:

Dear gem5 users,

I have been stuck on a kernel too old problem when running PARSEC3.0. The
disk image file downloaded from gem5.org doesn't not contain the
GLIBC_2.14
library which is needed by PARSEC, so I built the benchmarks statically.
However, now it reports FATAL: kernel too old.

After googling, I tried the approach to let m5 report its kernel version
a
little higher (and lower after that didn't work) than the original value
in
src/arch/x86/linux/syscalls.cc by modifying

strcpy(name->release, "3.0.0"); to strcpy(name->release, "3.2.58"); or
strcpy(name->release, "2.6.35");

But nothing changes. I still get that problem. Then I tried to build
newer
kernels (3.10.38 and 3.2.58)
with default settings. When using the 3.10.38 kernel, gem5 got stuck at
this
booting step

pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti
<giometti(a)linux.it>
PTP clock support registered

and 3.2.58 kernel caused this error

fatal: Unable to find destination for addr 0x80000000000000ed on bus
system.iobus

Can anyone tell me how to solve this problem? Is building a newer kernel
very difficult or I just missed something? Any help is greatly
appreciated.
Thanks in advance!

Best regards,

Luming


gem5-users mailing list
gem5-users(a)gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users


gem5-users mailing list
gem5-users(a)gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

--

Fernando A. Endo, PhD student and researcher

Université de Grenoble, UJF
France

Hello, The message "kernel too old" usually appears when the toolchain you're using embed linux headers newer than the version of your kernel. Are you using the native gcc in the gem5's disk image (the new one)? I had no major problems to compile PARSEC 3.0. There were only a few dependencies to be installed (zlib, pkgconfig, libffi, m4 and gettext). PARSEC also embed some needed libraries, glib for example. Hope it helps, 2014-05-07 1:56 GMT+02:00, Jack Harvard via gem5-users <gem5-users(a)gem5.org>: > Hi Luming, > > When you compile PARSEC statically, you still run the workloads in FS > mode inside the kernel rather than in SE, suppose FS in your case from > what you described? and I'm not quite sure why you were referring to > src/arch/x86/linux/syscalls.cc, is this just for SE? > > You can enable debug flags in gem5, and also insert printfs in your > kernel code, to help with your kernel boot debug. > > Jack > Jack Harvard > > > On Tue, May 6, 2014 at 7:31 AM, luming via gem5-users > <gem5-users(a)gem5.org> wrote: >> Dear gem5 users, >> >> I have been stuck on a kernel too old problem when running PARSEC3.0. The >> disk image file downloaded from gem5.org doesn't not contain the >> GLIBC_2.14 >> library which is needed by PARSEC, so I built the benchmarks statically. >> However, now it reports FATAL: kernel too old. >> >> After googling, I tried the approach to let m5 report its kernel version >> a >> little higher (and lower after that didn't work) than the original value >> in >> src/arch/x86/linux/syscalls.cc by modifying >> >> strcpy(name->release, "3.0.0"); to strcpy(name->release, "3.2.58"); or >> strcpy(name->release, "2.6.35"); >> >> But nothing changes. I still get that problem. Then I tried to build >> newer >> kernels (3.10.38 and 3.2.58) >> with default settings. When using the 3.10.38 kernel, gem5 got stuck at >> this >> booting step >> >> pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti >> <giometti(a)linux.it> >> PTP clock support registered >> >> and 3.2.58 kernel caused this error >> >> fatal: Unable to find destination for addr 0x80000000000000ed on bus >> system.iobus >> >> Can anyone tell me how to solve this problem? Is building a newer kernel >> very difficult or I just missed something? Any help is greatly >> appreciated. >> Thanks in advance! >> >> Best regards, >> >> Luming >> >> _______________________________________________ >> gem5-users mailing list >> gem5-users(a)gem5.org >> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users > _______________________________________________ > gem5-users mailing list > gem5-users(a)gem5.org > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users > -- -- Fernando A. Endo, PhD student and researcher Université de Grenoble, UJF France