Peter Maydell <[email protected]> writes:
> On Mon, 1 Feb 2021 at 20:09, Alex Bennée <[email protected]> wrote: >> >> >> Peter Maydell <[email protected]> writes: >> >> > On Thu, 28 Jan 2021 at 18:53, Alex Bennée <[email protected]> wrote: >> >> >> >> The wiki and the web are curiously absent of the right runes to boot a >> >> vexpress model so I had to work from first principles to work it out. >> >> Use the more modern -drive notation so alternative backends can be >> >> used (unlike the hardwired -sd mode). >> >> >> >> Signed-off-by: Alex Bennée <[email protected]> >> >> Cc: Anders Roxell <[email protected]> >> >> --- >> >> docs/system/arm/vexpress.rst | 26 ++++++++++++++++++++++++++ >> >> 1 file changed, 26 insertions(+) >> >> >> >> diff --git a/docs/system/arm/vexpress.rst b/docs/system/arm/vexpress.rst >> >> index 7f1bcbef07..30b1823b95 100644 >> >> --- a/docs/system/arm/vexpress.rst >> >> +++ b/docs/system/arm/vexpress.rst >> >> @@ -58,3 +58,29 @@ Other differences between the hardware and the QEMU >> >> model: >> >> ``vexpress-a15``, and have IRQs from 40 upwards. If a dtb is >> >> provided on the command line then QEMU will edit it to include >> >> suitable entries describing these transports for the guest. >> >> + >> >> +Booting a Linux kernel >> >> +---------------------- >> >> + >> >> +Building a current Linux kernel with ``multi_v7_defconfig`` should be >> >> +enough to get something running. >> >> + >> >> +.. code-block:: bash >> >> + >> >> + $ export ARCH=arm >> >> + $ export CROSS_COMPILE=arm-linux-gnueabihf- >> >> + $ make multi_v7_defconfig >> >> + $ make >> > >> > We probably shouldn't be recommending in-tree kernel builds, or >> > polluting the user's environment with random variables. Try: >> > >> > $ make O=builddir ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- >> > multi_v7_defconfig >> > $ make O=builddir ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- > >> Building a current Linux kernel with ``multi_v7_defconfig`` should be >> enough to get something running. Nowadays an out-of-tree build is >> recommended (and also useful if you build a lot of different targets). >> $SRC points at root of the linux source tree. >> >> .. code-block:: bash >> >> $ mkdir build; cd build >> $ make O=$(pwd) -C $SRC ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- >> multi_v7_defconfig >> $ make O=$(pwd) -C $SRC ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- > > That works, but do you really commonly cd into the build directory? > I usually sit in the source tree... I have tmux panes, lots of lots of tmux panes. It's more common to live in the build directories for QEMU because I have to run the binaries I build. For the kernels I usually have one pane in the tip of source tree and a bunch of others for build configurations I'm actively messing about with and rebuilding. > > thanks > -- PMM -- Alex Bennée
