allow 1MB extra space for JFFS and other enhancements (#7706)
SVN-Revision: 22690
This commit is contained in:
		@@ -29,8 +29,7 @@ define Image/Build/sitecom
 | 
			
		||||
endef
 | 
			
		||||
 | 
			
		||||
define Image/Build/bifferboard
 | 
			
		||||
	$(TOPDIR)/target/linux/rdc/image/mkimg_bifferboard.py $(KDIR)/bzImage $(KDIR)/root.$(1) $(KDIR)/tmp.img
 | 
			
		||||
	$(CP) $(KDIR)/tmp.img $(BIN_DIR)/$(IMG_PREFIX)-$(1)-$(2).img
 | 
			
		||||
	$(TOPDIR)/target/linux/rdc/image/mkimg_bifferboard.py $(KDIR)/bzImage $(KDIR)/root.$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(1)-$(2).img
 | 
			
		||||
endef
 | 
			
		||||
 | 
			
		||||
define Image/Build/Initramfs
 | 
			
		||||
 
 | 
			
		||||
@@ -1,21 +1,31 @@
 | 
			
		||||
#!/usr/bin/env python
 | 
			
		||||
 | 
			
		||||
"""
 | 
			
		||||
   Create firmware for 8MB Bifferboards
 | 
			
		||||
   Firmware does not include the config blocks
 | 
			
		||||
   Firmware starts just after config
 | 
			
		||||
   Create firmware for 4/8MB Bifferboards, suitable for uploading using
 | 
			
		||||
   either bb_upload8.py or bb_eth_upload8.py
 | 
			
		||||
"""
 | 
			
		||||
 | 
			
		||||
import struct, sys
 | 
			
		||||
 | 
			
		||||
kernel_extent = 0x200000
 | 
			
		||||
config = 0x6000
 | 
			
		||||
# Increase the kmax value if the script gives errors about the kernel being 
 | 
			
		||||
# too large.  You need to set the Biffboot kmax value to the same value you
 | 
			
		||||
# use here.
 | 
			
		||||
kmax = 0x10
 | 
			
		||||
 | 
			
		||||
# No need to change this for 4MB devices, it's only used to tell you if 
 | 
			
		||||
# the firmware is too large!
 | 
			
		||||
flash_size = 0x800000
 | 
			
		||||
 | 
			
		||||
# This is always the same, for 1MB, 4MB and 8MB devices
 | 
			
		||||
config_extent = 0x6000
 | 
			
		||||
 | 
			
		||||
kernel_extent = kmax * 0x10000
 | 
			
		||||
 | 
			
		||||
if __name__ == "__main__":
 | 
			
		||||
 | 
			
		||||
  if len(sys.argv) != 4:
 | 
			
		||||
    print  "usage: mkimg_bifferboard.py <kernel> <64k JFFS> <output file>"
 | 
			
		||||
    sys.exit(0)
 | 
			
		||||
    print  "usage: mkimg_bifferboard.py <kernel> <rootfs> <output file>"
 | 
			
		||||
    sys.exit(-1)
 | 
			
		||||
    
 | 
			
		||||
  bzimage = sys.argv[1]
 | 
			
		||||
  rootfs = sys.argv[2]
 | 
			
		||||
@@ -23,17 +33,17 @@ if __name__ == "__main__":
 | 
			
		||||
 | 
			
		||||
  # Kernel first
 | 
			
		||||
  fw = file(bzimage).read()
 | 
			
		||||
  if len(fw) > (kernel_extent - config):
 | 
			
		||||
  if len(fw) > (kernel_extent - config_extent):
 | 
			
		||||
    raise IOError("Kernel too large")
 | 
			
		||||
 | 
			
		||||
  # Pad up to 0x200000
 | 
			
		||||
  while len(fw) < (kernel_extent - config):
 | 
			
		||||
  # Pad up to end of kernel partition
 | 
			
		||||
  while len(fw) < (kernel_extent - config_extent):
 | 
			
		||||
    fw += "\xff"
 | 
			
		||||
 | 
			
		||||
  fw += file(rootfs).read()
 | 
			
		||||
 | 
			
		||||
  # Check length of total
 | 
			
		||||
  if len(fw) > (0x800000 - 0x10000 - 0x6000):
 | 
			
		||||
  if len(fw) > (flash_size - 0x10000 - config_extent):
 | 
			
		||||
    raise IOError("Rootfs too large")
 | 
			
		||||
 | 
			
		||||
  file(target,"wb").write(fw)
 | 
			
		||||
 
 | 
			
		||||
@@ -7,5 +7,7 @@
 | 
			
		||||
 | 
			
		||||
define Profile/bifferboard
 | 
			
		||||
	NAME:=Bifferboard
 | 
			
		||||
	PACKAGES:=kmod-usb-core kmod-usb-ohci kmod-usb2 \
 | 
			
		||||
		kmod-usb-storage kmod-scsi-core kmod-fs-ext3
 | 
			
		||||
endef
 | 
			
		||||
$(eval $(call Profile,bifferboard))
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user