GithubHelp home page GithubHelp logo

rpi-build's People

Contributors

dl3yc avatar notro avatar pietrushnic avatar uecasm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rpi-build's Issues

When calling rpi-build install target twice update fails and leave RPi unusable

For some reasons when I try to install build twice I get:

cp: cannot stat `rpi-build-archive/*.elf': No such file or directory
touch /home/pietrushnic/src/rpi-bcm2835/workdir/install.target
Target 'install' done

before that error script rm -rf some stuff:

+ rm -rf /boot/start_cd.elf /boot/start.elf /boot/start_x.elf
+ rm -rf /boot/bootcode.bin
+ cp 'rpi-build-archive/*.elf' /boot/

If user reboots it have to reflash SD card to recover from this problem.

I was able to narrow down the difference to fact that when running second time rpi-build doesn't invoke transfer target, which final dependence is fetch. I don't know why fetch is not called. It looks like it is related with downloading build components.

Two questions

Hi @notro,
I have two questions about rpi-build:

  • is it possible to build custom sha from raspberrypi/linux ?
  • is possible to attach own config file other than patching existing config using Rakefile, like we did it in rpi-bcm2835 ?

Or maybe I should look into other tools. I have to back to those workflow, because of my current project.

Best Regards,
pietrushnic

rpi-build currently support only notro/rpi-build repository when updating

It would be great for contributors to have ability to change parent repository (and maybe branch). This would give possibility of using experimental versions, branches with fixes and work in progress features.

This is nice to have.

Easy to workaround for this issue is checkout of remote repository in $HOME/rpi-build/bin and $HOME/rpi-build/stdlib

undefined method `require_relative' for main:Object

Hi Notro,

I wanted to try your new rpi-build scripts und used the example https://github.com/notro/rpi-build/wiki#ipv6-kernel-built-on-ubuntu-1204. However I always get this error message:

/home/marco/rpi-build/bin/build:17: undefined method `require_relative' for main:Object (NoMethodError)

This is the full output:

marco@ubuntu:~$ rpi-build

Missing dependencies:

  • rake

sudo apt-get --yes install rake
Install dependencies? [Y/n] Y
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
ruby
Suggested packages:
ri
The following NEW packages will be installed:
rake ruby
0 upgraded, 2 newly installed, 0 to remove and 14 not upgraded.
Need to get 51.0 kB of archives.
After this operation, 240 kB of additional disk space will be used.
Get:1 http://us.archive.ubuntu.com/ubuntu/ precise/main ruby all 4.8 [5054 B]
Get:2 http://us.archive.ubuntu.com/ubuntu/ precise/main rake all 0.9.2.2-2 [46.0 kB]
Fetched 51.0 kB in 0s (84.2 kB/s)
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_CTYPE = "UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
Selecting previously unselected package ruby.
(Reading database ... 340732 files and directories currently installed.)
Unpacking ruby (from .../apt/archives/ruby_4.8_all.deb) ...
Selecting previously unselected package rake.
Unpacking rake (from .../rake_0.9.2.2-2_all.deb) ...
Processing triggers for man-db ...
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
Setting up ruby (4.8) ...
Setting up rake (0.9.2.2-2) ...

Installing rpi-build to /home/marco/rpi-build:

rpi-build
remote: Counting objects: 507, done.
remote: Total 507 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (507/507), 226.65 KiB | 239 KiB/s, done.
Resolving deltas: 100% (298/298), done.

stdlib
remote: Counting objects: 178, done.
remote: Total 178 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (178/178), 30.11 KiB, done.
Resolving deltas: 100% (105/105), done.

Done.

/home/marco/rpi-build/bin/build:17: undefined method `require_relative' for main:Object (NoMethodError)
marco@ubuntu:~$

rpi-build doesn't return error when invalid SHIP address given

There is no input validation on IP address:

[0:34:06] pietrushnic:tmp $ rpi-build use\[stdlib\] rpi_linux install SSHIP=192.168.1.255
Workdir: /home/pietrushnic/tmp/workdir
(in /home/pietrushnic/rpi-build/stdlib)
Release: rpi_linux
Package: rpi_linux_common
Package: issue106
Package: raspberrypi_tools
Package: raspberrypi_firmware
Package: vcboot
Package: raspberrypi_linux
cd /home/pietrushnic/tmp/workdir/out; tar -zcf /home/pietrushnic/tmp/workdir/archive.tar.gz *
Target 'archive' done

sshpass -e ssh -o LogLevel=quiet -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no  [email protected] "rm -rf rpi-build-archive; mkdir rpi-build-archive"
cat /home/pietrushnic/tmp/workdir/archive.tar.gz | sshpass -e ssh -o LogLevel=quiet -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no  [email protected] "cd rpi-build-archive; tar zxvf -"
Target 'transfer' done

sshpass -e ssh -o LogLevel=quiet -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no  [email protected] "stat --printf=%Y /usr/bin/rpi-update"
Update rpi-update to ensure FW_REPOLOCAL support:
sshpass -e ssh -o LogLevel=quiet -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no  [email protected] "sudo wget https://raw.github.com/Hexxeh/rpi-update/master/rpi-update -O /usr/bin/rpi-update && sudo chmod +x /usr/bin/rpi-update"
sshpass -e ssh -o LogLevel=quiet -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no  [email protected] "sudo UPDATE_SELF=0 SKIP_BACKUP=1 SKIP_REPODELETE=0 SKIP_DOWNLOAD=1 FW_REPOLOCAL=rpi-build-archive rpi-update '2014-10-02 00:35:57 +0200' 1>&2"
Target 'install' done

Same situation for valid address but without working ssh service on target. This introduce confusion when you installed kernel on RPi and it breaks IP connection.

uboot error

i built your bcm2835x branch and get errors when i try to boot the kernel.
first i copied the recent raspbian image(Kernel 3.10) to my sd card and then boot.scr, boot.scr.uimg to the boot partition of the sd card. additional i copied zImage and bcm2835-rpi-b.dtb to the boot partition, too.
output on booting:
U-Boot 2014.04-rc1-00120-g1674df6 (Feb 25 2014 - 19:26:23)

DRAM: 192 MiB
WARNING: Caches not enabled
MMC: bcm2835_sdhci: 0
Using default environment

In: serial
Out: lcd
Err: lcd
Hit any key to stop autoboot: 0
mmc0 is current device
** No partition table - mmc 0 **

when i try to run the commands in the boot.scr manually, i get following error:
Bad Linux ARM zImage magic!

Can you help me?

RPi2

I'm currently using a Rakefile like this:

require 'mylib/my-kernel'

release :pi1 => :my_rpi_common do
end

release :pi2 => :my_rpi_common do
    ENV['LINUX_DEFCONFIG'] = 'bcm2709_defconfig'
end

And then building like this:

rpi-build use[mylib] pi1 clean build
rpi-build use[mylib] pi2 clean build WORKDIR=workdir7

(Two separate installs are also required to produce a card with both kernels.)

This seems to work, but I'm sure it's doing some steps redundantly. Is it possible to streamline this into a single build that does both kernels? Or is there some better way to do this? (I couldn't find a way to change the default WORKDIR inside the Rakefile based on the release, which would have been nice.)

Maybe the wiki could be updated with a Pi2 example as well?

Error patching on ./release.sh builtin

Hello,

I tried to build the builtin version of the modules via ./release.sh builtin, but sadly it does fail on one of the patches:

Applied patch arch/arm/mach-bcm2708/bcm2708.c cleanly.

=> cd /home/user/linux-rpi-3.10.y && git apply -v /home/user/notro/rpi-build/patches/builtin/021-mach-bcm2708-Reserve-64-IRQs-for-peripherals.patch
Checking patch arch/arm/mach-bcm2708/include/mach/irqs.h...
error: while searching for:

define HARD_IRQS (64 + 21)

define FIQ_IRQS (64 + 21)

define GPIO_IRQS (32*5)

define NR_IRQS HARD_IRQS+FIQ_IRQS+GPIO_IRQS

endif /* BCM2708_IRQS_H */

error: patch failed: arch/arm/mach-bcm2708/include/mach/irqs.h:192
error: arch/arm/mach-bcm2708/include/mach/irqs.h: patch does not apply
Traceback (most recent call last):
File "./task.py", line 22, in
tasks(arg)
File "/home/rzsnm/notro/rpi-build/_common.py", line 24, in call
func()
File "/home/rzsnm/notro/rpi-build/master.py", line 51, in task_init
self.linux.repo.apply(patch)
File "/home/rzsnm/notro/rpi-build/_common.py", line 177, in apply
sh("cd %s && git apply -v %s" % (self.workdir, patch))
File "/home/rzsnm/notro/rpi-build/_common.py", line 518, in sh
subprocess.check_call(cmd, shell=True)
File "/usr/lib/python2.7/subprocess.py", line 511, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command 'cd /home/user/linux-rpi-3.10.y && git apply -v /home/user/notro/rpi-build/patches/builtin/021-mach-bcm2708-Reserve-64-IRQs-for-peripherals.patch' returned non-zero exit status 1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.