도와주세요!!
글 수 15,339
2003.07.22 10:10:25 (*.43.74.94)
8130
EZBoard에 RTLinux 3.0 포팅한 자료입니다.
첨부된 diff-2.4.16-rmk2-ez1-rtl30는 리눅스 커널에
StrongARM 패치와 EZBoard패치와 RTLinux 패치를 가한것입니다.
(1) 방법이 제일 간단할 겁니다.
Xscale 보드에 설치하려면 (2) 방법을 따라하면 될 것같은데 저도 해보지는
않았구요. rtpatch-linux-2.4.16.rmk1를 분석해보면 의외로
커널에서의 수정부분이 적다는 걸 알수 있습니다.
그러니까 커널 보면서 손으로 수정해도 된다는 것이지요.
그럼.. Xscale에 성공하시면 올려주세요.
위 자료는 박재호님의 "임베디드 리눅스" IT Expert 라는 책에 보면 자세히
나와 있습니다.
(1) Most simple Installation
tar xvzf linux-2.4.16.tar.gz
cd linux
patch -p1 < ../diff-2.4.16-rmk2-ez1-rtl30
make ezboard_config
make menuconfig
# set the RTLinux support
make dep
make zImage
cp arch/arm/boot/zImage /tftpboot
(2) General procedure
tar xvpfz linux-2.4.16.tar.gz
cd linux
cat ../patch-2.4.16-rmk2.gz | gunzip | patch -p1
cat ../diff-2.4.18-rmk7-ez1 | patch -p1
# change the hunk fail manually
cat ../rtpatch-linux-2.4.16.rmk1 | patch -p1
cd ../
mv linux linux-2.4.16-rmk2-ez1-rtl
cd linux-2.4.16-rmk2-ez1-rtl
mv -f Makefile Makefile.org
sed "s/ARCH := .*$/ARCH := arm/1" Makefile.org > Makefile
mv -f Makefile Makefile.org
sed "s/CROSS_COMPILE .*=$/CROSS_COMPILE = arm-linux-/1" Makefile.org >
Makefile
rm -f Makefile.org
export PATH=`echo $PATH`:/usr/local/arm-dev/bin
make ezboard_config
make menuconfig
# be sure to select CONFIG_RTLINUX options
make dep
make zImage
cp arch/arm/boot/zImage /tftpboot
(3) RTLinux Installation
tar xvpfz rtlinux-3.0.tar.gz
cd rtlinux-3.0
cat ../patch-rtlinux-3.0-arm | patch -p1diff-2.4.16-rmk2-ez1-rtl30
cat ../patch-rtlinux-3.0-arm-jhp1 | patch -p1
ln -s /ez/cch/rtlinux/linux linux
cd ..
mv rtlinux-3.0 rtlinux-3.0-arm-jhp1
cd rtlinux-3.0-arm-jhp1
export PATH=`echo $PATH`:/usr/local/arm-dev/bin
make oldconfig
make dep
make CROSS_GCC_ROOT=/home/embedded/arm/gcc-2.95.3-arm
------------------------------------------------------------------------
--------------------------------------
Troubleshooting the Error Message
(1)
fifo_module.c: In function `init_module':
fifo_module.c:92: `GFP_BUFFER' undeclared (first use in this function)
fifo_module.c:92: (Each undeclared identifier is reported only once
fifo_module.c:92: for each function it appears in.)
make[1]: *** [fifo_module.o] ¿?·? 1
make[1]: ³ª°¨ `/ez/cch/rtlinux/rtlinux-3.0/regression' ?ð·º??¸?
make: *** [modules] ¿?·? 2
Solution :
If an error occurrend when compiling like
"undeclared GFP_BUFFER...", add the following line in
the file that have GFP_BUFFER.
This message is caused by the kernel version, a new group message says
the GFP_BUFFER is no longer used as is updated as GFP_NOFS.
#define GFP_BUFFER GFP_NOFS
(2) When writing to flash memory, all of the
external devices that consumes 3.3V source from ezboard should be
turn off.
------------------------------------------------------------------------
-------------------------------------
Useful messages for troubleshooting when compiling RTLinux kernel
(1)
To: nik gaffney
Subject: [txOom-dev] Re: patchiness
From: pix
Date: Wed, 16 Oct 2002 12:18:20 +0200
Cc: tx-dev at f0 d0t am
okay, did you ever manage to compile an arm gcc? i read that there is a
configure option like "--no-shared-libgcc", which will supposedly
create a
wholly static libgcc, which is what we want. apparently the
_GLOBAL_OFFSET_TABLE_ is in there because it is not a static library.
why
it's not a .so is beyond me (but not in that "it's stupid" sense of
beyond
me, but really that "i don't understand" sense).
aaanyhow, if you manage to make a static libgcc, this command should
come
up empty:
nm $(arm-linux-gcc -print-libgcc-file-name) |
grep "_GLOBAL_OFFSET_TABLE_"
if you manage that, you can then try to recompile rtl_sched.o (in
rtlinux-3.0-arm/schedulers, run "make rtl_sched.o", or maybe just
compile
the whole thing if it complains, but perhaps skip the laborious install
process and just copy the resulting schedulers/rtl_sched.o).
alternatively i can try and build a static libgcc, but i figure you were
in the best position since you had already done most of it.
note that libgcc isn't libc, i think it's at a lower level than libc,
and
is provided by gcc itself. but, i could be wrong.
pix.
왕초보 wrote..
: EZ - X5 PXA255 Board에 RTLinux를 포팅하고 싶습니다.
: 가능한가요?
: 가능하다면 꼭 방법을 설명해 주시기 바랍니다.
: 감사합니다.
첨부된 diff-2.4.16-rmk2-ez1-rtl30는 리눅스 커널에
StrongARM 패치와 EZBoard패치와 RTLinux 패치를 가한것입니다.
(1) 방법이 제일 간단할 겁니다.
Xscale 보드에 설치하려면 (2) 방법을 따라하면 될 것같은데 저도 해보지는
않았구요. rtpatch-linux-2.4.16.rmk1를 분석해보면 의외로
커널에서의 수정부분이 적다는 걸 알수 있습니다.
그러니까 커널 보면서 손으로 수정해도 된다는 것이지요.
그럼.. Xscale에 성공하시면 올려주세요.
위 자료는 박재호님의 "임베디드 리눅스" IT Expert 라는 책에 보면 자세히
나와 있습니다.
(1) Most simple Installation
tar xvzf linux-2.4.16.tar.gz
cd linux
patch -p1 < ../diff-2.4.16-rmk2-ez1-rtl30
make ezboard_config
make menuconfig
# set the RTLinux support
make dep
make zImage
cp arch/arm/boot/zImage /tftpboot
(2) General procedure
tar xvpfz linux-2.4.16.tar.gz
cd linux
cat ../patch-2.4.16-rmk2.gz | gunzip | patch -p1
cat ../diff-2.4.18-rmk7-ez1 | patch -p1
# change the hunk fail manually
cat ../rtpatch-linux-2.4.16.rmk1 | patch -p1
cd ../
mv linux linux-2.4.16-rmk2-ez1-rtl
cd linux-2.4.16-rmk2-ez1-rtl
mv -f Makefile Makefile.org
sed "s/ARCH := .*$/ARCH := arm/1" Makefile.org > Makefile
mv -f Makefile Makefile.org
sed "s/CROSS_COMPILE .*=$/CROSS_COMPILE = arm-linux-/1" Makefile.org >
Makefile
rm -f Makefile.org
export PATH=`echo $PATH`:/usr/local/arm-dev/bin
make ezboard_config
make menuconfig
# be sure to select CONFIG_RTLINUX options
make dep
make zImage
cp arch/arm/boot/zImage /tftpboot
(3) RTLinux Installation
tar xvpfz rtlinux-3.0.tar.gz
cd rtlinux-3.0
cat ../patch-rtlinux-3.0-arm | patch -p1diff-2.4.16-rmk2-ez1-rtl30
cat ../patch-rtlinux-3.0-arm-jhp1 | patch -p1
ln -s /ez/cch/rtlinux/linux linux
cd ..
mv rtlinux-3.0 rtlinux-3.0-arm-jhp1
cd rtlinux-3.0-arm-jhp1
export PATH=`echo $PATH`:/usr/local/arm-dev/bin
make oldconfig
make dep
make CROSS_GCC_ROOT=/home/embedded/arm/gcc-2.95.3-arm
------------------------------------------------------------------------
--------------------------------------
Troubleshooting the Error Message
(1)
fifo_module.c: In function `init_module':
fifo_module.c:92: `GFP_BUFFER' undeclared (first use in this function)
fifo_module.c:92: (Each undeclared identifier is reported only once
fifo_module.c:92: for each function it appears in.)
make[1]: *** [fifo_module.o] ¿?·? 1
make[1]: ³ª°¨ `/ez/cch/rtlinux/rtlinux-3.0/regression' ?ð·º??¸?
make: *** [modules] ¿?·? 2
Solution :
If an error occurrend when compiling like
"undeclared GFP_BUFFER...", add the following line in
the file that have GFP_BUFFER.
This message is caused by the kernel version, a new group message says
the GFP_BUFFER is no longer used as is updated as GFP_NOFS.
#define GFP_BUFFER GFP_NOFS
(2) When writing to flash memory, all of the
external devices that consumes 3.3V source from ezboard should be
turn off.
------------------------------------------------------------------------
-------------------------------------
Useful messages for troubleshooting when compiling RTLinux kernel
(1)
To: nik gaffney
Subject: [txOom-dev] Re: patchiness
From: pix
Date: Wed, 16 Oct 2002 12:18:20 +0200
Cc: tx-dev at f0 d0t am
okay, did you ever manage to compile an arm gcc? i read that there is a
configure option like "--no-shared-libgcc", which will supposedly
create a
wholly static libgcc, which is what we want. apparently the
_GLOBAL_OFFSET_TABLE_ is in there because it is not a static library.
why
it's not a .so is beyond me (but not in that "it's stupid" sense of
beyond
me, but really that "i don't understand" sense).
aaanyhow, if you manage to make a static libgcc, this command should
come
up empty:
nm $(arm-linux-gcc -print-libgcc-file-name) |
grep "_GLOBAL_OFFSET_TABLE_"
if you manage that, you can then try to recompile rtl_sched.o (in
rtlinux-3.0-arm/schedulers, run "make rtl_sched.o", or maybe just
compile
the whole thing if it complains, but perhaps skip the laborious install
process and just copy the resulting schedulers/rtl_sched.o).
alternatively i can try and build a static libgcc, but i figure you were
in the best position since you had already done most of it.
note that libgcc isn't libc, i think it's at a lower level than libc,
and
is provided by gcc itself. but, i could be wrong.
pix.
왕초보 wrote..
: EZ - X5 PXA255 Board에 RTLinux를 포팅하고 싶습니다.
: 가능한가요?
: 가능하다면 꼭 방법을 설명해 주시기 바랍니다.
: 감사합니다.