發表文章

目前顯示的是 2008的文章

微軟終結者 ReactOS

很久沒有更新"河馬工作室"了,剛在BBS看到一個有趣的東西, 就PO在這裡吧! 微軟的豐功偉業不用說,大家都知道,又愛錢、問題又多、又頻頻改版強迫升級, 但是Linux相對艱澀難懂,很多人沒有選擇只好乖乖就範。 針對這個問題,很多開源組織試圖做出相容於微軟的系統或者服務, 提供一種無痛升級的方式,直接移植本來的應用程式到新系統中, 其中以 WINE 最為大家所知,可以在Linux下直接執行EXE檔。 今天要介紹的 ReactOS 就更厲害了,他的目標是打造出Winddows XP的完全取代品, 而且完全開放原始碼、完全免費,這樣一來連Linux都不用學, 只要把OS換掉,收錢的吸血鬼換成免費的版本,一切搞定。 目前出到0.3.6版,功能還不是很健全,整個系統才100MB, 不過想嘗鮮的朋友可以抓下來玩。 一邊玩著熟悉的Windows XP介面但是心理知道骨子裡是重新寫過的系統, 感覺還蠻妙的,希望他們團隊繼續加油,早日開發完成。 延伸閱讀: ReactOS 繁體中文官網

tracelog: /proc/net/dev

起因:同事問我怎麼抓到ifconfig -a中所有的interface 追蹤記錄: 執行檔 ifconfig => 套件 net-tool 關鍵字 "-a" => 函示 "for_all_interface" => 檔案 "/proc/net/dev" 檔案 "/proc/net/dev" => 函示 "dev_proc_init" (net/core/dev.c) 函示 "proc_net_fops_create" (include/linux/proc_fs.h) 目錄 "/proc/net" => 函示 proc_root_init (fs/proc/root.c) dev_seq_fops (net/core/dev.c) => open => dev_seq_open => dev_seq_ops 結論: net/core/dev.c中的 dev (struct net_device) 就是核心的 net device list

Linux 開機時期保留記憶體實做

在LDD一書中提過要獲取大量連續記憶體有幾種方法 1) 設定cmdline parameter mem=XXM 2) 在開機時候保留記憶體 之前適用第一種方法,但是要boot loader配合 這次實驗第二種方法,於是開始HACK KERNEL 函示原型跟標頭檔如下: #include linux/bootmem.h void *alloc_bootmem(unsigned long size); void *alloc_bootmem_low(unsigned long size); void *alloc_bootmem_pages(unsigned long size); void *alloc_bootmem_low_pages(unsigned long size); 實做步驟: 1) 修改init/main.c,找到start_kernel函示 2) 在setup_arch(..)之後,加入alloc_bootmem_XX的程式碼 3) 把得到的指標export出來,大功告成

記憶卡毀損救星:Digital Image Recovery

近日家人的記憶卡發生:記憶卡錯誤,需要格式化的訊息。 但是裡面存有重要照片怎麼辦? 嘿嘿,這時候就要請出DIR啦! 不過這不是DOS的DIR查詢目錄指令,這是Digital Image Recovery的縮寫 由 LC Technology International, inc. 出品的"免費軟體" 軟體王的載點: http://reg.softking.com.tw/freeware/index.asp?fid1=2&fid2=327&fid3=16545 用法直覺簡單,非常推薦

修復Linux無法開機問題: "dup2: bad file descriptor"

轉載自: http://www.goitexpert.com/entry.cfm?entry=Fixing-dup2-bad-file-descriptor-error-on-Linux 問題: /dev/null 意外消失了 解決方法: 重新開機後輸入root密碼 首先mount proc $ mount -o ro /proc c 再以可讀寫重新mount 根目錄 $ mount -o remount,rw / 復原/dev/null檔案 $ rm -f /dev/null $ mknod -m 666 /dev/null c 1 3 再以唯獨模式重新mount 根目錄 $ mount -o remount,ro / 重新開機 $ reboot