Installed at w8 cp at VirtualBox in Ubuntu 11.10.
The default version of VirtualBox that came with 11.10 is version 4.1.2.
No Windows 8 option, so select others, system will up, and stop at recovery option.
Google found that 4.1.8+ version should already come with w8 option, update to 4.1.8, w8 up without problem.
Windows 8 consumer preview location :
http://windows.microsoft.com/en-US/windows-8/consumer-preview
VirtualBox location :
https://www.virtualbox.org/wiki/Downloads
Wednesday, March 14, 2012
Friday, March 09, 2012
Google Spreadsheet ,TEXT() 函數, format 的語法
在一個對網路很不友善的環境下....(略)...
沒想到最廣泛被大家使用的竟然是 Google Doc ... 想想也合理... 因為 Outlook 空間過小... 不適合丟大檔案... 公司的 server 空間使用規定很嚴... 一切都要靠 VPN ... 所以最後大家都把檔案都丟 google doc... 也正好利用了他天生方便共筆的特性... 同步大家的資訊也容易....
所以.. 除了漸漸淡忘的 Excel 語法後... 我又開始學習 Google spreadsheet 比較進階的用法了....
" Google Spreadsheet 裡面 TEXT() 函數裡面, format 的用法.... http://goo.gl/00S5p "
Sunday, March 04, 2012
Build UEFI EDK2 UnixPkg 64bit under Ubuntu 11.10
Fellow the instruction here :
http://blog.xuite.net/meloscheng/note/56299386
Two place need to modify :
1. Link crt*.o to correct place :
root@neou11:/usr/lib# ls /usr/lib/crt* -l
lrwxrwxrwx 1 root root 32 2012-03-04 02:37 /usr/lib/crt1.o -> /usr/lib/x86_64-linux-gnu/crt1.o
lrwxrwxrwx 1 root root 32 2012-03-04 02:37 /usr/lib/crti.o -> /usr/lib/x86_64-linux-gnu/crti.o
lrwxrwxrwx 1 root root 32 2012-03-04 02:37 /usr/lib/crtn.o -> /usr/lib/x86_64-linux-gnu/crtn.o
2. Use GCC 4.6 instead of 4.4 :
neo@neou11:~/work/edk2-12898/UnixPkg$ svn diff build64.sh
Index: build64.sh
===================================================================
--- build64.sh (revision 12898)
+++ build64.sh (working copy)
@@ -41,7 +41,7 @@
# Pick a default tool type for a given OS
#
TARGET_TOOLS=MYTOOLS
-UNIXPKG_TOOLS=GCC44
+UNIXPKG_TOOLS=GCC46
NETWORK_SUPPORT=
case `uname` in
CYGWIN*) echo Cygwin not fully supported yet. ;;
Then SecMain could be built, and running.
Thursday, March 01, 2012
Don`t mess your environment, use schroot instead
以 Linux 當開發環境的人, 常在系統裡安裝一堆有的沒的 Library, 特別是要 match 某些 open source 的開發需求時, 有時候萬一一個不小心, 把你日常的桌面環境搞爆炸了, 復原或是重新安裝可就是一筆大工程...
在一個對網路不友善的環境中, 要是爆炸了, 那更是一種難受的折磨...
要是純是 x86 的開發需求, 可以用單純的 chroot 環境來應付, cross compiler 也有成熟的 sandbox mode 相關的工具, 另外 schroot 則是補足 chroot 的需求, 讓一般的用戶也可以切換到一個隔離的開發環境, 適合在多人分享的 build server 下使用...
This note is Chinese, but author too busy to finish them all :-(
http://novus.pixnet.net/blog/post/29322140-%E5%A5%BD%E7%94%A8%E7%9A%84-schroot
This note is English, but with simple step-by-step :-)
https://dev.launchpad.net/Running/Schroot
在一個對網路不友善的環境中, 要是爆炸了, 那更是一種難受的折磨...
要是純是 x86 的開發需求, 可以用單純的 chroot 環境來應付, cross compiler 也有成熟的 sandbox mode 相關的工具, 另外 schroot 則是補足 chroot 的需求, 讓一般的用戶也可以切換到一個隔離的開發環境, 適合在多人分享的 build server 下使用...
This note is Chinese, but author too busy to finish them all :-(
http://novus.pixnet.net/blog/post/29322140-%E5%A5%BD%E7%94%A8%E7%9A%84-schroot
This note is English, but with simple step-by-step :-)
https://dev.launchpad.net/Running/Schroot
Sunday, February 12, 2012
in_addr v.s. in_addr_t
There are lots function/macros designed to convert them :
in_addr_t inet_addr(const char *cp);
in_addr_t inet_lnaof(struct in_addr in);
struct in_addr inet_makeaddr(in_addr_t net, in_addr_t lna);
in_addr_t inet_netof(struct in_addr in);
in_addr_t inet_network(const char *cp);
char *inet_ntoa(struct in_addr in);
In fact, both in_addr_t, in_addr is defined in netinet/in.h :
#ifndef _IN_ADDR_T
#define _IN_ADDR_T
typedef __uint32_t in_addr_t;
#endif
struct in_addr {
in_addr_t s_addr;
};
Struct in_addr contain/hide detail of IP address, so if you need to record IP inside your program, use struct in_addr maybe a better idea then in_addr_t.
Thursday, February 09, 2012
Unhandled Lockdown error (-15)
在一個對網路不友善的環境中....(略)
公司的 Linux build machine, 因為沒有登入公司網域, 要連外更新時都是很頭痛的問題, 然後又沒有無線網卡, 也沒法透過我 iPhone 分享的無線網路出去
上次意外發現 Ubuntu 11.10 內建 ipheth 之後, 就解決了這個問題, 透過 USB 走我的 iPhone 出去, 結果昨天晚上 iPhone 白蘋果, 復原後, 今天早上就發現接上去的時候有問題沒法出去了
錯誤的訊息是 : "Unhandled Lockdown error (-15)", 跟上次我遇到的問題不一樣 (上次更新 libimobiledevice 之後就可以動了)
Google 後發現了解法 :
1. 移除~/.config/libimobiledevice, 重新連接一次
2. 安裝 libimobiledevice-utils, 重新 pairing 一次 : idevicepair unpair && idevicepair pair
我做到第一步之後就解了, 要是第一步不行, 以現在沒法連接外網的情況, 我又要手動複製 .deb 了, 這就痛苦了
看了一下 ~/.config/libimobiledevice 下, 好像是些認證的檔案, 也許重刷後這些翻新了, 導致之前配對的過程要重來一次吧
Reference :
Paulo (pauloerweber) wrote on 2011-11-18: #26
The unpair/pair commands worked on my iPad 1st Gen. Later to the commands, I removed ~/.config/libimobiledevice, rebooted the PC and only then connected the iPad (unlocked) on USB. After that, Ubuntu 11.10 was able to mount the iPad, even locked.almadana (almadana) wrote on 2011-11-22: #27
sudo apt-get install libimobiledevice-utils
idevicepair unpair && idevicepair pair
Tuesday, February 07, 2012
在一個對網路不友善的環境中
在一個對網路不友善的環境中....(略)
repo 預設會啟動4個 sync thread, 對於我小小的3G連外頻寬是個吃重的負荷, 可以用 -j 指定要用幾個 thread 抓 :
repo sync -j 1
repo 預設會啟動4個 sync thread, 對於我小小的3G連外頻寬是個吃重的負荷, 可以用 -j 指定要用幾個 thread 抓 :
repo sync -j 1
Thursday, February 02, 2012
How to manually add a new user account by command line in Mac OSX Snow Leopard
sh-3.2# dscl . -create /Users/svnuser
sh-3.2# dscl . -create /Users/svnuser UserShell /bin/bash
sh-3.2# dscl . -passwd /Users/svnuser passwd
sh-3.2# dscl . -create /Users/svnuser RealName SvnUser
sh-3.2# dscl . -create /Users/svnuser UniqueID 510
sh-3.2# dscl . -create /Users/svnuser PrimaryGroupID 80
sh-3.2# dscl . -create /Users/svnuser NFSHomeDirectory /Users/svnuser
sh-3.2# cp -R /System/Library/User\ Template/English.lproj/ /Users/svnuser
sh-3.2# chown -R svnuser:staff /Users/svnuser
Refer from :
sh-3.2# dscl . -create /Users/svnuser UserShell /bin/bash
sh-3.2# dscl . -passwd /Users/svnuser passwd
sh-3.2# dscl . -create /Users/svnuser RealName SvnUser
sh-3.2# dscl . -create /Users/svnuser UniqueID 510
sh-3.2# dscl . -create /Users/svnuser PrimaryGroupID 80
sh-3.2# dscl . -create /Users/svnuser NFSHomeDirectory /Users/svnuser
sh-3.2# cp -R /System/Library/User\ Template/English.lproj/ /Users/svnuser
sh-3.2# chown -R svnuser:staff /Users/svnuser
Refer from :
Friday, January 20, 2012
Useful rar command line
Usage: rar <command> - <switch 1> <switch N> <archive> <files....>
<@listfiles...> <path_to_extract\>
<Commands>
a Add files to archive
x Extract files with full path
<Switches>
So, normally we use :
It will be max compression level, with recovery record, and also multi-volume with 600MB for each files.
<@listfiles...>
<Commands>
x Extract files with full path
m<0..5> Set compression level (0-store...3-default...5-maximal)
rr[N] Add data recovery record
v[k,b] Create volumes with size=*1000 [*1024, *1]
So, normally we use :
rar a -m5 -rr -v600000k abc.rar abcfiles
It will be max compression level, with recovery record, and also multi-volume with 600MB for each files.
ssh config file to different machine, user, port
Normally we may have different account at different machine, including different user name or port.
* man page of ssh_config http://linux.die.net/man/5/ssh_config
When default ssh run, it will use your user name as default connection user name, and also port 22 for remote port.
We may use ssh -l login_name to overwrite user name, and ssh -p port to overwrite port number.
We may also have below text inside .ssh/config file to default some useful connection :
Host Home
User neo
Port 1234
HostName neozone.com
User neo
Port 1234
HostName neozone.com
Host Office
User neo_wong
Port 13579
HostName hellocompany.com
User neo_wong
Port 13579
HostName hellocompany.com
So that when we use ssh Home, it will equal to :
ssh -l neo -p 1234 neozone.com
It dont have have all field exist :
User neo
equal to :
ssh -l neo
* man page of ssh_config http://linux.die.net/man/5/ssh_config
Monday, January 02, 2012
Windows 下如何 dump DNS cache, 如何清除DNS cache
Dump DNS cache : ipconfig /displaydns
Clean DNS cache : ipconfig /flushdns
Clean DNS cache : ipconfig /flushdns
Outlook 2007 無法遠端存取公司 Exchange 郵件
為了避免登入公司 Domain 時被強制安裝很多監控軟體, 重裝了電腦, 這次不將帳號設成登入公司網域, 只在必要的時候連線公司網路進入 intranet 存取資源
唯一最重要要常常存取的東西就是公司的 mail, 公司的 exchange 預設可以遠端存取郵件, 只是這台新設好的電腦, 在遠端存取上一直發生問題, 出現以下的錯誤 :
[Proxy 伺服器的安全性憑證發生問題,
http://social.technet.microsoft.com/forums/zh-TW/exchangezhcht/thread/e24022ee-2b4d-4c7b-bded-eb7a826048f9
唯一最重要要常常存取的東西就是公司的 mail, 公司的 exchange 預設可以遠端存取郵件, 只是這台新設好的電腦, 在遠端存取上一直發生問題, 出現以下的錯誤 :
[Proxy 伺服器的安全性憑證發生問題,
-安全性憑證不是來自可信任的憑證授權單位,
-Outlook無法連線至Proxy伺服器mail.xxx.com.tw,(錯誤代碼8) ]
-Outlook無法連線至Proxy伺服器mail.xxx.com.tw,(錯誤代碼8) ]
google 了一下發現 :
http://social.technet.microsoft.com/forums/zh-TW/exchangezhcht/thread/e24022ee-2b4d-4c7b-bded-eb7a826048f9
對照有登入網域的電腦後, 發現我少了兩個憑證, 從那台電腦匯出, 這台匯入後, 就可以存取了 , 這樣我的 Outlook 運作正常, 就不需要沒事登入公司的網路了, 嘿嘿
Sunday, January 01, 2012
clear, more command missing in cygwin
Clear command did not default installed, you need to add ncurses package when install cygwin.
Also Ctrl+L could clear screen too, if you dont have clear.exe installed.
More command could be replace by less command, so set an alias should be able to fix it.
Also Ctrl+L could clear screen too, if you dont have clear.exe installed.
More command could be replace by less command, so set an alias should be able to fix it.
Wednesday, December 07, 2011
repo -b
repo 是 google 在 Android Open Source Project 導入的原始碼管理工具, 用來同步許多 git repository 的動作, 同時也協助 source code review server 溝通。
用 repo 來開始抓遠端的 source code 時, 必須先指定 URL 及想抓取的分支, 如以下的指令就是抓出 AOSP 上 tag 為 android-4.0.1_r1 的版本 :
$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1
在下 repo sync 之前, 可以先看看抓下來的 manifest.xml 檔案 :
$ cat .repo/manifest.xml | head -9
<!--?xml version="1.0" encoding="UTF-8"?-->
<manifest>
<remote name="aosp" <="" p="">
fetch=".." />
<default <="" p="" revision="refs/tags/android-4.0.1_r1">
remote="aosp"
sync-j="4" />
很明顯, 剛剛所下的分支版號就紀錄於此, 此時我們再下一次 init, 改抓另個分支 :
$ repo init -b android-2.3.7_r1
.repo/manifests/: manifest switched android-4.0.1_r1...android-2.3.7_r1
.repo/manifests/: discarding 10 commits removed from upstream
再看一次 manifest.xml :
$ cat .repo/manifest.xml | head -9
<!--?xml version="1.0" encoding="UTF-8"?-->
<manifest>
<remote name="aosp" <="" p="">
fetch=".." />
<default <="" p="" revision="refs/tags/android-2.3.7_r1">
remote="aosp"
sync-j="4" />
的確紀錄的版本改變了, manifest.xml 上面所紀錄的分支名稱, 會用來當執行 repo sync 時, 把各個 git repository 照這分支抓下來。
$ repo sync bionic
Downloading bionic: 100% (3MB/3MB), done.
...
Unpacking objects: 100% (61/61), done.
From https://android.googlesource.com/platform/bionic
...
Fetching projects: 100% (1/1), done.
$ cd bionic/
$ git branch -a
* (no branch)
...
remotes/m/android-2.3.7_r1 -> refs/tags/android-2.3.7_r1
此時抓下來的分支, 就是後面改設的 android-2.3.7_r1, 這時試著改切回 4.0.1_r1 的分支
$ repo init -b android-4.0.1_r1
.repo/manifests/: manifest switched android-2.3.7_r1...android-4.0.1_r1
.repo/manifests/: discarding 1 commits removed from upstream
$ repo sync bionic
Fetching projects: 100% (1/1), done.
$ cd bionic/
$ git branch -a
* (no branch)
...
remotes/m/android-2.3.7_r1 -> refs/tags/android-2.3.7_r1
remotes/m/android-4.0.1_r1 -> refs/tags/android-4.0.1_r1
可以看到有兩個跟遠端的依從關係, 理論上這裡紀錄了 local repository 跟 remote repository 分支版本的關係, 這裡的資訊會來 commit 檔案到遠端的時候, 選擇正確的 branch, 不過這裡我尚無法實驗釐清。
當我們單獨 git clone 一個 project 時, -b 亦會產生相同的效果
用 repo 來開始抓遠端的 source code 時, 必須先指定 URL 及想抓取的分支, 如以下的指令就是抓出 AOSP 上 tag 為 android-4.0.1_r1 的版本 :
$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1
在下 repo sync 之前, 可以先看看抓下來的 manifest.xml 檔案 :
$ cat .repo/manifest.xml | head -9
<!--?xml version="1.0" encoding="UTF-8"?-->
<manifest>
<remote name="aosp" <="" p="">
fetch=".." />
<default <="" p="" revision="refs/tags/android-4.0.1_r1">
remote="aosp"
sync-j="4" />
很明顯, 剛剛所下的分支版號就紀錄於此, 此時我們再下一次 init, 改抓另個分支 :
$ repo init -b android-2.3.7_r1
.repo/manifests/: manifest switched android-4.0.1_r1...android-2.3.7_r1
.repo/manifests/: discarding 10 commits removed from upstream
再看一次 manifest.xml :
$ cat .repo/manifest.xml | head -9
<!--?xml version="1.0" encoding="UTF-8"?-->
<manifest>
<remote name="aosp" <="" p="">
fetch=".." />
<default <="" p="" revision="refs/tags/android-2.3.7_r1">
remote="aosp"
sync-j="4" />
的確紀錄的版本改變了, manifest.xml 上面所紀錄的分支名稱, 會用來當執行 repo sync 時, 把各個 git repository 照這分支抓下來。
$ repo sync bionic
Downloading bionic: 100% (3MB/3MB), done.
...
Unpacking objects: 100% (61/61), done.
From https://android.googlesource.com/platform/bionic
...
Fetching projects: 100% (1/1), done.
$ cd bionic/
$ git branch -a
* (no branch)
...
remotes/m/android-2.3.7_r1 -> refs/tags/android-2.3.7_r1
此時抓下來的分支, 就是後面改設的 android-2.3.7_r1, 這時試著改切回 4.0.1_r1 的分支
$ repo init -b android-4.0.1_r1
.repo/manifests/: manifest switched android-2.3.7_r1...android-4.0.1_r1
.repo/manifests/: discarding 1 commits removed from upstream
$ repo sync bionic
Fetching projects: 100% (1/1), done.
$ cd bionic/
$ git branch -a
* (no branch)
...
remotes/m/android-2.3.7_r1 -> refs/tags/android-2.3.7_r1
remotes/m/android-4.0.1_r1 -> refs/tags/android-4.0.1_r1
可以看到有兩個跟遠端的依從關係, 理論上這裡紀錄了 local repository 跟 remote repository 分支版本的關係, 這裡的資訊會來 commit 檔案到遠端的時候, 選擇正確的 branch, 不過這裡我尚無法實驗釐清。
當我們單獨 git clone 一個 project 時, -b 亦會產生相同的效果
Thursday, December 01, 2011
Vibrator function support in Android
Android application connect to HAL by JNI interface, for vibrator, the JNI interface is defined very simple.
JNI: frameworks/base/services/jni/com_android_server_VibratorService.cpp
vibratorOn, vibratorOff and vibratorExists just simple wrapper of vibrator_on, vibrator_off and vibrator_exists, which is provide by device maker, through HAL interface.
HAL: hardware/libhardware_legacy/vibrator/vibrator.c
#define THE_DEVICE "/sys/class/timed_output/vibrator/enable"
int vibrator_exists()
{
int fd;
#ifdef QEMU_HARDWARE
if (qemu_check()) {
return 1;
}
#endif
fd = open(THE_DEVICE, O_RDWR);
if(fd < 0)
return 0;
close(fd);
return 1;
}
int vibrator_on(int timeout_ms)
{
/* constant on, up to maximum allowed time */
return sendit(timeout_ms);
}
int vibrator_off()
{
return sendit(0);
}
HAL call into kernel space by sysfs, path at "/sys/class/timed_output/vibrator/enable"
It's a Android designed feature, a timed_output or timed_gpio device.
If you echo 10000 into this sysfs, then it will vibrate for ten seconds :
Inside kernel space, Android defined two new platform driver to be use for vibrator : timed_gpio and timed_output.
By grab HC kernel source that released by Acer/ASUS, found that they are using different of implementation.
Acer use a gpio pin, config with a timed_gpio driver, hook up with platform_device driver, and also to timed_output driver to provide vibrator interface from sysfs.
ASUS use an IC max1749, directly register a timed_output interface to provide vibrator interface from sysfs.
PS. Beside kernel source, above source code is trace from AOSP 4.0.1.
JNI: frameworks/base/services/jni/com_android_server_VibratorService.cpp
static jboolean vibratorExists(JNIEnv *env, jobject clazz){ return vibrator_exists() > 0 ? JNI_TRUE : JNI_FALSE;}
static void vibratorOn(JNIEnv *env, jobject clazz, jlong timeout_ms)
{
// LOGI("vibratorOn\n");
vibrator_on(timeout_ms);
}
static void vibratorOff(JNIEnv *env, jobject clazz)
{
// LOGI("vibratorOff\n");
vibrator_off();
}
static JNINativeMethod method_table[] = {
{ "vibratorExists", "()Z", (void*)vibratorExists },
{ "vibratorOn", "(J)V", (void*)vibratorOn },
{ "vibratorOff", "()V", (void*)vibratorOff }
}; vibratorOn, vibratorOff and vibratorExists just simple wrapper of vibrator_on, vibrator_off and vibrator_exists, which is provide by device maker, through HAL interface.
HAL: hardware/libhardware_legacy/vibrator/vibrator.c
#define THE_DEVICE "/sys/class/timed_output/vibrator/enable"
int vibrator_exists()
{
int fd;
#ifdef QEMU_HARDWARE
if (qemu_check()) {
return 1;
}
#endif
fd = open(THE_DEVICE, O_RDWR);
if(fd < 0)
return 0;
close(fd);
return 1;
}
int vibrator_on(int timeout_ms)
{
/* constant on, up to maximum allowed time */
return sendit(timeout_ms);
}
int vibrator_off()
{
return sendit(0);
}
HAL call into kernel space by sysfs, path at "/sys/class/timed_output/vibrator/enable"
It's a Android designed feature, a timed_output or timed_gpio device.
If you echo 10000 into this sysfs, then it will vibrate for ten seconds :
$ echo 10000 > /sys/class/timed_output/vibrator/enable
If you cat it during the vibration, you will saw how many ms before it back to quiet :
$ cat /sys/class/timed_output/vibrator/enable
315
Inside kernel space, Android defined two new platform driver to be use for vibrator : timed_gpio and timed_output.
By grab HC kernel source that released by Acer/ASUS, found that they are using different of implementation.
Acer use a gpio pin, config with a timed_gpio driver, hook up with platform_device driver, and also to timed_output driver to provide vibrator interface from sysfs.
ASUS use an IC max1749, directly register a timed_output interface to provide vibrator interface from sysfs.
PS. Beside kernel source, above source code is trace from AOSP 4.0.1.
Thursday, March 03, 2011
Android-x86 ginerbread build failed
Same as below :
https://groups.google.com/group/android-building/browse_thread/thread/e9baa16a0b1e96f
Inside fedora14, update "make", then problem solved.
So seems newer version of make had released.
https://groups.google.com/group/android-building/browse_thread/thread/e9baa16a0b1e96f
Inside fedora14, update "make", then problem solved.
So seems newer version of make had released.
Friday, January 21, 2011
pidof script of mac OSX
Found at http://hints.macworld.com/article.php?story=20030618114543169
#!/bin/sh
ps axc|awk "{if (\$5==\"$1\") print \$1}";
Saturday, January 15, 2011
Interface builder
Can't connect outlet from rounded button to file's owner.
Found same issues :
http://stackoverflow.com/questions/1746281/cant-connect-iboutlet-in-interface-builder
Solved by read class file again, wired !
Found same issues :
http://stackoverflow.com/questions/1746281/cant-connect-iboutlet-in-interface-builder
Solved by read class file again, wired !
Friday, January 14, 2011
SSH Over USB
From iPhone Development Wiki
SSH over USB using usbmuxd Tested on OS X. Works on Windows too, according to the README- Get usbmuxd source package and unpack
- Go into folder python-client
- chmod +x tcprelay.py
- Run ./tcprelay.py -t 22:2222
The -t switch tells tcprelay to run threaded and allow more than one ssh over the same port.
See ./tcprelay.py --help for further options.
Log from : http://iphonedevwiki.net/index.php/SSH_Over_USB
Wednesday, December 29, 2010
How to sync cydia repository by ubuntu
1. apt-get install apt-mirror
2. Add cydia repository into /etc/apt/mirror.list
3. Change deb to deb-iphoneos-arm so that different arch could be loaded
ex.
original :
deb http://example.com/debian stable main contrib non-free
modified :
deb-iphoneos-arm http://example.com/debian stable main contrib non-free
4. Modify /usr/bin/apt-mirror to accept .bz2 only ( it seems that lots cydia repo did not provide .gz version of packages file )
5. run apt-mirror
After all done, mirrored repo could be found at /var/spool/apt-mirror/mirror
If anything failed during apt-mirror running, be sure to rm /var/spool/apt-mirror/var/apt-mirror.lock before re-run
2. Add cydia repository into /etc/apt/mirror.list
3. Change deb to deb-iphoneos-arm so that different arch could be loaded
ex.
original :
deb http://example.com/debian stable main contrib non-free
modified :
deb-iphoneos-arm http://example.com/debian stable main contrib non-free
4. Modify /usr/bin/apt-mirror to accept .bz2 only ( it seems that lots cydia repo did not provide .gz version of packages file )
5. run apt-mirror
After all done, mirrored repo could be found at /var/spool/apt-mirror/mirror
If anything failed during apt-mirror running, be sure to rm /var/spool/apt-mirror/var/apt-mirror.lock before re-run
Subscribe to:
Posts (Atom)
