Merge pull request #305 from pder/bare-metal-no-serial-console
Boot Fiwix and Linux without serial console on bare metal
This commit is contained in:
commit
83013cea5e
|
@ -36,6 +36,7 @@ def create_configuration_file(args):
|
|||
config.write(f"UPDATE_CHECKSUMS={args.update_checksums}\n")
|
||||
config.write(f"JOBS={args.cores}\n")
|
||||
config.write(f"INTERNAL_CI={args.internal_ci}\n")
|
||||
config.write(f"BARE_METAL={args.bare_metal}\n")
|
||||
if (args.bare_metal or args.qemu) and not args.kernel:
|
||||
config.write("DISK=sda\n")
|
||||
config.write("KERNEL_BOOTSTRAP=True\n")
|
||||
|
|
|
@ -1 +1 @@
|
|||
4f78914aef30b569a531102998e52a0514d8836204d57ff42bf0a3324968f247 /usr/bin/kexec-fiwix
|
||||
7c0d280b732b8dfe767cacefc0245698796d953083ab4bcccfcb77f6d4fc4828 /usr/bin/kexec-fiwix
|
||||
|
|
|
@ -77,7 +77,16 @@ int main() {
|
|||
puts("Preparing multiboot info for kernel...");
|
||||
|
||||
char cmdline[256];
|
||||
sprintf(cmdline, "fiwix console=/dev/ttyS0 root=/dev/ram0 ramdisksize=%d initrd=sysa.ext2 kexec_proto=linux kexec_size=67000 kexec_cmdline=\"init=/init console=ttyS0\"", INITRD_MB * 1024);
|
||||
/* Don't use a serial console if configured for bare metal */
|
||||
char *bare_metal = getenv("BARE_METAL");
|
||||
if (bare_metal != NULL && strcmp(bare_metal, "True") == 0)
|
||||
{
|
||||
sprintf(cmdline, "fiwix root=/dev/ram0 ramdisksize=%d initrd=sysa.ext2 kexec_proto=linux kexec_size=67000 kexec_cmdline=\"init=/init\"", INITRD_MB * 1024);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf(cmdline, "fiwix console=/dev/ttyS0 root=/dev/ram0 ramdisksize=%d initrd=sysa.ext2 kexec_proto=linux kexec_size=67000 kexec_cmdline=\"init=/init console=ttyS0\"", INITRD_MB * 1024);
|
||||
}
|
||||
char * boot_loader_name = "kexec-fiwix";
|
||||
|
||||
unsigned int next_avail_mem = 0x9800;
|
||||
|
|
12
sysa/run2.sh
12
sysa/run2.sh
|
@ -33,9 +33,15 @@ go_sysb() {
|
|||
mount -t proc proc /proc
|
||||
# kexec time
|
||||
echo "Loading kernel + sysb initramfs using kexec"
|
||||
kexec -l "/boot/linux-4.9.10" --console-serial \
|
||||
--initrd="/boot/initramfs-sysb.cpio.gz" \
|
||||
--append="init=/init console=ttyS0"
|
||||
if [ "${BARE_METAL}" = True ]; then
|
||||
kexec -l "/boot/linux-4.9.10" \
|
||||
--initrd="/boot/initramfs-sysb.cpio.gz" \
|
||||
--append="init=/init"
|
||||
else
|
||||
kexec -l "/boot/linux-4.9.10" --console-serial \
|
||||
--initrd="/boot/initramfs-sysb.cpio.gz" \
|
||||
--append="init=/init console=ttyS0"
|
||||
fi
|
||||
echo "kexecing into sysb"
|
||||
kexec -e
|
||||
fi
|
||||
|
|
Loading…
Reference in New Issue