/* pasang paket mercurial */
$ sudo yum install mercurial
/* ambil flup, ekstrak, instal modul flup */
$ wget http://www.saddi.com/software/flup/dist/flup-1.0.1.tar.gz
$ tar xvfz flup-1.0.1.tar.gz
$ sudo easy_install flup-1.0.1
/* ikuti langkah selanjutnya di http://www.selenic.com/mercurial/wiki/index.cgi/RHEL4HgWebDirSetup */
Tuesday, January 20, 2009
Setup Mercurial pada RHEL 4
Diposkan oleh
Andika Triwidada
2
komentar
Sunday, January 11, 2009
Cacah Partisi SCSI Maks Pada Linux
Sempat panik ketika salah satu partisi (yang berukuran paling besar) pada disk eksternal saya tidak dapat di-mount, bahkan tidak dikenal oleh Linux. Cari-cari info kesana kemari, ternyata ini limitasi device SCSI, yang hanya menyediakan 16 nomor minor untuk setiap major. Dari file Documentation/devices.txt di source kernel:
Jadi misalnya hard disk tersebut dikenal sebagai /dev/sdb, maka hanya akan ada /dev/sdb1 s/d /dev/sdb15 yang dapat diakses oleh Linux. Karena disk eksternal saya memakai interface USB, yang oleh Linux ditangani melalui subsistem SCSI, maka pembatasan tersebut berlaku. Kelihatannya tidak mudah membongkar pembatasan tersebut (belum sempat dicoba sih), karena berakibat panjang pada pergeseran nomor minor block device SCSI. Bila minor untuk /dev/sda kita perbesar dari 16 ke 32, maka nomor awal minor sdb bergeser dari 16 ke 32, sdc dari 32 ke 48, dst. Cacah device SCSI yang didukung akan berkurang dari 16 ke 8. Barangkali untuk mayoritas pengguna, 8 device SCSI yang masing-masing bisa memiliki 32 sub-device, lebih bermanfaat daripada 16 device yang masing-masing hanya memiliki 16 sub-device.8 block SCSI disk devices (0-15)
0 = /dev/sda First SCSI disk whole disk
16 = /dev/sdb Second SCSI disk whole disk
32 = /dev/sdc Third SCSI disk whole disk
...
240 = /dev/sdp Sixteenth SCSI disk whole disk
Partitions are handled in the same way as for IDE
disks (see major number 3) except that the limit on
partitions is 15.
Diposkan oleh
Andika Triwidada
1 komentar
Friday, January 09, 2009
Patch for Broadcom NetXtreme II 10GbE on kernel 2.6.22
While preparing some IBM x3950 M2 machines, I got several problems. Distro used is Debian Lenny AMD64 varian, which provides kernel 2.6.22 and 2.6.26. Machine couldn't boot kernel 2.6.26, but this problem needs proper IPMI setup or local access (which I don't have now). So back to kernel 2.6.22. Next problem is that 2.6.22 doesn't support Broadcom BCM57710 10GbE. Searching IBM's support, I find potential driver v1.45.20, but they are for SLES/RHEL. Time to get dirty!
First try, too many errors:
After long warming up, last effort involving GNU global (gtags, htags), creating cross references for kernel 2.6.21, 2.6.22, and 2.6.28, path to solution started to appear. The culprit is file bnx2x-compat.h which is a compatibility header created to make this driver compatible to multiple kernel versions. Line #4 originally:$ make KVER=2.6.22-bnx
make -C /lib/modules/2.6.22-bnx/build M=`pwd` modules
make[1]: Entering directory `/usr/src/linux-2.6-2.6.22'
CC [M] /home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.o
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c: In function ‘bnx2x_xmit_type’:
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:9759: error: ‘struct sk_buff’ has no member named ‘nh’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:9764: error: ‘struct sk_buff’ has no member named ‘nh’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c: In function ‘bnx2x_pkt_req_lin’:
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:9809: error: ‘struct sk_buff’ has no member named ‘h’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:9810: error: ‘struct sk_buff’ has no member named ‘h’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c: In function ‘bnx2x_start_xmit’:
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:9899: error: ‘struct sk_buff’ has no member named ‘nh’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:9899: error: ‘struct sk_buff’ has no member named ‘nh’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:9968: error: ‘struct sk_buff’ has no member named ‘nh’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:9975: error: ‘struct sk_buff’ has no member named ‘h’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:9976: error: ‘struct sk_buff’ has no member named ‘nh’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:9978: error: ‘struct sk_buff’ has no member named ‘h’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:9992: error: ‘struct sk_buff’ has no member named ‘h’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:9992: error: ‘struct sk_buff’ has no member named ‘h’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:9992: error: ‘struct sk_buff’ has no member named ‘h’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:9992: error: ‘struct sk_buff’ has no member named ‘h’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:10000: error: ‘struct sk_buff’ has no member named ‘h’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:10007: error: ‘struct sk_buff’ has no member named ‘h’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:10008: error: ‘struct sk_buff’ has no member named ‘h’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:10044: error: ‘struct sk_buff’ has no member named ‘h’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:10044: error: ‘struct sk_buff’ has no member named ‘h’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:10044: error: ‘struct sk_buff’ has no member named ‘h’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:10044: error: ‘struct sk_buff’ has no member named ‘h’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:10044: error: ‘struct sk_buff’ has no member named ‘h’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:10044: error: ‘struct sk_buff’ has no member named ‘h’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:10045: error: ‘struct sk_buff’ has no member named ‘h’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:10045: error: ‘struct sk_buff’ has no member named ‘h’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:10045: error: ‘struct sk_buff’ has no member named ‘h’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:10045: error: ‘struct sk_buff’ has no member named ‘h’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:10045: error: ‘struct sk_buff’ has no member named ‘h’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:10045: error: ‘struct sk_buff’ has no member named ‘h’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:10048: error: ‘struct sk_buff’ has no member named ‘nh’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:10048: error: ‘struct sk_buff’ has no member named ‘nh’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:10048: error: ‘struct sk_buff’ has no member named ‘nh’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:10048: error: ‘struct sk_buff’ has no member named ‘nh’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:10050: error: ‘struct sk_buff’ has no member named ‘nh’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:10050: error: ‘struct sk_buff’ has no member named ‘nh’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:10050: error: ‘struct sk_buff’ has no member named ‘nh’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:10050: error: ‘struct sk_buff’ has no member named ‘nh’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:10050: error: ‘struct sk_buff’ has no member named ‘nh’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:10050: error: ‘struct sk_buff’ has no member named ‘nh’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:10050: error: ‘struct sk_buff’ has no member named ‘nh’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:10050: error: ‘struct sk_buff’ has no member named ‘nh’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:10056: error: ‘struct sk_buff’ has no member named ‘nh’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:10056: error: ‘struct sk_buff’ has no member named ‘nh’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:10056: error: ‘struct sk_buff’ has no member named ‘nh’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:10056: error: ‘struct sk_buff’ has no member named ‘nh’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:10056: error: ‘struct sk_buff’ has no member named ‘nh’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:10056: error: ‘struct sk_buff’ has no member named ‘nh’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:10056: error: ‘struct sk_buff’ has no member named ‘nh’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:10056: error: ‘struct sk_buff’ has no member named ‘nh’
make[2]: *** [/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.o] Error 1
make[1]: *** [_module_/home/andika/src/broadcom/bnx2x-1.45.20] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6-2.6.22'
make: *** [bnx2x.o] Error 2
#if (LINUX_VERSION_CODE < 0x020617)changing this to
#if (LINUX_VERSION_CODE < 0x020616)made a big difference:
All error disappeared after this complete patch:make -C /lib/modules/2.6.22-bnx/build M=`pwd` modules
make[1]: Entering directory `/usr/src/linux-2.6-2.6.22'
CC [M] /home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.o
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c: In function ‘bnx2x_interrupt’:
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:1746: error: ‘struct bnx2x_fastpath’ has no member named ‘napi’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:1746: error: too many arguments to function ‘netif_rx_schedule’
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c: In function ‘bnx2x_poll’:
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:9660: error: ‘napi’ undeclared (first use in this function)
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:9660: error: (Each undeclared identifier is reported only once
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:9660: error: for each function it appears in.)
/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.c:9660: error: too many arguments to function ‘netif_rx_complete’
make[2]: *** [/home/andika/src/broadcom/bnx2x-1.45.20/bnx2x_main.o] Error 1
make[1]: *** [_module_/home/andika/src/broadcom/bnx2x-1.45.20] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6-2.6.22'
make: *** [bnx2x.o] Error 2
Alternatively you can get the patch here: http://research.indocisc.com/~andika/ibm/bnx2x-compat-2.6.22.patch--- bnx2x_compat.h.asli 2008-08-26 16:07:35.000000000 +0700
+++ bnx2x_compat.h 2009-01-08 22:51:52.000000000 +0700
@@ -1,14 +1,16 @@
#ifndef __BNX2X_COMPAT_H__
#define __BNX2X_COMPAT_H__
-#if (LINUX_VERSION_CODE < 0x020617)
+#if (LINUX_VERSION_CODE < 0x020618)
#define skb_copy_from_linear_data_offset(skb, pad, new_skb_data, len) \
memcpy(new_skb_data, skb->data + pad, len)
#define netif_rx_schedule(dev, X) netif_rx_schedule(dev)
#define netif_rx_complete(X, Y) netif_rx_complete(dev)
+#endif
+#if (LINUX_VERSION_CODE < 0x020616)
/* skb_buff accessors */
#define ip_hdr(skb) (skb)->nh.iph
#define ipv6_hdr(skb) (skb)->nh.ipv6h
NIC working now, next target is making 2.6.27+ kernel boots.
Ayo Menerjemahkan Ubuntu Jaunty!
Baru saja saya menerima email:
Message-ID: <49661839.30506@canonical.com>
Date: Thu, 08 Jan 2009 23:14:01 +0800
From: Arne Goetje
To: ubuntu-translators@lists.ubuntu.com
Subject: Jaunty now open for translations
Dear all,
the subject says it all: We have opened Rosetta for Jaunty translations.
Happy translating! :)
Cheers
Arne
Bagaimana kondisi saat ini?
Indonesian statistics in Jaunty
Translatable items: 466.046
Untranslated: 375.453
Diposkan oleh
Andika Triwidada
4
komentar
Tag: launchpad, translation, ubuntu
Monday, December 22, 2008
Definisi (Pendek) Dari Dokumen Elektronik?
Membuat definisi adalah hal yang memusingkan. Coba saja lihat isi Undang-undang Informasi dan Transaksi Elektronik (UU ITE) yang menyebutkan:Dokumen elektronik adalah setiap informasi elektronik yang dibuat, diteruskan, dikirimkan, diterima, atau disimpan dalam bentuk analog, digital, elektromagnetik, optikal, atau sejenisnya, yang dapat dilihat, ditampilkan dan/atau didengar melalui komputer atau sistem elektronik, termasuk tetapi tidak terbatas pada tulisan, suara atau gambar, peta, rancangan, foto atau sejenisnya, huruf, tanda, angka, kode akses, simbol atau perforasi yang memiliki makna atau arti atau dapat dipahami oleh orang yang mampu memahaminya.
Iseng saya coba buat definisi yang lebih singkat:
Dokumen elektronik adalah setiap objek yang berwujud berkas dalam memori sekunder komputer.Asumsi saya, ketika ditransmisikan, dokumen elektronik berubah bentuk menjadi entah-apa-namanya, dan tidak dikenali lagi sebagai dokumen elektronik. Hanya di tempat asal dan tujuan transmisi saja dokumen elektronik memiliki bentuk sebenarnya.
Apa pendapat Anda? Salah? Ngawur? Lebih tepat?
Update: dari Personal Information Protection and Electronic Documents Act,
“electronic document” means data that is recorded or stored on any medium in or by a computer system or other similar device and that can be read or perceived by a person or a computer system or other similar device. It includes a display, printout or other output of that data.
Diposkan oleh
Andika Triwidada
5
komentar
Wednesday, November 05, 2008
Visio di Linux
Kapan kita bisa mengimpor, atau bahkan mengedit, file Visio di Linux? Belum dalam waktu dekat, kalau upaya yang dilakukan oleh Ian Redfern, Valek Filippov dan orang-orang yang telah membantu mereka tidak kita dukung.
Terima kasih untuk Harry Sufehmi yang telah berbagi "... ada orang Inggris yang sedang ngoprek format Visio kok" sampai saya bisa menemukan situs di atas.
Diposkan oleh
Andika Triwidada
0
komentar
Tuesday, November 04, 2008
Quicklinks 20081104
- Wayland: A New X Server For Linux
- Kernel Mode-Setting ditargetkan masuk ke kernel mainline pada versi 2.6.28 atau .29
- USB flash berisi informasi kritikal hilang, kenapa akhir-akhir ini pemerintah UK sering mengalami masalah security terkait pervasive computing? (USB flash termasuk item dalam pervasive computing bukan?)
Diposkan oleh
Andika Triwidada
0
komentar
Tag: quicklinks, security, X