freebsd:world_kernel
差異處
這裏顯示兩個版本的差異處。
| 兩邊的前次修訂版前次修改 下次修改 | 前次修改 | ||
| freebsd:world_kernel [2009/06/20 17:17] – wenpei | freebsd:world_kernel [2010/01/10 11:16] (目前版本) – wenpei | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| - | FreeBSD 6.2 RELEASE | + | |
| + | FreeBSD 6.2 RELEASE | ||
| + | |||
| + | ====== 版本升級 ====== | ||
| + | EX: 從 FreeBSD 6.3 RELEASE 升級至 FreeBSD 7.2 RELEASE | ||
| + | |||
| + | 查詢 / | ||
| + | SUPFILE= | ||
| + | |||
| + | 至該檔案查詢: | ||
| + | < | ||
| + | *default release=cvs tag=RELENG_6_3 | ||
| + | </ | ||
| + | |||
| + | 改成 | ||
| + | < | ||
| + | *default release=cvs tag=RELENG_7_2 | ||
| + | </ | ||
| + | 或 8.0: | ||
| + | < | ||
| + | *default release=cvs tag=RELENG_8_0 | ||
| + | </ | ||
| + | |||
| + | 然後重新 | ||
| + | make update | ||
| + | make buildworld | ||
| + | make buildkernel | ||
| + | make installkernel | ||
| + | make installworld | ||
| + | mergemaster | ||
| + | 等等... | ||
| ====== 做世界 BuildWorld ====== | ====== 做世界 BuildWorld ====== | ||
| ===== 編譯環境的設定檔 ===== | ===== 編譯環境的設定檔 ===== | ||
| 行 43: | 行 74: | ||
| ====== 安裝世界 Install World ====== | ====== 安裝世界 Install World ====== | ||
| # make installworld | # make installworld | ||
| - | |||
| ====== Mergemaster ====== | ====== Mergemaster ====== | ||
| 把 / | 把 / | ||
| - | # mergemaster | + | # mergemaster |
| + | |||
| + | -U 代表自動更新沒有被修改過的設定檔,在 FreeBSD 6.4 版本之後才可使用 | ||
| + | |||
| + | -i 代表自動安裝不存在的新檔案。 | ||
| + | |||
| + | 如果在舊版沒有 -U 可以用,通常只需要看一下差異,然後按 i 安裝新的設定值就可以了,除了 crontab、group、passwd、master.passwd、named.conf 等檔案一定會不同,不能直接安裝新版本,此時就要用 m 進入 merge 模式,然後看是要保留左邊舊版還是安裝右邊新版的檔案,如果要保留就輸入 l (小寫的 L),要用新版本就輸入 r。 | ||
| ====== 新世界 ====== | ====== 新世界 ====== | ||
| 行 53: | 行 89: | ||
| 最後,祈禱沒出問題。 | 最後,祈禱沒出問題。 | ||
| - | ===== 問題處理 ===== | + | ====== 問題處理 |
| - | ==== 找不到硬碟 ==== | + | ===== 7.x 升級 8.0 的問題 ===== |
| + | 安裝完 8.0,要 mergemaster 的時候,可能會出現問題: | ||
| + | < | ||
| + | install -o root -g wheel -m 644 atrun cron ftpd imap kde login other passwd pop3 rsh sshd su system telnetd xdm / | ||
| + | / | ||
| + | Bad system call (core dumped) | ||
| + | *** Error code 140 | ||
| + | |||
| + | Stop in / | ||
| + | *** Error code 1 | ||
| + | |||
| + | Stop in / | ||
| + | *** Error code 1 | ||
| + | |||
| + | Stop in /usr/src. | ||
| + | *** Error code 1 | ||
| + | |||
| + | Stop in /usr/src. | ||
| + | |||
| + | *** FATAL ERROR: Cannot ' | ||
| + | the temproot environment | ||
| + | </ | ||
| + | |||
| + | 是因為 /bin/ln 的檔案已經安裝成新版了,但是在舊版的環境無法執行,參考作法: | ||
| + | - 備份新版的 /bin/ln -- cp /bin/ln / | ||
| + | - 從別台 7.x 的機器把舊版的 ln 透過 scp、http、ftp 等方式複製回來 -- scp [email protected]:/ | ||
| + | - 暫時蓋過 -- cp / | ||
| + | - 重新 mergemaster 完成 | ||
| + | - 將新版的蓋回來 -- cp / | ||
| + | - 重開機 | ||
| + | |||
| + | ===== 找不到硬碟 | ||
| < | < | ||
| Manual root filesystem specification: | Manual root filesystem specification: | ||
| 行 72: | 行 139: | ||
| 開機,即可順利掛載硬碟。 | 開機,即可順利掛載硬碟。 | ||
| - | ====== 版本升級 ====== | + | ===== "/ |
| - | EX: 從 FreeBSD 6.3 RELEASE 升級至 FreeBSD 7.2 RELEASE | + | 編譯途中如果遇到下列錯誤: |
| - | + | ||
| - | 查詢 / | + | |
| - | SUPFILE= | + | |
| - | + | ||
| - | 至該檔案查詢: | + | |
| < | < | ||
| - | *default release=cvs tag=RELENG_6_3 | + | ===> lib/libc (cleandir) |
| + | "/ | ||
| + | make: fatal errors encountered -- cannot continue | ||
| + | *** Error code 1 | ||
| </ | </ | ||
| - | + | 可能是之前重編後沒有將舊版的編譯檔案刪除,執行 | |
| - | 改成 | + | |
| - | < | + | 後重新編譯應該就可以了。 |
| - | | + | |
| - | </code> | + | |
| - | + | ||
| - | 然後重新 | + | |
| - | make update | + | |
| - | make buildworld | + | |
| - | make buildkernel | + | |
| - | make installkernel | + | |
| - | make installworld | + | |
| - | mergemaster | + | |
| - | 等等... | + | |
freebsd/world_kernel.1245489445.txt.gz · 上一次變更: 由 wenpei
