Support booting with a packaged boot loader

* Add new package haiku_loader.hpkg and move haiku_loader there. The
  package is built without compression, so that the stage 1 boot loader
  has a chance of loading it.
* Adjust the stage 1 boot loader to load the haiku_loader package and
  relocate the boot loader code accordingly.
This commit is contained in:
Ingo Weinhold
2013-05-25 01:12:31 +02:00
parent 01c03710f0
commit 64bb883062
7 changed files with 98 additions and 17 deletions
+2 -4
View File
@@ -197,10 +197,11 @@ SYSTEM_ADD_ONS_FILE_SYSTEMS = bfs bindfs btrfs cdda exfat ext2 fat iso9660 nfs
googlefs ;
# build the haiku system package and add it
# build the haiku system packages and add them
include [ FDirName $(HAIKU_BUILD_RULES_DIR) HaikuPackages ] ;
AddPackageFilesToHaikuImage system : haiku.hpkg ;
AddPackageFilesToHaikuImage system : haiku_loader.hpkg ;
AddSymlinkToHaikuImage . : /boot/common/apps ;
@@ -315,9 +316,6 @@ SEARCH on <post-install>fresh_install
= [ FDirName $(HAIKU_TOP) data common settings ] ;
AddFilesToHaikuImage common settings : <post-install>fresh_install ;
# boot loader
AddFilesToHaikuImage system : haiku_loader ;
# decorators
AddDirectoryToHaikuImage home config non-packaged add-ons decorators ;
#AddFilesToHaikuImage home config add-ons decorators : ;
+1
View File
@@ -4,6 +4,7 @@ local packages =
Haiku
HaikuCrossDevel
HaikuDevel
HaikuLoader
HaikuUserguide
HaikuWelcome
MakefileEngine
-3
View File
@@ -280,9 +280,6 @@ SEARCH on $(thinkPadFiles) = $(thinkpadDir) ;
AddFilesToPackage data KeyboardLayouts ThinkPad
: $(thinkPadFiles) ;
# boot loader
AddFilesToPackage : haiku_loader ;
# boot module links
AddBootModuleSymlinksToPackage
acpi@x86 ata@ata pci isa@x86 config_manager dpc
+13
View File
@@ -0,0 +1,13 @@
local haikuLoaderPackage = haiku_loader.hpkg ;
HaikuPackage $(haikuLoaderPackage) ;
# boot loader
AddFilesToPackage : haiku_loader ;
# Force no compression, so the stage one loader can directly execute the boot
# loader.
HAIKU_PACKAGE_COMPRESSION_LEVEL on $(haikuLoaderPackage) = 0 ;
BuildHaikuPackage $(haikuLoaderPackage) : haiku_loader ;