62 Commits

Author SHA1 Message Date
Rob Landley
5ab6c0d5e2 Teach mkroot/mkroot.sh CROSS= to accept multiple comma separated targets. 2025-07-01 17:38:40 -05:00
Rob Landley
49a2897de1 Update dropbear and zlib versions. 2025-01-10 14:21:12 -06:00
Rob Landley
65887c2f3c Stop micromanaging the versatilepb network card, use the default.
It worked around an ancient qemu bug:
https://landley.net/notes-2007.html#04-07-2007
2025-01-08 13:28:54 -06:00
Rob Landley
e5f5121cba Convert or1k from sim to virt board, which can actually exit. 2025-01-08 10:05:41 -06:00
Rob Landley
07a6fa69da Fixups to work with linux-6.19 2025-01-08 10:04:53 -06:00
Rob Landley
fb3ca98e2f Update or1k for qemu-9.2.0-rc1. 2024-11-23 23:04:58 -06:00
Rob Landley
493bd40118 Kernel commit d9a1dab65aa2 broke qemu -hda for sh4eb, add config symbol
to get the old behavior back.
2024-11-21 21:59:20 -06:00
Rob Landley
a60aa34ca6 Add QEMU_M for the default mkroot case QEMU="$CROSS -M blah",
and add riscv64 kernel build.
2024-11-01 16:27:47 -05:00
Rob Landley
3f4bde25e6 Move the existence check after the build. (Oops.) 2024-08-16 01:33:21 -05:00
Rob Landley
b9a4c1a809 Add riscv32 target. 2024-08-12 02:00:31 -05:00
Rob Landley
650ff11a37 Don't need to specify the path to zImage, it's based on $KARCH 2024-08-12 01:59:56 -05:00
Rob Landley
dbd267f4b7 Repackage Linux From Scratch 12.1 sources into a squashfs image. 2024-07-08 04:04:29 -05:00
Rob Landley
0a7def52d7 Teach setupfor to cope if tarball doesn't extract to package name. 2024-06-18 08:51:56 -05:00
Ivan Mirić
1ef5414e94 Doc: fix typos in mkroot README 2024-05-05 22:50:14 -05:00
Rob Landley
6ab0eb54d5 Don't rely on (skippable) airlock build to set mkroot VERSION. 2024-04-29 12:07:04 -05:00
Rob Landley
6aaeb385b2 If /dev/tty was never associated, writing to it produces an error.
(That's why ; instead of && there, but suppress the message too.)
2024-04-29 11:55:32 -05:00
Rob Landley
7c6aecd477 Two changes to record-commands: 1) busybox find doesn't understand commas
in -type so use parentheses and -o, 2) change semantics (sourcing changes
variables) so running with no arguments sets up a persistent wrapper
and outputs an export line to update variables.
2024-04-20 09:58:06 -05:00
Rob Landley
880e973ace Let record-commands be run from an arbitrary directory. 2024-04-18 20:09:05 -05:00
Rob Landley
207c985792 Build armv4l kernel.
Could use a -cpu flag and .config tweak, but runs for now.
2024-04-08 05:55:35 -05:00
Rob Landley
bd1b098251 Stop forcing CONFIG_EXPERT on to disable other symbols.
They mostly moved out of that menu so "allnoconfig" hits them now.
2024-04-08 05:53:56 -05:00
Rob Landley
9c0e6eff9c Fix powerpc, mips64, and s390x boards under qemu.
Collate mips variants handling (presumably supporting all 4 theoretical
ones, I should build a 64 bit little endian toolchain next time).

I don't know why powerpc needs CONFIG_NET_VENDOR_NATSEMI _and_
CONFIG_NET_VENDOR_8390, how many vendors can one chip have?

I don't know why s390 was space separating consoles on the same line
of /sys/class/tty/console/active instead of doing one per line like
other architectures. (Also removed the redundant console to avoid confusion.)

In or1k I moved the NAME="value" outside the $(be2csv) so the quotes
don't need to be escaped multiple times (same as sh2eb).
2024-04-07 23:53:57 -05:00
Rob Landley
63b368425f Fix creating initramfs.cpio.gz without building kernel. 2024-04-05 11:50:34 -05:00
Rob Landley
97b776b705 Move GENERIC_KCONF adjacent to get_target_config() and allow it to
be overridden, deduplicate "initramfs.cpio.gz" name, always archive
fs but just put it in "docs" when it's $BUILTIN (thus not used).
2024-04-01 04:52:34 -05:00
Rob Landley
a0a4785644 Use be2csv on all kernel configs, including generic section.
Automatically add module support when any $MODULES listed.

Also remove "generated" dir at the start so ctrl-c at the wrong time
doesn't leave make distclean complaining that generated/Config.in
ends prematurely.
2024-03-31 00:51:35 -05:00
Rob Landley
4f097b4cb9 Simplify record-commands a little. 2024-03-31 00:50:07 -05:00
Rob Landley
98ff5f618c Add microblaze kernel config, and be2csv function to convert
space seperated bash brace expansions to comma separated values.
2024-03-30 05:26:37 -05:00
Rob Landley
6e1d66a2f3 Peel out KARGS and VMLINUX default values. 2024-03-30 05:24:47 -05:00
Rob Landley
15ce6410f4 Update README generation. 2024-03-30 05:00:10 -05:00
Rob Landley
b19fece9bc Add /etc/os-release file. 2024-03-30 05:00:10 -05:00
Rob Landley
1a5aa17710 Add sh4eb target, with BINFMT_FLAT support. 2024-03-28 21:42:11 -05:00
Askar Safin
2663d8e3e7 Fixed typo in mkroot/packages/busybox 2024-02-13 14:44:45 -06:00
Rob Landley
105afc755c Fix ps in mkroot (claim tty) and redirect stdout/stderr to real console as well. 2024-01-28 00:17:41 -06:00
Rob Landley
0968ae683f The dtb files wander around the linux source tree, so use find.
I have no idea why Linux 6.7 decided the dtb path now needs "arm" it _twice_,
but the move broke the armv5l build, so...
2024-01-18 15:18:32 -06:00
Rob Landley
6dcd962981 Move the target config if/else staircase into its own function. 2023-12-29 16:45:09 -06:00
Rob Landley
a49244ea39 Stop using oneit, manually redirect console instead. 2023-12-29 16:28:05 -06:00
Rob Landley
a967146c9c First chunk of mkroot README. Still missing a lot. 2023-12-16 06:08:40 -06:00
Rob Landley
675d992b40 Move the modules archive under docs.
If you build kernel modules, it archives them up separately and then appends
them to the initramfs.cpio.gz so you don't have to rebuild the kernel
to rebuild the filesystem. But this leaves a file lying around at the top
level which is not used to launch qemu, and those go in "docs".
2023-12-16 05:52:58 -06:00
Rob Landley
5647741f66 Add basic or1k support. (Kernel doesn't know how to exit qemu yet.) 2023-12-15 06:56:36 -06:00
Rob Landley
f0c870d6c1 Replace panic=1 argument with PANIC_TIMEOUT=1 confg symbol, and
automatically enable module plumbing if any $MODULES selected.
2023-12-15 06:55:44 -06:00
Rob Landley
438d237775 Add NOTOYBOX variable to optionally skip the toybox build. 2023-12-15 06:54:08 -06:00
Rob Landley
979ee153b2 Update package version and hit build with a rock until it finishes. 2023-11-13 22:26:14 -06:00
Rob Landley
e54ab9010c Let run-qemu.sh be run from other directories. 2023-11-13 10:50:29 -06:00
Rob Landley
2aafb7dd9a Slight simplification. 2023-09-01 15:20:36 -05:00
Rob Landley
03af0d1b4c Also pull out toybox-$ARCH binaries, and scp to website with command line args. 2023-07-30 04:41:04 -05:00
Rob Landley
d944477743 Better "no kernel" calculation. 2023-07-30 04:25:10 -05:00
Rob Landley
cc5cce79a0 Replace $TARGET with $CROSS, fix .config dependency on sh, move OUTDOC=
TARGET was mostly CROSS already, except "host" becomes "$(uname -m)"
during kernel build, but $LOG needed the old value right at the end.
Fix: set LOG=$"LOG/$CROSS" after we mkdir "$LOG". (All the filenames in
there start with the architecture we're building for already.)

Move OUTDOC assignment up top with the rest of the overrideable paths.

A perennial problem is "make defconfig; mkroot/mkroot.sh" and then the
result won't boot because no /bin/sh due to the pending overrides never
getting added. So change the "config exists" test with grep CONFIG_SH=y
and replace the .config if it hasn't got a shell.
2023-07-28 20:05:42 -05:00
Rob Landley
2510def07f Comment tweaks. 2023-07-27 20:43:22 -05:00
Rob Landley
2af3f3f06b Old script I had lying around to build busybox as a mkroot package. 2023-07-27 08:47:04 -05:00
Rob Landley
ec88e79aca Move mkroot/root to mkroot/packages.
Previous name made sense under scripts, but not under mkroot.
2023-07-27 08:44:55 -05:00
Rob Landley
18ebd3e4e7 Script to tar up mkroot output for web page, with top level README. 2023-07-25 11:39:29 -05:00