2009-11-05 00:44:02 +02:00
#
# Copyright (C) 2006-2009 OpenWrt.org
2006-10-16 02:34:22 +03:00
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
i n c l u d e $( TOPDIR ) / r u l e s . m k
i n c l u d e $( INCLUDE_DIR ) / i m a g e . m k
d e f i n e I m a g e / P r e p a r e
2009-05-07 03:36:47 +03:00
$( CP) $( LINUX_DIR) /arch/x86/boot/bzImage $( KDIR) /bzImage
2006-10-16 02:34:22 +03:00
e n d e f
2007-04-01 20:10:03 +03:00
d e f i n e t r x a l i g n / j f f s 2 - 1 2 8 k
2007-04-17 00:46:44 +03:00
bs = 128k
2007-04-01 20:10:03 +03:00
e n d e f
d e f i n e t r x a l i g n / j f f s 2 - 6 4 k
2007-04-17 00:46:44 +03:00
bs = 64k
2007-04-01 20:10:03 +03:00
e n d e f
d e f i n e t r x a l i g n / s q u a s h f s
2007-04-17 00:46:44 +03:00
bs = 1024
2007-04-01 20:10:03 +03:00
e n d e f
2009-11-05 00:44:02 +02:00
d e f i n e I m a g e / P r e p a r e / s q u a s h f s
$( call prepare_generic_squashfs,$( KDIR) /root.squashfs)
e n d e f
2007-08-03 10:28:43 +03:00
d e f i n e I m a g e / B u i l d / a r 5 2 5 w
2007-11-11 01:08:11 +02:00
touch $( BIN_DIR) /openwrt-$( BOARD) -$( 1) -$( 2) .img
2008-01-21 16:11:01 +02:00
touch $( BIN_DIR) /openwrt-$( BOARD) -$( 1) -$( 2) -web.img
2008-10-28 18:53:13 +02:00
dd if = $( KDIR) /root.$( 1) of = $( KDIR) /root.tmp $( call trxalign/$( 1) ) conv = sync
mv $( KDIR) /root.tmp $( KDIR) /root.$( 1)
2007-11-11 01:08:11 +02:00
$( STAGING_DIR_HOST) /bin/airlink -b 1 -j $( shell bash -c 'echo $$[$(3)]' ) $( KDIR) /bzImage $( KDIR) /root.$( 1) $( BIN_DIR) /openwrt-$( BOARD) -$( 1) -$( 2) .img
2008-01-21 16:11:01 +02:00
$( STAGING_DIR_HOST) /bin/airlink -e -b 1 -j $( shell bash -c 'echo $$[$(3)]' ) $( KDIR) /bzImage $( KDIR) /root.$( 1) $( BIN_DIR) /openwrt-$( BOARD) -$( 1) -$( 2) -web.img
2007-04-01 14:06:32 +03:00
e n d e f
2009-11-28 13:33:04 +02:00
d e f i n e I m a g e / P r e p a r e / s i t e c o m / s q u a s h f s
2009-11-05 00:44:02 +02:00
dd if = /dev/null of = $( KDIR) /root.tmp seek = 1 bs = 32k
echo -n "0123456789abcdef0123" >> $( KDIR) /root.tmp
cat $( KDIR) /bzImage $( KDIR) /root.squashfs >> $( KDIR) /root.tmp
dd if = $( KDIR) /root.tmp of = $( KDIR) /root2.tmp bs = 64k conv = sync
2009-11-09 00:55:44 +02:00
dd if = $( KDIR) /root2.tmp of = $( KDIR) /root.squashfs bs = 1 skip = $$ $$ ( perl -we 'print((-s"$(KDIR)/bzImage")+0x8014)' )
$( RM) $( KDIR) /root.tmp $( KDIR) /root2.tmp
2009-11-05 00:44:02 +02:00
$( call add_jffs2_mark,$( KDIR) /root.squashfs)
e n d e f
2009-11-28 13:33:04 +02:00
d e f i n e I m a g e / B u i l d / s i t e c o m
2009-11-09 00:55:44 +02:00
echo -ne "\0\0" >> $( KDIR) /bzImage
dd if = $( KDIR) /bzImage of = $( KDIR) /bzImage.tmp bs = 4 conv = sync
dd if = $( KDIR) /bzImage.tmp of = $( KDIR) /bzImage bs = 1 count = $$ $$ ( perl -we 'print((-s"$(KDIR)/bzImage.tmp")-2)' )
perl -we 'while(<>){$$$$i.=$$$$_}print pack"v",-(unpack"%v*",$$$$i)' < $( KDIR) /bzImage.tmp >> $( KDIR) /bzImage
$( RM) $( KDIR) /bzImage.tmp
2009-11-28 13:33:04 +02:00
$( call Image/Prepare/sitecom/$( 1) )
2009-11-09 00:55:44 +02:00
perl -we 'print "CSYS",pack("V",-s"$(KDIR)/bzImage"),pack("V",-s"$(KDIR)/root.$(1)"),"WRRM",pack("V",-s"$(KDIR)/bzImage")' > $( BIN_DIR) /openwrt-$( BOARD) -$( 1) -$( 2) .img
cat $( KDIR) /bzImage $( KDIR) /root.$( 1) >> $( BIN_DIR) /openwrt-$( BOARD) -$( 1) -$( 2) .img
if [ ` perl -we 'print -s"$(BIN_DIR)/openwrt-$(BOARD)-$(1)-$(2).img"' ` -gt $$ $$ ( ( 0xffff0000-0xffe08000) ) ] ; then mv $( BIN_DIR) /openwrt-$( BOARD) -$( 1) -$( 2) .img $( BIN_DIR) /openwrt-$( BOARD) -$( 1) -$( 2) .img.too_big; echo "#ERR image too big" ; fi
2007-08-03 10:28:43 +03:00
e n d e f
2007-10-14 18:12:14 +03:00
d e f i n e I m a g e / B u i l d / d i r 4 5 0
2007-11-11 01:08:11 +02:00
touch $( BIN_DIR) /openwrt-$( BOARD) -$( 1) -$( 2) .img
2008-10-28 18:53:13 +02:00
dd if = $( KDIR) /root.$( 1) of = $( KDIR) /root.tmp $( call trxalign/$( 1) ) conv = sync
mv $( KDIR) /root.tmp $( KDIR) /root.$( 1)
$( CP) $( KDIR) /root.$( 1) $( BIN_DIR) /onlyrootfs-$( BOARD) -$( 1) -$( 2) .img
e n d e f
d e f i n e I m a g e / B u i l d / g 5 7 0 s
2009-11-05 00:44:02 +02:00
$( call Image/Prepare/$( 1) )
2007-10-14 18:12:14 +03:00
mv $( KDIR) /root.$( 1) $( KDIR) /root.tmp
dd of = $( KDIR) /root.$( 1) if = $( KDIR) /root.tmp $( call trxalign/$( 1) ) conv = sync
2008-10-28 18:53:13 +02:00
$( CP) $( KDIR) /bzImage $( BIN_DIR) /openwrt-tftp-$( BOARD) -$( 1) -$( 2) .img
dd of = $( BIN_DIR) /openwrt-tftp-$( BOARD) -$( 1) -$( 2) .img if = /dev/null bs = 1024 seek = 1024
cat $( KDIR) /root.$( 1) >> $( BIN_DIR) /openwrt-tftp-$( BOARD) -$( 1) -$( 2) .img
if [ ! -x $( STAGING_DIR_HOST) /bin/zyxel_combine ] ; then echo " #ERR Please copy the ZyXEL \"combine\" tool as $( STAGING_DIR_HOST) /bin/zyxel_combine to build. " ; fi
sh -c " mkdir $( KDIR) /zyxel.tmp && cd $( KDIR) /zyxel.tmp && mv ../root.tmp initrd.bin && cp ../bzImage kernel.bin && $( STAGING_DIR_HOST) /bin/zyxel_combine -mcf kernel.bin initrd.bin && mv image $( BIN_DIR) /openwrt- $( BOARD) - $( 1) - $( 2) .rmt " || :
$( RM) -r $( KDIR) /zyxel.tmp
e n d e f
2009-11-09 00:55:44 +02:00
d e f i n e I m a g e / P r e p a r e / a m i t / s q u a s h f s
echo -n "0123456789abcdef" > $( KDIR) /root.tmp
cat $( KDIR) /root.squashfs >> $( KDIR) /root.tmp
dd if = $( KDIR) /root.tmp of = $( KDIR) /root2.tmp bs = 64k conv = sync
dd if = $( KDIR) /root2.tmp of = $( KDIR) /root.squashfs bs = 1 skip = 16
$( RM) $( KDIR) /root.tmp $( KDIR) /root2.tmp
$( call add_jffs2_mark,$( KDIR) /root.squashfs)
e n d e f
2008-10-28 18:53:13 +02:00
d e f i n e I m a g e / B u i l d / a m i t
2009-11-09 00:55:44 +02:00
$( call Image/Prepare/amit/$( 1) )
2008-10-28 18:53:13 +02:00
if [ ! -x $( STAGING_DIR_HOST) /bin/amit_makebin ] ; then echo " #ERR Please copy the AMIT \"makebin\" tool from http://mgb111.pradnik.net/ as $( STAGING_DIR_HOST) /bin/amit_makebin to build. " ; fi
sh -c " mkdir -p $( KDIR) /amit.tmp/linux_src/arch/i386/boot $( KDIR) /amit.tmp/rom_disk && cd $( KDIR) /amit.tmp && ln -s ../../root. $( 1) rom_disk/fs.img && ln -s ../../../../../bzImage linux_src/arch/i386/boot && $( STAGING_DIR_HOST) /bin/amit_makebin && mv upgrade.img $( BIN_DIR) /openwrt- $( BOARD) - $( 1) -anas350.bin " || :
$( RM) -r $( KDIR) /amit.tmp
$( STAGING_DIR_HOST) /bin/makeamitbin -o $( BIN_DIR) /openwrt-$( BOARD) -$( 1) -ar360w3g.bin -1 ALK_ATG001 -2 Atropos linux3g $( KDIR) /bzImage ramdisk3g $( KDIR) /root.$( 1)
2007-10-14 18:12:14 +03:00
e n d e f
2009-05-07 03:36:47 +03:00
d e f i n e I m a g e / B u i l d / I n i t r a m f s
$( CP) $( KDIR) /bzImage $( BIN_DIR) /openwrt-$( BOARD) -ramfs.bzImage
e n d e f
2006-12-20 01:48:47 +02:00
d e f i n e I m a g e / B u i l d
2007-11-11 01:08:11 +02:00
$( CP) $( KDIR) /bzImage $( BIN_DIR) /openwrt-$( BOARD) .bzImage
2009-11-15 15:10:44 +02:00
$( call Image/Build/$( SUBTARGET) ,$( 1) ,$( SUBTARGET) ,$( patsubst jffs2-%k,%,$( 1) ) )
2009-05-07 03:36:47 +03:00
i f e q ( $( CONFIG_TARGET_ROOTFS_INITRAMFS ) , y )
$( call Image/Build/Initramfs)
e n d i f
2006-10-16 02:34:22 +03:00
e n d e f
$( eval $ ( call BuildImage ) )