隨著嵌入式系統發展進步,硬體效益及整體性能越來越強,若一個嵌入式系統能在家當個人電腦(PC)外出當手機使用,便可提升硬體的使用效率,增加經濟效益。目前嵌入式系統已經可以分別執行手機的作業系統(Android)及桌機的作業系統(Linux),但沒有如PC的雙重開機功能,可於機器啟動時選擇不同的作業系統。本研究的目標為開發一個具雙重開機(Android and Linux)的S3C2440嵌入式系統,PC使用Bios處理系統初始化、開機管理程式(BootManager)引導作業系統啟動,然而嵌入式系統沒有Bios及BootManager,取而代之的是由開機啟動程式(Bootloader)完成這些工作,因此嵌入式系統需要修改Bootloader來啟動不同作業系統。本研究以Mini2440開發板作為嵌入式系統之平台,並使用功能性強大的U-Boot(Universal Boot Loader,著名Bootloader)來針對開發板硬體規格作移植。按照嵌入式系統標準開機流程,設計開機啟動命令,修改U-Boot來完成S3C2440嵌入式系統的雙重開機。
As embedded systems development advances, the hardware efficiency and overall performance of embedded systems are getting better. If an embedded system can be used as a PC at home and a mobile phone outdoors, then we can enhance the utility of hardware and increase economic efficiency. Currently embedded systems can operate on Android (an operating system of mobile phones) and Linux (an operating system of desktops) separately. But embedded systems do not feature dual-boot process which can be used to select different operating system to boot the machine.The purpose of this study is to develop a dual-boot (Android and Linux) process for S3C2440 based embedded systems. PCs use the Bios to handle system initialization and the BootManager to boot an operating system. But embedded systems do not have either of them. Instead the booting process is done by the bootloader in embedded systems. Therefore, if we want to boot embedded systems using different operation systems, we have to modify its bootloader. We use a mini2440 development board as the embedded system platform, and use the powerful U-Boot (Universal Boot Loader, a bootloader) to transplant operation systems based on hardware specifications. According to the standard embedded system boot process, we design the start-up command and modify U-boot to accomplish the functionality of dual-boot process for S3C2440 embedded systems.