Barnes and Nobel is legally obligated to release source

Status
Not open for further replies.
Search This thread

AdamOutler

Retired Senior Recognized Developer
Feb 18, 2011
5,224
9,827
Miami, Fl̨̞̲̟̦̀̈̃͛҃҅͟orida
It would seem that Barnes and Nobel is betraying the most sacred of things in the open-source world, The General Public License(GPL). As open source programmers we all use the GPL daily. The GPL is what keeps Open-Source work like the Linux kernel free, modifiable and re-distributable. I tried to compile the sources provided by Barnes and Nobel, but they are incomplete. They will not compile.. I'm not the only one, others have tried and failed as well.

So, I made a post on the Barnes and Nobel website. Last time I checked, at about 1PM today, the post had received about 20 responses and 38 "laurels" (their version of thanks). Each response was positive and that is an extraordinary amount of support, considering some of their "top laurled posts" have received 35 Laurels in 4 weeks.

Barnes and Nobel deleted my request for source code granted by the GPL.

These screen-shots were cached on my home computer before I went to sleep last night.
Cached screenshot1:http://i41.tinypic.com/szy847.png
Cached Screenshot2:http://i43.tinypic.com/2vsm7v9.png

51szte.jpg


Text in case something happens to the images or the host is blocked in your country:
Barnes and Noble, you have a legal obligation to release full, compilable source. I have tried to compile the provided sources here to no avail. The provided sources are incomplete.



1.4.0 source: http://images.barnesandnoble.com/PResources/download/Nook/source-code/nook_tablet_1-4.tar.gz

1.4.1 source: http://images.barnesandnoble.com/PResources/download/Nook/source-code/nook_tablet_1-4-1.tar.gz



The following quotes are from GPL-Violations.org http://gpl-violations.org/faq/sourcecode-faq.html
What kind of source code do I have to publish under the GNU GPL?
The GNU GPL demands that as soon as you distribute GPL licensed software in executable format you make available the "complete corresponding source code". The GNU GPL also contains a definition of this term:

“ The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. ”

How can I verify that my source code release is complete?
This is quite easy. If you only use source code provided in that release, and you can use this source code to produce a working form of the executable code, then the source code release seems complete.

If the build process fails, or you end up with a non-working executable, or you have no way to install the resulting executable, then clearly something is missing.


By releasing uncompilable source, you are not only making yourself look bad... You're violating the terms of service you agreed to by using the Linux kernel in the first place... You're loosing footholes in the open-source community.. You're also putting yourself up for legal action.



As a book seller, you should respect the fact that Open-Source work falls into the same category as a classic novel. It is a public treasure and should be treated as such. Your failure to abide by the rules is not only offensive, but it is illegal. Using Linux is not a free cash cow. Linux is free as in "freedom of speech", not free as in "free beer". You have a duty to release full kernel and U-Boot sources.



I've requested sources, now please provide full, compilable, executable source.

They DELETED my request for corresponding source code because it does not comply with their terms of service agreement. This is unacceptable by the licensing they agreed upon in the GPL:
Code:
3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:

    a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, 
    b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, 
    c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)

  • Barnes and Nobel sold the device with side-loading enabled, let the tech sites review it, then locked out that feature.
  • Barnes and Nobel is refusing applications for those without Tax ID numbers or business licenses to develop Open-Source Android apps on the Open-Source Android platform.
  • Barnes and Nobel is in a state of non-compliance with the GPL.

I recommend contacting Barnes and Noblel about these in the following ways:
  1. Customer Service: http://www.barnesandnoble.com/customerservice/contactus
  2. Device Support: https://nookdeveloper.barnesandnoble.com/support/support.html
  3. Direct Email: service@barnesandnoble.com and support@book.com

This site is called XDA-Developers because of the GPL. Without the GPL, we would not be conducting legitimate development, it would be something else like XDA-Hackers. As DEVELOPERS, we need to stand up for our rights and get the tools we need to develop. Please take action, in a professional manner XDA-Developers. Every e-mail and support request counts.
 
Last edited:

darkquota

Senior Member
Nov 19, 2011
91
17
I recommend contacting Barnes and Noblel about these in the following ways:
  1. Customer Service: http://www.barnesandnoble.com/customerservice/contactus
  2. Device Support: https://nookdeveloper.barnesandnoble.com/support/support.html
  3. Direct Email: service@barnesandnoble.com and support@book.com

Here is more contact information (the support@book.com and service@barnesandnoble.com seem to correspond to online sales):

General Inquiries: For general questions or comments about Barnes & Noble, Inc.:

Barnes & Noble, Inc.
P.O. Box 111
Lyndhurst, NJ 07071

telephone: (800) 962-6177
e-mail: customerservice@bn.com
fax: (201) 559-6910


Also, I don't think they took down your post because they didn't want to comply. I think they took it down because you mentioned legal action.
 

AdamOutler

Retired Senior Recognized Developer
Feb 18, 2011
5,224
9,827
Miami, Fl̨̞̲̟̦̀̈̃͛҃҅͟orida
I reposted without anything having to do with 'litigation' http://bookclubs.barnesandnoble.com...-tablet-source-will-not-compile/idi-p/1263241

0
Nook tablet source will not compile
Status: New
by AdamOutler 9 minutes ago
Status: New

Barnes and Noble, myself and others have attempted to compile the GPL-Protected Kernel source code but it is incomplete. Please release proper GPL compliant Source Code.



As a distributor of Open-Source software, and not just a book-store, you must realize that your end-users have a right to compile the code. It is a mandated, built-in function of the device under the terms of the GPL-Protected Linux kernel. It is also a gauranteed right which we, the end users and developers have.



This issue is of a technical nature and the same people who design the software are the people who need to post the proper kernel sources. I realize that Barnes and Noble has implemented some sort of a chain-of-trust based security and stripped it from the kernel, however, this is the wrong way to do it. If you wish to implement chain-of-trust based security, it must be done in a way that allows the end user to compile a kernel in compliance with the GPL.



We, the end users, have a right to the entire, complete kernel source. We have a right to compile the code. We have a right to modify the code. We have a right to redistribute the code. We have a right to use our devices as we see fit because it is GPL-protected and we purchased the device from you with that inherited.



My previous post was deleted from this forum for non-compliance with your message board rules. It now resides safely at XDA-Developers here: http://xdaforums.com/showthread.php?t=1432003 This post conforms with your policy regarding litigation and boils down to only the technicalities which require resolution in order for me to use my device under your terms of service.

zyf59i.jpg
 
Last edited:

AdamOutler

Retired Senior Recognized Developer
Feb 18, 2011
5,224
9,827
Miami, Fl̨̞̲̟̦̀̈̃͛҃҅͟orida
Adam,

You can compile the NT source with android_4430BN_defconfig.

Thanks, but it didn't work

Code:
Texas Instruments X-Loader 1.41 (Oct 21 2011 - 14:00:05)
Start not on PWRON, skipping power button check.
mmc read: Invalid size
Starting OS Bootloader from MMC/SD1 ...


U-Boot 1.1.4-acclaim1.4_1.4.0.1029^{} (Nov 11 2011 - 12:34:20)

Load address: 0x80e80000
DRAM:  1024 MB
Using default environment

In:    serial
Out:   serial
Err:   serial
hw_status 0x2b vbus_status 0x84
Detection done: USB2PHYCORE 0x00a06260
MAX17042+UBOOT: battery type=LG
MAX17042+UBOOT: gas gauge detected (0x0002)
MAX17042_STATUS (00h) is 0x0002
MAX17042+UBOOT:  BATTERY      Detected!
MAX17042+UBOOT:POR detected!
 No valid max17042 init data found, assume no battery history 
MAX17042_Version (21h) is 0x0092
MAX17042_DesignCap (18h) is 0x07d0
MAX17042_OCV (fbh) is 0xfeab
MAX17042_FSTAT (fdh) is 0x3950
MAX17042_SOCvf (ffh) is 0xd692
uboot verify: 1d CONFIG is 2210 ; should be 2210 & 0xFDFB
uboot verify: 2a RELAXCFG is 083b ; should be 083b
uboot verify: 29 FILTERCFG is 87a4 ; should be 87a4
uboot verify: 28 LEARNCFG is 2406 ; should be 2406 & 0xFF0F
uboot verify: 18 DesignCap is 07d0 ; should be 205c
max17042_write_custom_para: use hardcoded values
ICHGTerm = 0x0140
 use hardcoded Capacity 0x205c
VFSOC = 0xcb7a
fullcap0=0x2067 VFSOC=0xcb7a remcap=0x41ee
MAX17042_STATUS (00h) is 0x0002
STATUS = 0x0002 -- clearing POR
MAX17042_STATUS (00h) is 0x0000
Max17042 init is done
SOC 203%, booting.
Board revision PVT
Booting from sd
Autobooting in 0 seconds, press <SPACE> to stop...
mmc read: Invalid size

2682712 bytes read
booti: bad boot image magic
OMAP44XX SDP #
 

fattire

Inactive Recognized Developer
Oct 11, 2010
2,281
6,473
www.eff.org
For now, just fix what's missing?

Sorry I've been in nookcolor and touchpadland for a while and not paying much attention to what's going on here, so I apologize if this has been said previously, but the issue w/building u-boot seems to be the following few lines in distro/u-boot/common/Makefile:

Code:
ifeq ($(BOARD),omap4430sdp)
# Pull in the default kernel command line
include $(TOPDIR)/../../../device/ti/blaze/BoardConfig.mk
CFLAGS += -DBOARD_KERNEL_CMDLINE="$(BOARD_KERNEL_CMDLINE)"
endif

That BoardConfig.mk file isn't included in the u-boot source, but it's obviously referring to the board file in the device tree in their version of Android and is where the kernel's default bootcmd is apparently being set.

You can also see the reference again here in distro/u-boot/include/configs/omap4430sdp.h

Code:
// bootargs are set in device/ti/blaze/BoardConfig.mk
#define CONFIG_BOOTARGS ""
#define CONFIG_EXTRA_ENV_SETTINGS \
        "commonbootargs=" stringify(BOARD_KERNEL_CMDLINE) "\0" \
        "sdbootargs=${commonbootargs} root=/dev/mmcblk1p2 rw" "\0"

So, to be more specific, they're just setting "commonbootargs" to whatever BOARD_KERNEL_CMDLINE is set at in Android BoardConfig.mk.

You can petition them into handing that little file over under the GPL, but I'm guessing there's not going to be much interesting in there (for u-boot building anyway), except a line that looks something like:

BOARD_KERNEL_CMDLINE := "something"


So what is that "something"? Well, we might compare with the Nook Color u-boot source... Note this is the cm7-customized version, and it's omap3621/encore (nook color) not the omap4430/blaze (nook tablet) , but anyway, maybe there will be some inspiration:

Code:
"commonbootargs=console=ttyO0,115200n8 rw init=/init videoout=omap24xxvout omap_vout_mod.video1_numbuffers=6 omap_vout_mod.vid1_static_vrfb_alloc=y omap_vout_mod.video2_numbuffers=6 omap_vout_mod.vid2_static_vrfb_alloc=y omapfb.vram=0:8M no_console_suspend" \

Okay, y'know, so most of that is bull****, but still, it's something to reference maybe. Also, keep in mind that dalingrin modified the NC kernel so that bootargs are specified in the kernel config instead of via u-boot but whatever. It may be totally irrelevant to the nook tablet, but there you have it.

Anyway, let's move on to Method #2, going to omapzoom's omap4430 repo to see if we can figure out what BOARD_KERNEL_CMDLINE is supposed to be.

So in their file-- include/configs/omap4_sdp4430.h, you can see CONFIG_EXTRA_ENV_SETTINGS is also being set. So that's another source of settings.

And finally, I don't have a nook tablet, and I can't check the following, but if you've got one rooted, can someone try Method #3?

# cat /proc/cmdline

to see what command line your kernel is using?

If you got it, then change the end of distro/u-boot/common/Makefile to:

Code:
ifeq ($(BOARD),omap4430sdp)
# Pull in the default kernel command line
#include $(TOPDIR)/../../../device/ti/blaze/BoardConfig.mk
BOARD_KERNEL_CMDLINE := "(what I found with cat /proc/cmdline)"
CFLAGS += -DBOARD_KERNEL_CMDLINE="$(BOARD_KERNEL_CMDLINE)"
endif

And try building again. For me, putting in a bs string got me past that error, to this one:

arm-linux-androideabi-4.4.x/bin/arm-linux-androideabi-ld: internal error in relocate, at /tmp/android-build-bb7e003d31d08f72cabc269a652912b7/src/build/../binutils/binutils-20100303/gold/arm.cc:9134

This error may be related to something similar I found here. Perhaps downgrade to an older compiler? I had a similar internal error with xloader (mlo), but I'm lazy and don't have a NT anyway, but just throwing this all out there for someone to try.
 

FESDude

New member
Jan 7, 2012
2
0
You might also want to consider posting to The Consumerist

I know this forum is more tech-based than what The Consumerist usually runs, but they get a lot of play and it seems some companies pay attention to bad publicity when it shows up there. You might want to also post your letter and their response to it there.
 

chrmhoffmann

Inactive Recognized Developer
Nov 11, 2006
1,007
3,205
# cat cmdline
androidboot.console=ttyO0 console=ttyO0,115200n8 mem=448M@0x80000000 mem=512M@0xA0000000 init=/init rootwait vram=32M,82000000 omapfb.vram=0:5M@82000000
 

t-r-i-c-k

Senior Member
Nov 18, 2011
77
59
Thanks, but it didn't work

Code:
Texas Instruments X-Loader 1.41 (Oct 21 2011 - 14:00:05)
Start not on PWRON, skipping power button check.
mmc read: Invalid size
Starting OS Bootloader from MMC/SD1 ...


[/QUOTE]

Perhaps system security prevents the kernel being used? Or is that what you were getting at?
 

AdamOutler

Retired Senior Recognized Developer
Feb 18, 2011
5,224
9,827
Miami, Fl̨̞̲̟̦̀̈̃͛҃҅͟orida
Perhaps system security prevents the kernel being used? Or is that what you were getting at?

What kind of source code do I have to publish under the GNU GPL?
The GNU GPL demands that as soon as you distribute GPL licensed software in executable format you make available the "complete corresponding source code". The GNU GPL also contains a definition of this term:

“ The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. ”

How can I verify that my source code release is complete?
This is quite easy. If you only use source code provided in that release, and you can use this source code to produce a working form of the executable code, then the source code release seems complete.

If the build process fails, or you end up with a non-working executable, or you have no way to install the resulting executable, then clearly something is missing.

The sources are incomplete.
 
  • Like
Reactions: Digital_Biped
Status
Not open for further replies.

Top Liked Posts

  • There are no posts matching your filters.
  • 17
    It would seem that Barnes and Nobel is betraying the most sacred of things in the open-source world, The General Public License(GPL). As open source programmers we all use the GPL daily. The GPL is what keeps Open-Source work like the Linux kernel free, modifiable and re-distributable. I tried to compile the sources provided by Barnes and Nobel, but they are incomplete. They will not compile.. I'm not the only one, others have tried and failed as well.

    So, I made a post on the Barnes and Nobel website. Last time I checked, at about 1PM today, the post had received about 20 responses and 38 "laurels" (their version of thanks). Each response was positive and that is an extraordinary amount of support, considering some of their "top laurled posts" have received 35 Laurels in 4 weeks.

    Barnes and Nobel deleted my request for source code granted by the GPL.

    These screen-shots were cached on my home computer before I went to sleep last night.
    Cached screenshot1:http://i41.tinypic.com/szy847.png
    Cached Screenshot2:http://i43.tinypic.com/2vsm7v9.png

    51szte.jpg


    Text in case something happens to the images or the host is blocked in your country:
    Barnes and Noble, you have a legal obligation to release full, compilable source. I have tried to compile the provided sources here to no avail. The provided sources are incomplete.



    1.4.0 source: http://images.barnesandnoble.com/PResources/download/Nook/source-code/nook_tablet_1-4.tar.gz

    1.4.1 source: http://images.barnesandnoble.com/PResources/download/Nook/source-code/nook_tablet_1-4-1.tar.gz



    The following quotes are from GPL-Violations.org http://gpl-violations.org/faq/sourcecode-faq.html
    What kind of source code do I have to publish under the GNU GPL?
    The GNU GPL demands that as soon as you distribute GPL licensed software in executable format you make available the "complete corresponding source code". The GNU GPL also contains a definition of this term:

    “ The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. ”

    How can I verify that my source code release is complete?
    This is quite easy. If you only use source code provided in that release, and you can use this source code to produce a working form of the executable code, then the source code release seems complete.

    If the build process fails, or you end up with a non-working executable, or you have no way to install the resulting executable, then clearly something is missing.


    By releasing uncompilable source, you are not only making yourself look bad... You're violating the terms of service you agreed to by using the Linux kernel in the first place... You're loosing footholes in the open-source community.. You're also putting yourself up for legal action.



    As a book seller, you should respect the fact that Open-Source work falls into the same category as a classic novel. It is a public treasure and should be treated as such. Your failure to abide by the rules is not only offensive, but it is illegal. Using Linux is not a free cash cow. Linux is free as in "freedom of speech", not free as in "free beer". You have a duty to release full kernel and U-Boot sources.



    I've requested sources, now please provide full, compilable, executable source.

    They DELETED my request for corresponding source code because it does not comply with their terms of service agreement. This is unacceptable by the licensing they agreed upon in the GPL:
    Code:
    3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
    
        a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, 
        b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, 
        c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)

    • Barnes and Nobel sold the device with side-loading enabled, let the tech sites review it, then locked out that feature.
    • Barnes and Nobel is refusing applications for those without Tax ID numbers or business licenses to develop Open-Source Android apps on the Open-Source Android platform.
    • Barnes and Nobel is in a state of non-compliance with the GPL.

    I recommend contacting Barnes and Noblel about these in the following ways:
    1. Customer Service: http://www.barnesandnoble.com/customerservice/contactus
    2. Device Support: https://nookdeveloper.barnesandnoble.com/support/support.html
    3. Direct Email: service@barnesandnoble.com and support@book.com

    This site is called XDA-Developers because of the GPL. Without the GPL, we would not be conducting legitimate development, it would be something else like XDA-Hackers. As DEVELOPERS, we need to stand up for our rights and get the tools we need to develop. Please take action, in a professional manner XDA-Developers. Every e-mail and support request counts.
    4
    Brief background - my name is Matthew Garrett. I'm a Linux kernel developer working for Red Hat. I bought an original Nook back in 2009 and was responsible for getting Barnes and Noble to release the full kernel source code. When the Nook Color was released I did the same. I've been active in enforcement of the GPL and have a keen interest in helping (or making) companies comply with their obigaitons.

    Having said that.

    One of the significant differences between GPLv2 and GPLv3 is that GPLv3 makes explicit the requirement that signing keys be shipped. It has been argued that the GPLv2 implicitly requires the same, in the form of the requirement for the scripts required for installation. I'm sympathetic to that claim, and I will not personally distribute any code that requires a private signing key. But I'm not a lawyer and I'm certainly not a judge. Many people who are active in GPL enforcement will agree that vendors should provide the signing keys - but I don't think you'll find any who will actually make that the basis of a case.

    B&N are not the only company to require signed kernel images. Many Android devices have locked bootloaders. I think this is a despicable anti-consumer design choice, but nobody's taking action against it. B&N have provided you with the kernel source code. They've done better than many by also providing you with the configuration file. They have a strong argument that by doing so they've complied with the requirements of GPLv2, and while you (and I) may disagree, that's almost certainly going to be as much as they'll be required to do. Consensus at the moment is that they don't need to do any more.

    If it went to court then you may end up finding a judge who would rule that they're in violation, but I wouldn't put money on it. I think it's far too extreme to claim that they're actively violating.
    3
    For now, just fix what's missing?

    Sorry I've been in nookcolor and touchpadland for a while and not paying much attention to what's going on here, so I apologize if this has been said previously, but the issue w/building u-boot seems to be the following few lines in distro/u-boot/common/Makefile:

    Code:
    ifeq ($(BOARD),omap4430sdp)
    # Pull in the default kernel command line
    include $(TOPDIR)/../../../device/ti/blaze/BoardConfig.mk
    CFLAGS += -DBOARD_KERNEL_CMDLINE="$(BOARD_KERNEL_CMDLINE)"
    endif

    That BoardConfig.mk file isn't included in the u-boot source, but it's obviously referring to the board file in the device tree in their version of Android and is where the kernel's default bootcmd is apparently being set.

    You can also see the reference again here in distro/u-boot/include/configs/omap4430sdp.h

    Code:
    // bootargs are set in device/ti/blaze/BoardConfig.mk
    #define CONFIG_BOOTARGS ""
    #define CONFIG_EXTRA_ENV_SETTINGS \
            "commonbootargs=" stringify(BOARD_KERNEL_CMDLINE) "\0" \
            "sdbootargs=${commonbootargs} root=/dev/mmcblk1p2 rw" "\0"

    So, to be more specific, they're just setting "commonbootargs" to whatever BOARD_KERNEL_CMDLINE is set at in Android BoardConfig.mk.

    You can petition them into handing that little file over under the GPL, but I'm guessing there's not going to be much interesting in there (for u-boot building anyway), except a line that looks something like:

    BOARD_KERNEL_CMDLINE := "something"


    So what is that "something"? Well, we might compare with the Nook Color u-boot source... Note this is the cm7-customized version, and it's omap3621/encore (nook color) not the omap4430/blaze (nook tablet) , but anyway, maybe there will be some inspiration:

    Code:
    "commonbootargs=console=ttyO0,115200n8 rw init=/init videoout=omap24xxvout omap_vout_mod.video1_numbuffers=6 omap_vout_mod.vid1_static_vrfb_alloc=y omap_vout_mod.video2_numbuffers=6 omap_vout_mod.vid2_static_vrfb_alloc=y omapfb.vram=0:8M no_console_suspend" \

    Okay, y'know, so most of that is bull****, but still, it's something to reference maybe. Also, keep in mind that dalingrin modified the NC kernel so that bootargs are specified in the kernel config instead of via u-boot but whatever. It may be totally irrelevant to the nook tablet, but there you have it.

    Anyway, let's move on to Method #2, going to omapzoom's omap4430 repo to see if we can figure out what BOARD_KERNEL_CMDLINE is supposed to be.

    So in their file-- include/configs/omap4_sdp4430.h, you can see CONFIG_EXTRA_ENV_SETTINGS is also being set. So that's another source of settings.

    And finally, I don't have a nook tablet, and I can't check the following, but if you've got one rooted, can someone try Method #3?

    # cat /proc/cmdline

    to see what command line your kernel is using?

    If you got it, then change the end of distro/u-boot/common/Makefile to:

    Code:
    ifeq ($(BOARD),omap4430sdp)
    # Pull in the default kernel command line
    #include $(TOPDIR)/../../../device/ti/blaze/BoardConfig.mk
    BOARD_KERNEL_CMDLINE := "(what I found with cat /proc/cmdline)"
    CFLAGS += -DBOARD_KERNEL_CMDLINE="$(BOARD_KERNEL_CMDLINE)"
    endif

    And try building again. For me, putting in a bs string got me past that error, to this one:

    arm-linux-androideabi-4.4.x/bin/arm-linux-androideabi-ld: internal error in relocate, at /tmp/android-build-bb7e003d31d08f72cabc269a652912b7/src/build/../binutils/binutils-20100303/gold/arm.cc:9134

    This error may be related to something similar I found here. Perhaps downgrade to an older compiler? I had a similar internal error with xloader (mlo), but I'm lazy and don't have a NT anyway, but just throwing this all out there for someone to try.
    2
    I'd like to point out that roustabout works for barnes and nobel and mjg59 who posted after him seems pretty damn fishy. I don't think ANY Linux kernel developer would dispute the fact that the intent of the GPL was designed to squash practices of piece of crap companies like Barnes and Nobel.

    If barnes and nobel wanted lockdown, they should have chosen Unix or WP7 as their base platform.

    google mjg59 nook site:livejournal.com or look for mjg59@srcf.ucam.org and mjg@redhat.com in the kernel git log.
    1
    I just saw this thread because it was posted to the Hacker News blog. The first thing you should do is contact the Software Freedom Law Center. This is their area of expertise and exact what they do, sue companies that violate the GPL. More importantly however they can evaluate if this is really a violation of the GPL or something else. They'll also be able to contact B&N's legal division, the ones that will actually be able to accomplish something within B&N if they are in violation. Again this is the most efficient use of this forums outrage and indignation. Good Luck.

    The SFLC are a great organization, but they can only help and represent the people who have standing against the violator, and cannot represent AdamOutler or any of us in this matter. They must represent the copyright holder, and if you are not the copyright holder, then contacting them will do nothing but waste their time, unfortunately.

    (Though I'm discouraging people from contacting them about Nook issues, they are awesome, and I recommend them if your copyrights are being violated. They're great people, and were a real help back when a previous project needed help.)