Revision: 7317
          http://sourceforge.net/p/ipcop/svn/7317
Author:   owes
Date:     2014-03-14 06:43:59 +0000 (Fri, 14 Mar 2014)
Log Message:
-----------
Add (incomplete) mechanism for missing firmware blobs.

Modified Paths:
--------------
    ipcop/trunk/make.sh

Added Paths:
-----------
    ipcop/trunk/config/rootfiles/common/linux-firmware
    ipcop/trunk/lfs/linux-firmware

Added: ipcop/trunk/config/rootfiles/common/linux-firmware
===================================================================
--- ipcop/trunk/config/rootfiles/common/linux-firmware                          
(rev 0)
+++ ipcop/trunk/config/rootfiles/common/linux-firmware  2014-03-14 06:43:59 UTC 
(rev 7317)
@@ -0,0 +1,2 @@
+#lib/firmware/bnx2
+lib/firmware/bnx2/bnx2-mips-09-6.2.1b.fw
\ No newline at end of file

Added: ipcop/trunk/lfs/linux-firmware
===================================================================
--- ipcop/trunk/lfs/linux-firmware                              (rev 0)
+++ ipcop/trunk/lfs/linux-firmware      2014-03-14 06:43:59 UTC (rev 7317)
@@ -0,0 +1,108 @@
+###############################################################################
+# This file is part of the IPCop Firewall.                                    #
+#                                                                             #
+# IPCop is free software; you can redistribute it and/or modify               #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation; either version 2 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# IPCop is distributed in the hope that it will be useful,                    #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with IPCop; if not, write to the Free Software                        #
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA    #
+#                                                                             #
+# Makefiles are based on LFSMake, which is                                    #
+# Copyright (C) 2002 Rod Roard <r...@sunsetsystems.com>                        
#
+#                                                                             #
+# Modifications by:                                                           #
+# ??-12-2003 Alan Hourihane <al...@fairlite.demon.co.uk>                      #
+#          - Modified Makefile for IPCop build                                #
+#                                                                             #
+# $Id$
+#                                                                             #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+PKG_NAME   = linux-firmware
+VER        = f8c22c6
+HOST_ARCH  = all
+OTHER_SRC  = yes
+
+THISAPP    = $(PKG_NAME)-$(VER)
+DL_FILE    = $(THISAPP).tar.xz
+DL_FROM    = http://ipcop-addons.ath.cx/misc/IPCop
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
+TARGET     = $(DIR_INFO)/$(STAGE_ORDER)_$(STAGE)/$(THISAPP)
+
+# linux-firmware lives in GIT 
http://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/
+# The procedure to create a snapshot is something like:
+#   git pull
+#   TAG=`git log -1 --pretty=format:%h`
+#   git archive --prefix=linux-firmware-${TAG}/ HEAD | xz > 
/ipcop/cache/linux-firmware-${TAG}.tar.xz
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = 23d36ed14292be37d1578c3c4949ce59
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+       @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+       @$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+       @$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(firstword $(MAKEFILE_LIST)) $(patsubst %,$(DIR_DL)/%,$(objects))
+       @$(PREBUILD)
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar xf $(DIR_DL)/$(DL_FILE)
+
+       # For an increasing number of drivers the required firmware blob is no
+       # longer in the kernel tree but separated in linux-firmware.
+       # The linux-firmware bundle is > 20 MiB in size and contains many 
firmware
+       # blobs (audio, dvb, video, etc.) that are not of interest to us.
+
+       # Make sure the target exists
+       mkdir -p /lib/firmware
+
+       # TODO
+       # We will need to walk the driver tree and find those drivers we build 
with 'missing' firmware blobs.
+
+       # Q&D hack to copy a single firmware blob that's already been 
identified as missing
+       mkdir -p /lib/firmware/bnx2
+       cp -p $(DIR_APP)/bnx2/bnx2-mips-09-6.2.1b.fw /lib/firmware/bnx2
+
+       # do not remove for now
+       #@rm -rf $(DIR_APP)
+       @$(POSTBUILD)


Property changes on: ipcop/trunk/lfs/linux-firmware
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Modified: ipcop/trunk/make.sh
===================================================================
--- ipcop/trunk/make.sh 2014-03-10 07:48:08 UTC (rev 7316)
+++ ipcop/trunk/make.sh 2014-03-14 06:43:59 UTC (rev 7317)
@@ -1846,6 +1846,8 @@
        #chroot_make wanpipe            # compilation broken with 3.4 kernel 
actually
        chroot_make pcmciautils
        chroot_make eciadsl-usermode
+       # end of linux kernel and drivers
+       chroot_make linux-firmware
        chroot_make cpio
        chroot_make expat
        chroot_make bc                  # needed to run some openssl tests

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
_______________________________________________
Ipcop-svn mailing list
Ipcop-svn@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ipcop-svn

Reply via email to