Patch by dnivra (GSoC 2014, ARM suppport)
* Cleanup the SD card image building to allow jam -q @bootstrap-mmc to work. There are a few remaining tricks before you can safely build an image: * This uses a non-POSIX du option, and is only tested with Linux du only (Linux is the only supported system to run bootstrap builds, anyway) * The Python recipe in haikuports.cross is known to not build on Debian/Ubuntu, but work fine on OpenSuse. There is a patch available in haikuports bugtracker to allow the reverse. * You need to populate the haikuports repo package list with some packages (which don't exist yet) to make the build system happy. But our git hook to generate the repositories is preventnig me to share this hack. Once built, the image currently crashes early in the kernel execution. On to debug that!
This commit is contained in:
@@ -84,6 +84,11 @@ HAIKU_DEFAULT_ANYBOOT_NAME = haiku-anyboot.image ;
|
||||
HAIKU_DEFAULT_ANYBOOT_DIR = $(HAIKU_OUTPUT_DIR) ;
|
||||
HAIKU_DEFAULT_ANYBOOT_LABEL ?= Haiku ;
|
||||
|
||||
# Haiku MMC defaults
|
||||
HAIKU_DEFAULT_MMC_IMAGE_NAME = haiku-mmc.image ;
|
||||
HAIKU_DEFAULT_MMC_DIR = $(HAIKU_OUTPUT_DIR) ;
|
||||
HAIKU_DEFAULT_MMC_LABEL ?= Haiku ;
|
||||
|
||||
# analyze and optionally replace jam's target parameters
|
||||
ProcessCommandLineArguments ;
|
||||
|
||||
|
||||
@@ -45,6 +45,7 @@ rule DefineDefaultBuildProfiles
|
||||
|
||||
# bootstrap profiles
|
||||
DefineBuildProfile bootstrap-raw : image : "haiku-bootstrap.image" ;
|
||||
DefineBuildProfile bootstrap-mmc : haiku-mmc-image : "haiku-mmc.image" ;
|
||||
DefineBuildProfile bootstrap-vmware : vmware-image
|
||||
: "haiku-bootstrap.vmdk" ;
|
||||
|
||||
|
||||
@@ -369,6 +369,14 @@ rule DefineBuildProfile name : type : path {
|
||||
buildTarget = haiku-image ;
|
||||
}
|
||||
|
||||
case "haiku-mmc-image" : {
|
||||
targetName ?= $(HAIKU_MMC_IMAGE_NAME) ;
|
||||
targetName ?= $(HAIKU_DEFAULT_MMC_IMAGE_NAME) ;
|
||||
HAIKU_IMAGE_DIR = $(targetDir) ;
|
||||
HAIKU_IMAGE_NAME = $(targetName) ;
|
||||
buildTarget = haiku-mmc-image ;
|
||||
}
|
||||
|
||||
case "vmware-image" : {
|
||||
targetName ?= $(HAIKU_VMWARE_IMAGE_NAME) ;
|
||||
targetName ?= $(HAIKU_DEFAULT_VMWARE_IMAGE_NAME) ;
|
||||
|
||||
@@ -29,13 +29,13 @@ HAIKU_BOARD_LOADER_STACK_BASE = 0x84000000 ;
|
||||
# OMAP x-loader image, must be first file on FAT partition
|
||||
HAIKU_BOARD_MLO_IMAGE ?= MLO ;
|
||||
HAIKU_BOARD_MLO_IMAGE_URL =
|
||||
http://www.angstrom-distribution.org/demo/beagleboard/MLO ;
|
||||
http://downloads.angstrom-distribution.org/demo/beagleboard/MLO ;
|
||||
|
||||
# u-boot binary image filename, to build the flash image
|
||||
# XXX: Locate it somehow (for now just put it in generated/)
|
||||
HAIKU_BOARD_UBOOT_IMAGE ?= u-boot.bin ;
|
||||
HAIKU_BOARD_UBOOT_IMAGE ?= u-boot.img ;
|
||||
HAIKU_BOARD_UBOOT_IMAGE_URL =
|
||||
http://www.angstrom-distribution.org/demo/beagleboard/u-boot.bin ;
|
||||
http://downloads.angstrom-distribution.org/demo/beagleboard/u-boot.img ;
|
||||
|
||||
#
|
||||
# mmc/SD image
|
||||
@@ -47,13 +47,15 @@ HAIKU_BOARD_SDIMAGE_SIZE = 64 ;
|
||||
# in MB
|
||||
HAIKU_BOARD_SDIMAGE_FAT_SIZE = 32 ;
|
||||
|
||||
# offset in blocks XXX: FIXME
|
||||
# (autodetect from sfdisk or use cylinder count for fat size)
|
||||
HAIKU_BOARD_SDIMAGE_BFS_OFFSET = ;
|
||||
mloFile = [ DownloadFile $(HAIKU_BOARD_MLO_IMAGE)
|
||||
: $(HAIKU_BOARD_MLO_IMAGE_URL) ] ;
|
||||
|
||||
ubootFile = [ DownloadFile $(HAIKU_BOARD_UBOOT_IMAGE)
|
||||
: $(HAIKU_BOARD_UBOOT_IMAGE_URL) ] ;
|
||||
|
||||
HAIKU_BOARD_SDIMAGE_FILES =
|
||||
$(HAIKU_BOARD_MLO_IMAGE)
|
||||
$(HAIKU_BOARD_UBOOT_IMAGE)
|
||||
$(mloFile)
|
||||
$(ubootFile)
|
||||
haiku_loader_nbsd.ub
|
||||
;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user