為什麼Embedded Linux 也有不同套件版本?!
為什麼Embedded Linux 也有不同套件版本?!
完成於2005/5/6
首先,我們要說明的只針對Kernel,而且也不會一一對個別套件提出說明,只是歸納一個共通的規則,一個名為 XXX Linux一定是經由以下過程而來的:
第一,它一定是參考自Linus本人(或和其他開發者合作)的一個核心版本,會被發佈在www.kernel.org中,例如 linux-2.4.29.tar.gz
第二,Embedded通常需要CPU的Patch,因為kernel.org主要是針對IA32(X86)、IA64..等平台測試,雖然它也支援ARM、MIPS、PPC..等,但通常沒什麼作用。以ARM為例,如果是ARM7,那就需要uClinux了,請到uclinux.org下載你需要的版本,例如uClinux-2.4.29-uc0.diff.gz
第三,最後(如果沒有這個,那你就要自已保重了),各種公版(Evaluation Board)的發行商,會針對linux-2.4.29.tar.gz 加上uClinux-2.4.29-uc0.diff.gz 再加上它自已的修正,再加上Boot/Loader及相關Driver(有時連AP或microwindows等都會附上),包裝成Developer Kit,再發行,而發行商的角色有時也會是一些Design House或系統整合大廠,反正他們的CPU/SOC/DSP想賣出去,都會找Open Source組織或個人或商業版embedded linux廠商或自已,做成一個可以Demo的版本。
通常愈完整或愈貴的商用版本,它不只是工具眾多,還會對Kernel,GCC、Lib等做最佳化,甚到連Protocol stack也會修改,有的還會考慮Boot Loader在開發階段的需求,讓你在Boot Loader下(不需開機到Linux),就可以用網路更新Firmware等。
客戶提供的愈多,你就愈輕鬆,老闆也就愈不需要你,兩難:p
完成於2005/5/6
首先,我們要說明的只針對Kernel,而且也不會一一對個別套件提出說明,只是歸納一個共通的規則,一個名為 XXX Linux一定是經由以下過程而來的:
第一,它一定是參考自Linus本人(或和其他開發者合作)的一個核心版本,會被發佈在www.kernel.org中,例如 linux-2.4.29.tar.gz
第二,Embedded通常需要CPU的Patch,因為kernel.org主要是針對IA32(X86)、IA64..等平台測試,雖然它也支援ARM、MIPS、PPC..等,但通常沒什麼作用。以ARM為例,如果是ARM7,那就需要uClinux了,請到uclinux.org下載你需要的版本,例如uClinux-2.4.29-uc0.diff.gz
第三,最後(如果沒有這個,那你就要自已保重了),各種公版(Evaluation Board)的發行商,會針對linux-2.4.29.tar.gz 加上uClinux-2.4.29-uc0.diff.gz 再加上它自已的修正,再加上Boot/Loader及相關Driver(有時連AP或microwindows等都會附上),包裝成Developer Kit,再發行,而發行商的角色有時也會是一些Design House或系統整合大廠,反正他們的CPU/SOC/DSP想賣出去,都會找Open Source組織或個人或商業版embedded linux廠商或自已,做成一個可以Demo的版本。
通常愈完整或愈貴的商用版本,它不只是工具眾多,還會對Kernel,GCC、Lib等做最佳化,甚到連Protocol stack也會修改,有的還會考慮Boot Loader在開發階段的需求,讓你在Boot Loader下(不需開機到Linux),就可以用網路更新Firmware等。
客戶提供的愈多,你就愈輕鬆,老闆也就愈不需要你,兩難:p
Labels: Embedded Linux