Posts Tagged ‘KURO-BOX/T4’

玄箱 KURO-BOX/T4にasteriskをインストールする前にカーネルソースをどうにかする

makeするのに必要なものをいろいろ入れておく
# apt-get install gcc g++ libc6-dev make linux-libc-dev ncurses-dev perl-modules patch

dahdi asterisk をmakeするのにいろいろいるため、
下記URLから、linux-2.6.30.tar.bz2 をダンロードする。

http://kuroutoshikou.com/important/opensource/

/tmp にダウンロードしたとして。

# cd /usr/src/
# bzip2 -dc /tmp/linux-2.6.30.tar.bz2 | tar xvf –
# ln -s linux-2.6.30 linux
# cd linux

さて、ここで make modules を行いたいのだけれど、これがうまくいかないので、いろいろする。

シンボリックリンクの作成
#ln -s /usr/bin/ls /usr/bin/powerpc-linux-gnu-ld
#ln -s /usr/bin/objcopy /usr/bin/powerpc-linux-gnu-objcopy

Makefileがダメダメなので、修正する。

——-patch の中身 ↓———————————————————–
diff -ur linux-2.6.30_org/Makefile linux-2.6.30/Makefile
— linux-2.6.30_org/Makefile 2010-09-11 21:56:12.000000000 +0900
+++ linux-2.6.30/Makefile 2010-09-11 21:59:55.000000000 +0900
@@ -1,7 +1,7 @@
 VERSION = 2
 PATCHLEVEL = 6
 SUBLEVEL = 30
-EXTRAVERSION = .1-BUFFALO
+EXTRAVERSION = .1-BUFFALO-svn1376
 NAME = Man-Eating Seals of Antiquity
 
 # *DOCUMENTATION*
@@ -338,6 +338,7 @@
 CFLAGS_MODULE   = $(MODFLAGS)
 AFLAGS_MODULE   = $(MODFLAGS)
 LDFLAGS_MODULE  =
+LDFLAGS_MODULE_PREREQ  =
 CFLAGS_KERNEL =
 AFLAGS_KERNEL =
 
@@ -363,7 +364,7 @@
 export VERSION PATCHLEVEL SUBLEVEL KERNELRELEASE KERNELVERSION
 export ARCH SRCARCH CONFIG_SHELL HOSTCC HOSTCFLAGS CROSS_COMPILE AS LD CC
 export CPP AR NM STRIP OBJCOPY OBJDUMP MAKE AWK GENKSYMS PERL UTS_MACHINE
-export HOSTCXX HOSTCXXFLAGS LDFLAGS_MODULE CHECK CHECKFLAGS
+export HOSTCXX HOSTCXXFLAGS LDFLAGS_MODULE LDFLAGS_MODULE_PREREQ CHECK CHECKFLAGS
 
 export KBUILD_CPPFLAGS NOSTDINC_FLAGS LINUXINCLUDE OBJCOPYFLAGS LDFLAGS
 export KBUILD_CFLAGS CFLAGS_KERNEL CFLAGS_MODULE
diff -ur linux-2.6.30_org/arch/powerpc/Makefile linux-2.6.30/arch/powerpc/Makefile
— linux-2.6.30_org/arch/powerpc/Makefile 2010-09-11 21:57:28.000000000 +0900
+++ linux-2.6.30/arch/powerpc/Makefile 2010-09-11 22:00:24.000000000 +0900
@@ -93,7 +93,7 @@
  KBUILD_CFLAGS += $(call cc-option,-mtune=power4)
 endif
 else
-LDFLAGS_MODULE += arch/powerpc/lib/crtsavres.o
+LDFLAGS_MODULE_PREREQ += arch/powerpc/lib/crtsavres.o
 endif
 
 ifeq ($(CONFIG_TUNE_CELL),y)
@@ -231,7 +231,7 @@
   echo ‘disable kernel modules’ ; \
   false ; \
  fi
– @if ! /bin/echo dssall | $(AS) -many -o $(TOUT) >/dev/null 2>&1 ; then \
+ @if ! [[ “/bin/echo dssall | $(AS) -many -o $(TOUT) >/dev/null 2>&1” ]] ; then \
   echo -n ‘*** ${VERSION}.${PATCHLEVEL} kernels no longer build ‘ ; \
   echo ‘correctly with old versions of binutils.’ ; \
   echo ‘*** Please upgrade your binutils to 2.12.1 or newer’ ; \
diff -ur linux-2.6.30_org/scripts/Makefile.modpost linux-2.6.30/scripts/Makefile.modpost
— linux-2.6.30_org/scripts/Makefile.modpost 2010-09-11 22:17:16.000000000 +0900
+++ linux-2.6.30/scripts/Makefile.modpost 2010-09-11 22:16:20.000000000 +0900
@@ -122,14 +122,21 @@
       cmd_cc_o_c = $(CC) $(c_flags) $(CFLAGS_MODULE) \
      -c -o $@ $<
 
-$(modules:.ko=.mod.o): %.mod.o: %.mod.c FORCE
+quiet_cmd_as_o_S = AS $(quiet_modtag)  $@
+cmd_as_o_S       = $(CC) $(a_flags) $(AFLAGS_MODULE) -c -o $@ $<
+
+$(LDFLAGS_MODULE_PREREQ): %.o: %.S FORCE
+ $(call if_changed_dep,as_o_S)
+
+$(modules:.ko=.mod.o): %.mod.o: %.mod.c $(LDFLAGS_MODULE_PREREQ) FORCE
  $(call if_changed_dep,cc_o_c)
 
 targets += $(modules:.ko=.mod.o)
 
 # Step 6), final link of the modules
 quiet_cmd_ld_ko_o = LD [M]  $@
–      cmd_ld_ko_o = $(LD) -r $(LDFLAGS) $(LDFLAGS_MODULE) -o $@  \
+      cmd_ld_ko_o = $(LD) -r $(LDFLAGS) $(LDFLAGS_MODULE_PREREQ) \
+     $(LDFLAGS_MODULE) -o $@  \
      $(filter-out FORCE,$^)
 
 $(modules): %.ko :%.o %.mod.o FORCE
——-patch の中身 ↑———————————————————–

#make modules

これで準備は終わり。
後は、dahdi daudi-tools asterisk をインストールする。

asteriskインストールのその後

通話録音の受信側と着信側が別れてしまうので、soxをインストール

#apt-get install sox

全自動マージャン卓
10万円未満で買える
折りたたんで収納


会社に1台

AMAZON