Lines Matching +full:build +full:- +full:some +full:- +full:softmmu
4 customisation tasks, without having to know the full yocto build process.
6 ## Using a local kernel build
11 meta-phosphor/common/recipes-kernel/linux/linux-obmc_X.Y.bb
31 $ bitbake obmc-phosphor-image
41 $ bitbake obmc-phosphor-image
46 If the system you want to build contains different machine configurations:
49 meta-<layer>/meta-<system>/conf/machine/machineA.conf
50 meta-<layer>/meta-<system>/conf/machine/machineB.conf
53 You can specify the machine configuration you want to build by passing the name
59 $ bitbake obmc-phosphor-image
65 running on a 'PPC' or 'x86' system? You can build the sdk receive a fakeroot
69 $ bitbake -c populate_sdk obmc-phosphor-image
70 $ ./tmp/deploy/sdk/openbmc-phosphor-glibc-x86_64-obmc-phosphor-image-armv5e-toolchain-2.1.sh
77 . /opt/openbmc-phosphor/2.1/environment-setup-armv5e-openbmc-linux-gnueabi
82 You can reconfigure your build by removing the build/conf dir:
85 rm -rf build/conf
90 ## Useful D-Bus CLI tools
96 Great tool to issue D-Bus commands via cli. That way you don't have to wait for
106 - \<parameters\> example : sssay "t1" "t2" "t3" 2 2 3
110 QEMU has a palmetto-bmc machine (as of v2.6.0) which implements the core devices
113 upstream or temporary work-arounds that add to QEMU's capabilities where
117 qemu-system-arm -m 256 -M palmetto-bmc -nographic \
118 -drive file=<path>/flash-palmetto,format=raw,if=mtd \
119 -net nic \
120 -net user,hostfwd=:127.0.0.1:2222-:22,hostfwd=:127.0.0.1:2443-:443,hostname=qemu
123 If you get an error you likely need to build QEMU (see the section in this
128 curl -c cjar -b cjar -k -H "Content-Type: application/json" \
129 -X POST https://localhost:2443/login -d "{\"data\": [ \"root\", \"0penBmc\" ] }"
135 ssh -p 2222 root@localhost
138 To quit, type `Ctrl-a c` to switch to the QEMU monitor, and then `quit` to exit.
145 git submodule update --init dtc
146 mkdir build
147 cd build
148 ../configure --target-list=arm-softmmu
152 Built file will be located at: `arm-softmmu/qemu-system-arm`
161 apt-get install libvirt libvirt-bin bridge-utils uml-utilities qemu-system-common
163 qemu-system-arm -m 256 -M palmetto-bmc -nographic \
164 -drive file=<path>/flash-palmetto,format=raw,if=mtd \
165 -net nic,macaddr=C0:FF:EE:00:00:02,model=ftgmac100 \
166 -net bridge,id=net0,helper=/usr/lib/qemu-bridge-helper,br=virbr0
169 There are some other useful parms like that can redirect the console to another
171 `-monitor stdio -serial pty -nodefaults`
178 curl -c cjar -k -X POST -H "Content-Type: application/json" -d '{"data": [ "root", "0penBmc" ] }' h…
184 ssh -p 2200 root@bmc
190 curl -c cjar -b cjar -k -H "Content-Type: application/json" -X PUT \
191 -d '{"data": "xyz.openbmc_project.State.Host.Transition.On"}' \
197 [SDK build](#building-the-openbmc-sdk) provides GDB and debug symbols:
199 - `$GDB` is available to use once SDK environment is setup
200 - Debug symbols are located in `.debug/` directory of each executable
217 ulimit -c unlimited
220 ## Cleaning up read-write file system changes
234 It takes a long time for the first build of OpenBMC. It downloads various repos
237 Check `build/downloads` to see all the downloaded repos.
239 - If a repo is a single archive, it usually looks like this:
240 - `zlib-1.2.11.tar.xz` - The repo itself
241 - `zlib-1.2.11.tar.xz.done` - A flag indicating the repo is downloaded
242 - If a repo is managed by git, it usually looks like this:
243 - `git2/github.com.openbmc.linux` - The git bare clone
244 - `git2/github.com.openbmc.linux.done` - A flag indicating the repo is
247 Bitbake will extract the code to the working directory during build, so the
250 - Set `DL_DIR` Bitbake environment variable to the location of your shared
251 downloads directory by editing the `build/conf/local.conf` file:
255 - Or create a symbol link:
257 ln -sf <path>/<to>/<existing>/downloads build/downloads
259 Then do the build. It will save a lot of time from downloading codes.
266 Google `git-proxy-wrapper` will find various ways to setup the proxy for the git
273 ## Use connect-proxy as git proxy wrapper which supports SOCKS5
274 ## Install with `apt-get install connect-proxy`
275 ## Use with `export GIT_PROXY_COMMAND=~/bin/git-proxy-wrapper`
276 /usr/bin/connect -S localhost:9054 "$@"
279 Then you can run `export GIT_PROXY_COMMAND=~/bin/git-proxy-wrapper` and you are
288 # To create a local copy of recipe's code and build with it:
290 cd build/workspace/sources/<recipe> # And make changes
291 bitbake obmc-phosphor-image # Build with local changes
297 To use this tool, you need the build environment, e.g. `. oe-init-build-env`.
306 the code in [phosphor-host-ipmid][1]. Checking the recipes, you know this repo
307 is in [phosphor-ipmi-host.bb][2]. Below are the steps to use devtool to modify
308 the code locally, build and test it.
312 devtool modify phosphor-ipmi-host
314 devtool clones the repo into `build/workspace/sources/phosphor-ipmi-host`,
318 3. Now you can build the whole image or the ipmi recipe itself:
320 bitbake obmc-phosphor-image # Build the whole image
321 bitbake phosphor-ipmi-host # Build the recipe
329 …scp build/workspace/sources/phosphor-ipmi-host/oe-workdir/package/usr/lib/ipmid-providers/libappha…
330 systemctl restart phosphor-ipmi-host.service # Restart the inband ipmi daemon
331 # Or restart phosphor-ipmi-net.service if you want to test net ipmi.
339 If you want to work on linux kernel, you can use devtool as well, with some
343 `linux-aspeed` for Aspeed based OpenBMC builds. In the following examples,
344 replace `linux-obmc` with `linux-aspeed` if you are on a revision later than
349 `linux-obmc_4.13.bb` specifies `dev-4.13` branch.
351 3. devtool copies the defconfig and machine-specific config into `oe-workdir`.
354 You can modify the code and build the kernel as usual as follows:
357 bitbake linux-obmc -c build
365 bitbake linux-obmc -c menuconfig
369 bitbake linux-obmc -c savedefconfig
370 # It will save the new defconfig at oe-workdir/linux-obmc-<version>/defconfig
375 After build, you can flash the image to test the new kernel. However, it is
381 OpenBMC kernel build generates `fit` image, including `kernel`, `dtb` and
385 `build/tmp/deploy/images/romulus/fitImage-obmc-phosphor-initramfs-romulus.bin`
398 [1]: https://github.com/openbmc/phosphor-host-ipmid
400 …mc/blob/c53f375a0f92f847d2aa50e19de54840e8472c8e/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi…