Commit graph

72 commits

Author SHA1 Message Date
cinap_lenrek bbc35cc01b 9boot: look for plan9.ini in all filesystems accessible to efi to find plan9 partition
try the handle buffer in reverse order looking for plan9.ini
to find plan9 partition (9fat). when that fails, we'll default
to the first handle which should be the esp.
2015-06-05 05:09:22 +02:00
cinap_lenrek aa0a20ed6e boot/zynq: use ./boothead.$cputype to invoke helper 2015-05-13 04:22:21 +02:00
cinap_lenrek 2d564a5004 boot/zynq: add jtagload utility 2015-05-13 04:12:49 +02:00
cinap_lenrek d57f23fb87 boot/zynq: implement sdmmc boot (fat) 2015-05-13 01:07:35 +02:00
mischief 3440516e04 pc, efi loaders: erase characters when backspace is pressed 2015-01-25 17:21:07 -08:00
aiju 7a3f0998a0 added zynq kernel 2014-12-24 10:21:51 +01:00
cinap_lenrek 634c55543a efi: generate /386/efiboot.fat for generating efi bootable cd images (see -E option of mk9660) 2014-10-31 20:07:54 +01:00
cinap_lenrek c7a5345aa6 efi: iso filesystem support for cdrom booting
instead of including kernel and config in the efi
fat image, we can just include the loaders and
read the plan9.ini and kernel from iso filesystem
just like the bios loaders.
2014-10-31 19:43:47 +01:00
cinap_lenrek 5f91d3f484 efi: add test targets for iso and fat (for documentation only) 2014-10-31 03:15:15 +01:00
cinap_lenrek fa3e71ab80 efi: change eficonfig ordering so memconf() is first, dont fallback to fs when /cfg/pxe/ file isnt there
having the memconf() (*e820=) last clutters the screen.
do it first, so we can read *acpi= and *bootscreen=
prints.

we want to continue using tftp even when the /cfg/pxe/$ether
file is not found. only when we detect no pxe/dhcp session,
then we switch to local filesystem (non-network boot).
2014-10-24 00:40:09 +02:00
cinap_lenrek 16e08adb32 efi: add initial pxe support (v4 only) 2014-10-23 23:11:49 +02:00
cinap_lenrek d7785060fb efi: use LocateHandle() and HandleProtocol() to check for multiple gop protocols to find a usable one
the gop returned by LocateProtocol() is not usable on thinkpad x230,
so iterate over all handles to find a usable one.
2014-10-19 19:55:45 +02:00
cinap_lenrek d6ea496960 efi: fix compiler warnings, remove indicator prints in readn() 2014-10-19 22:01:13 +02:00
cinap_lenrek f0ff0fb054 efi: simplify bootscreen code 2014-10-18 19:15:53 +02:00
cinap_lenrek 99e004c72e efi: convert pixel format to bootscreen color channel 2014-10-18 18:48:56 +02:00
cinap_lenrek 6aa6e9fc8b efi: make clean target virtual 2014-10-18 02:15:40 +02:00
cinap_lenrek 6f3dfb57eb efi: add experimental efi bootloader
this is basically a port of 9boot to EFI. theres
support for IA32 (386) and X64 (amd64).

has been tested only under qemu with OVMF so far.
2014-10-18 02:13:02 +02:00
cinap_lenrek 365fd745d6 9bootfat: only check for fat at block 0 on floppy drives (thanks aap)
smart boot manager has a "FAT" signature in its mbr causing
9bootfat to "detect" it as a fat filesystem and then fails
to find plan9.ini.

there shouldnt be a fat filesystem on harddrives at block 0, only
on floppy drives. but some bioses use floppy drive numbers
for usb harddrives so still check for a partition table.

thanks aap for debugging this.
2013-09-23 21:12:41 +02:00
cinap_lenrek b14138c2ae 9bootfat: always try plan9 partition even when not marked active, fix bug
always look for 9fat in plan9 partition even tho the partition
is *not* maked active. marking partitions active is not
recommended anymore with grub so this makes life easier for
some people. multiple plan9 partitions on a single drive
is not supported.

have to copy partition table as buf gets trashed when reading
first block of fat partition. it worked only when the first
fat partition found (the one marked active) was the right one,
but conffat() can fail.
2013-09-01 21:18:11 +02:00
cinap_lenrek cd66b11f67 pbs: allow 9bootfat start cluster beyond 0xFFFF
pbs failed to load (silently loading garbage) 9BOOTFAT from start
cluster beyond FFFF because we ignored the low word from the
directory entry. now taking the high 16 bit of the directory's
start cluster into account.
2013-05-06 01:15:46 +02:00
cinap_lenrek 2fc31e9a70 9boot: fix 9bootiso
rearrange sub.c for putc(), readn(), memcmp(), memmove(), strchr() and strlen()
and uart to fit into the first 2K of the image.
2013-02-18 04:16:33 +01:00
cinap_lenrek c9c06dd8ba 9boot: serial console support 2013-02-18 01:22:29 +01:00
cinap_lenrek 364f1f78d4 9boot: make print handle \n -> \r\n conversion, style 2013-02-17 21:48:51 +01:00
cinap_lenrek 3da5b76c0b 9boot: preserve configuration on boot error, add show command 2013-02-17 09:30:02 +01:00
cinap_lenrek 52b9a06896 9boot: truncate long lines instead of producing partial lines from console/plan9.ini 2012-12-03 16:52:14 +01:00
cinap_lenrek 9a06f93b71 tftp: prevent it from hanging if ack packets get lost
send ACK reply for duplicate data packets in case our ack response
got lost. make sure packets are in sequence and ignore out of
oder packets (except the ones we'v already acked).
2012-09-20 09:33:40 +02:00
cinap_lenrek 20b4f55603 9bootpxe: try /cfg/pxe/default if /cfg/pxe/$ether fails before breaking to the prompt. 2012-08-21 14:23:52 +02:00
cinap_lenrek 0209e21f45 9boot: change to new *e820= format, support for 64bit kernels 2012-06-23 03:16:59 +02:00
cinap_lenrek 042bc5be35 disk/format, 9boot: fix alignment issues 2012-05-08 16:30:18 +02:00
cinap_lenrek e614ab1d7f 9bootfat: fat12 support 2012-05-08 23:10:06 +02:00
cinap_lenrek 7179a121a6 9boot: always check if a20 is already enabled, use different keyboard code, retry on failure. 2012-01-20 20:03:38 +01:00
cinap_lenrek 15a75e40d0 9boot: replace strrchr() call with a loop and strchr() for ignoring bang path prefixes 2011-12-26 00:46:07 +01:00
cinap_lenrek ad620f4fc9 9boot: fix more e820 2011-11-11 09:21:53 +01:00
cinap_lenrek d8f42424ae 9boot: fix e820 scan 2011-11-10 04:41:32 +01:00
cinap_lenrek a4a3f519a6 9boot: add wait word 2011-11-09 15:26:26 +01:00
cinap_lenrek 199b37d2d1 use /386/9pcf in test.iso target 2011-11-04 22:40:19 +01:00
cinap_lenrek 9884f5f0ed handy test targets 2011-08-16 04:07:39 +02:00
cinap_lenrek 76c3214389 9bootfat: handle extended partitions 2011-07-20 08:57:00 +02:00
cinap_lenrek 6f033761e0 pbs: fix comment 2011-07-09 14:20:40 +00:00
cinap_lenrek 20977b8a7e pbs: add some diagnostic dots, simplify 2011-07-09 14:16:14 +00:00
ment bbfc504d45 boot/pbs: wrong register 2011-06-22 00:30:09 +02:00
cinap_lenrek cd5cef000f pbs: dont rely on chainloader to hand us a partition table and properly get the partition offset from nhidden in the fat header, add compare after mul because MUL doesnt set ZF but makes it undefined! 2011-06-13 05:34:19 +00:00
ment 73a8e5c832 boot/pc: changed PBS relocating offset 2011-06-08 23:18:26 +02:00
ment 748551ea06 boot/pc: PBS now calculates rootdir offset itself 2011-06-08 23:04:30 +02:00
cinap_lenrek d17435cbcb 9boot: add support for clearing single config settings 2011-06-01 16:26:14 +00:00
cinap_lenrek 266e791298 remove 9bootfat print 2011-05-15 19:19:11 +00:00
cinap_lenrek 318a980c63 9boot: increase timeout, do less printing 2011-05-15 15:25:31 +00:00
cinap_lenrek 38e42ab857 9boot: replace dots by printing 64k block number in hex 2011-05-15 14:34:37 +00:00
cinap_lenrek bf03cb3084 remove nmi handling 2011-05-15 12:29:49 +00:00
cinap_lenrek 5648d53cdb 9boot: use 500 ms timeout 2011-05-15 12:16:01 +00:00