xen startup
xm create -c configfile vmid=1
Error: Error creating domain: vbd: Segment not found:
uname=file:/root/ttylinux
Pls make sure you have a correct path…
xm create -c configfile vmid=1
Error: Error creating domain: vbd: Segment not found:
uname=file:/root/ttylinux
Pls make sure you have a correct path…
以前写过一个blog是关于hack Makefile的,不过是2.4下。
现在需要在2.6的makefile里做同样的事
修改./scripts/Makefile.build
+CBD_S_cc_o_c = $(CC) $(c_flags) -S -o $*.s \
+ $(if $(filter-out /%,$<),$(srctree)/$<,$<)
%.o: %.c FORCE
$(call cmd,force_checksrc)
+ $(call CBD_S_cc_o_c)
$(call if_changed_rule,cc_o_c
即可
gcc -S
以前改的也存下档吧,省得找不到了
为了查汇编文件输出
Rule.make
…
[snip]
%.o: %.c
$(CC) $(CFLAGS) $(EXTRA_CFLAGS_nostdinc) -DKBUILD_BASENAME=$(subst $(comma),_,$(subst -,_,$(*F))) $(CFLAGS_$@) -S $<
$(CC) $(CFLAGS) $(EXTRA_CFLAGS_nostdinc) -DKBUILD_BASENAME=$(subst $(comma),_,$(subst -,_,$(*F))) $(CFLAGS_$@) -c -o $@ $<
[snip]
…
使用方法 mycount.sh “*.ext”
没有处理目录,懒了
bash-2.05b$ cat ~/bin/mycount.sh
#!/bin/sh
total=0
list=`ls $1`
for item in $list
do
size=`ls -l $item|awk ‘{print $5}’`
total=`expr $total + $size`
done
echo $total
原因是ISA没有编译内核
原来老的pcmcia卡还是被模拟成isa设备的
对了,还要在/etc/modules.autoload.d/kernel-2.6中加入
yenta_socket
也许算第二次了,不过上一次是因为参照bugs.gentoo.org上针对d4x-2.5.0不能在
gnome 2.6的编译照着葫芦画了个瓢
这次是因为发现gcov在ppc的结果不正常想要看gcov的中间过程
而gcov是gcc的一部分,如果自己编译gcc那可就太麻烦了
幸好有gentoo,gentoo有ebuild
hack步骤如下:
emerge –fetchonly gcc-3.3.5-20050130
然后tar xvjf gcc-xxx.tar.bz2
然后分别创建目录
mkdir gcc-3.3.5-orig/gcc
mkdir gcc-3.3.5-dbg/gcc
cp gcc-3.3.5/gcc/gcov.c gcc-3.3.5-orig/gcc
cp gcc-3.3.5/gcc/gcov.c gcc-3.3.5-dbg/gcc
只复制一个文件是为了patch小一点
然后修改gcov
然后diff -Nur gcc-3.3.5-orig gcc-3.3.5-dbg > gcov-cbd.patch
然后把patch放到/usr/portage/sys-devel/gcc/files
然后改ebuild文件
加一条epatch ${FILESDIR}/gcov-cbd.patch
然后emerge gcc-xxx.ebuild就可以了
今天和同事争论make kernel之后/boot里的initrd-$(version).img从哪里来的问题
虽然我知道肯定是make kernel的时候搞出来的,但是具体怎么做的还真没仔细研究过
正好2.4.30出来了,按惯例也要装上去一用,就顺便把这个未知的东西搞搞清楚。
结论如下:
make install ->
./Makefile (ln261) include arch/$(ARCH)/Makefile ->
./arch/$(ARCH)/Makefile (ln119) $(MAKEBOOT) = Make -C arch/$(ARCH)/boot ->
./arch/$(ARCH)/boot/Makefile (ln40) sh -x ./install.sh … … ->
./arch/$(ARCH)/boot/install.sh (ln25) /sbin/installkernel ->
/sbin/installkernel (ln65) new-kernel-pkg …