Age | Commit message (Collapse) | Author | Files | Lines |
|
Signed-off-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Note that this does change the behavior of the code. After the patch
only < 2.6 PROMs will fail (which is probably correct), instead of every
2.* like now.
Signed-off-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Signed-off-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Otherwise the build will fail:
| ld: decompnet.o: in function `error':
| decomp.c:(.text+0x4dc): undefined reference to `__longjmp_chk'
Signed-off-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Otherwise the resulting image will be too large:
| ./util second.map second.aout second2.aout second.b second.b2
| Distance between two changes larger than 63K 3 84553 0
Signed-off-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
The bootloader bits are built as 32-bit, which can be difficult to do on
a system with a 64-bit userland since they include system headers.
Specifically, the inclusion of <gnu/stubs-32.h> is problematic since
this header is not provided on a non-multilib build of glibc.
<gnu/stubs-32.h>, included by
<gnu/stubs.h>, included by
<features.h>, included by
<elf.h> and <setjmp.h>
tilo is built for the host machine and doesn't have this problem.
Signed-off-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
When checking the rootfs size we use the kernel image size instead of the
rootfs image. Fix that.
Fixes: 9f151df0eecf ("tilo: sanity check image sizes")
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Make all inline functions static. This will avoid build errors
with GCC 7.2.
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Process it as an unsigned quantity so that all 32-bit values
work properly.
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Aaro Koskinen says:
====================
SILO: fix build issues with GNU11 mode
GCC will switch to GNU11 default mode, and currently SILO
compilation is broken with GCC 4.9.1 and--std=gnu11 due to ext2fs
inline function declarations.
These cleanup patches should fix the build, while not making any
functional changes (same code is generated with current GNU89 default
mode with and without these patches).
Tested by running SILO installation + boot with versions compiled
with both GNU89 & GNU11 modes using GCC 4.9.1 on Ultrasparc.
v2: Just delete code instead of trying to clean it up.
===================
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Delete all _INLINE_ functions, they are not used and cause issues
with GNU11 mode.
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Delete bitops.h, it's not used and causes issues with GNU11 mode.
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Aaro Koskinen says:
====================
SILO/TILO/sun4u: support TFTP booting modern kernels
Linux 3.13 exposes some limitations on old UltraSPARCs where the PROM
maps only 10 MB - the standard kernel TFTP boot no longer works very
well... See e-mail thread <http://marc.info/?t=138592472200001&r=1&w=2>.
This patch set makes some improvements to TILO to help on that. Basically
it enables to boot a compressed kernel from dynamically allocated
space. I'm now able to tftpboot a bloaty 3.13-rc5 + initramfs on Sun
Ultra 5/10 with an image created by tilo.
The patch set also allows to cross-compile and run tilo e.g. on x86.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Make some corrections to the maketilo documentation.
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Allocate memory for kernel image dynamically on sun4u. This allows to
boot bigger modern day kernels.
External root image can be used "in-place" from TILO image.
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Support booting ELF and normal a.out binaries, also retain compatiblity
with the "raw" a.out prepared by tilo.sh.
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Sanity check the space available for kernel decompression.
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Support images bigger than 4 MB. At least Sun Ultra 5/10 PROM maps 10 MB,
so make that a new limit.
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Sanity check image sizes to prevent buffer overflow.
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Make root image optional.
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Use dirname to figure out the path of maketilo.
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Latest versions of binutils mark _end with "B" instead of "A".
Support both of them.
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Use HOSTCC to compile maketilo to enable cross-compilation.
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Make sure that data in TILO image is big endian.
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Compile host-side tools with HOSTCC/HOSTCFLAGS.
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
If SILO is cross-compiled, the "util" tool will be run in the host system
and we must ensure the output is big-endian.
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
You specify the flash image just like a kernel image
with "image=" and "label=" directives. Then you add
the "flash" boolean option.
Here is an example:
image=/flash_image_file
label=whatever
flash
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Several limit tests were off by one, and most crucially for the final
extent walk we didn't backup the extent pointer by one entry like how
all the extent traversal loops require.
Reported-by: Raúl Porcel <armin76@gentoo.org>
Tested-by: Raúl Porcel <armin76@gentoo.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
It could also mean 'sun4v'.
Code this defensively, so that if (for whatever reason)
we can't get at the 'compatible' property in the root
OBP device node we'll still default to sun4u as previous.
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
This generates an illegal instruction exception.
This has a long history. For the first sun4v port of SILO in commit
494770a17eea7192d3242051e76f4da6d838e3a1 ("SILO Niagara/SUN4V
support") this code was removed entirely.
But later this was found to regress older UltraSPARC boxes, so we put
it back in commit bd708e35bdcd8e92cb7c65368f2a356982df7cd8 ("Fix
Ultra10 SILO timer"). But that was wrong too.
The OBP still owns the trap table when SILO runs and it uses the
%tick_cmpr generated interrupt. This has a bad interraction with how
we use the %tick register in SILO.
SILO first reads the %tick register and remembers this value as the
time base.
Later, we read %tick again, compute the difference, and use this to
calcualte the amount of time elapsed.
OBP's %tick_cmpr interrupt handler is doing something funky, such as
resetting %tick, which makes our timeouts never actually expire.
This issue doesn't exist on sun4v machines, and we absolutely cannot
try to touch the %tick_cmpr register as that generates an illegal
instruction trap on such cpus.
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
I recompiled toolchain/glibc/everything from scratch against Linux 3.4
headers and silo won't compile anymore:
file.c:60:5: error: 'NULL' undeclared here (not in a function)
fs/ext2.c:401:7: error: 'NULL' undeclared (first use in this function)
fs/isofs.c:57:45: error: 'NULL' undeclared (first use in this function)
etc.
Fix by including stddef.h.
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Calculate the block and offset correctly for group descriptors.
The existing code would work properly only for the first block
of descriptors.
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Stop using libext2fs, it's become way too large and has too many
dependencies on a full POSIX runtime.
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
ext2progs library really wants a working version of this,
and thankfully it's not that hard to do.
With help from Richard Mortimer.
Reported-by: Alex Buell <alex.buell@munted.org.uk>
Tested-by: Alex Buell <alex.buell@munted.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Reported-by: Raúl Porcel <armin76@gentoo.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
This reverts commit 71816c5699b32bab03e57be6768a562d9568e33b.
As reported by Jurij Smakov, this causes SunBlade1000 systems
to fail to boot.
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Signed-off-by: Jurij Smakov <jurij@debian.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
|
|
gcc -m32 -Os -Wall -I. -I../include -fomit-frame-pointer
-fno-strict-aliasing -DSMALL_RELOC=0x280000 -DLARGE_RELOC=0x380000
-fno-stack-protector -DTFTP -c -o mainnet.o main.c
In file included from ../include/ext2fs/ext2fs.h:77,
from ./file.h:23,
from file.c:23:
../include/ext2fs/ext2_io.h:39: error: expected declaration
specifiers or '...' before 'size_t'
Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
|
|
This patch changes the location that second is loaded to make room for
larger kernels.
On sparc32 a kernel is loaded at 0x4000 and second is loaded
at 0x280000. That means that the largest kernel that can be loaded
is 0x27c000 (2605056) bytes. Sparc32 kernels have been larger
than that for years and it has recently been almost impossible
to strip down a kernel small enough to actually load.
OBP initializes 3 megs of memory and second is loaded at 2.5
meg. second is only 40k bytes so most of the last 1/2 meg is
wasted. This patch moves second to 0x2e0000 which leaves
room for a 128k byte second.
This doesn't fix the sparc32 boot problems because you still
need to compile everything as modules and strip the executable
but it is a short term fix.
The long term fix is to make the sparc32 kernel relocatable
like sparc64. The first step is to make silo load a large sparc32
kernel. A patch has been submitted 2 years ago
http://marc.info/?l=linux-sparc&m=117952409730426&w=2
that fixes the silo side. I have tested that patch and it does
fix the problem of decompressing a large kernel. However
sparc32 kernel is not relocatable so silo tries to move the
kernel down to low memory (0x4000) but refuses because there
is no room for a large kernel. I think that patch should go
into silo so the silo will be ready for relocatable sparc32
kernels.
Linux head_32.S has some issues with large kernels. It
is capable of relocating itself from 0x4000 up to higher
memory but has a hard coded size limit of 0x300000. I
tried relocating a smaller image by changing the header
version to 0x300 which should support relocation and
silo was OK with that but the kernel boot failed with an
illegal instruction so the kernel is not OK with being
loaded at an arbitrary location yet.
I'm looking into changing linux to be relocatable from
an arbitrary address but that requires that the 2 year
old large kernel patch be applied first.
Signed-off-by: Robert Reif <reif@earthlink.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
these undefined references when compiling with GCC-4.3:
/usr/bin/../lib/libext2fs.a(inline.o): In function `ext2fs_find_next_bit_set': (.text+0x4f8): undefined reference to `__ffssi2'
/usr/bin/../lib/libext2fs.a(inline.o): In function `ext2fs_find_next_bit_set': (.text+0x518): undefined reference to `__ffssi2'
/usr/bin/../lib/libext2fs.a(inline.o): In function `ext2fs_find_next_bit_set': (.text+0x544): undefined reference to `__ffssi2'
/usr/bin/../lib/libext2fs.a(inline.o): In function `ext2fs_find_first_bit_set': (.text+0x5a8): undefined reference to `__ffssi2'
/usr/bin/../lib/libext2fs.a(inline.o): In function `ext2fs_find_first_bit_set': (.text+0x5d8): undefined reference to `__ffssi2'
/usr/bin/../lib/libext2fs.a(rw_bitmaps.o): In function `read_bitmaps': (.text+0x46c): undefined reference to `sprintf'
/usr/bin/../lib/libext2fs.a(rw_bitmaps.o): In function `read_bitmaps': (.text+0x664): undefined reference to `sprintf'
Signed-off-by: Friedrich Oslage <bluebird@gentoo.org>
Signed-off-by: Ben Collins <ben.collins@canonical.com>
|
|
Signed-off-by: Friedrich Oslage <bluebird@gentoo.org>
Signed-off-by: Ben Collins <ben.collins@canonical.com>
|
|
Signed-off-by: Ben Collins <ben.collins@canonical.com>
|
|
Signed-off-by: Ben Collins <ben.collins@canonical.com>
|
|
Signed-off-by: Ben Collins <ben.collins@canonical.com>
|
|
Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
|
|
Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
|
|
As of 2.6.25-rc6, an "allyesconfig" kernel is around
~42MB in size. So we try to carve out up to 64MB of
memory for the kernel.
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
|
|
- Do better error report.
- Open ext2 filesystem with DIRTY flags rather than just RW.
This patch has been taken from the fedora silo package and
I believe it was written by Peter Jones <pjones@redhat.com>.
Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
|
|
Signed-off-by: Ben Collins <bcollins@ubuntu.com>
|
|
degredaded raid.
Signed-off-by: Ben Collins <bcollins@ubuntu.com>
|
|
Signed-off-by: Horst H. von Brand <vonbrand@inf.utfsm.cl>
Signed-off-by: Ben Collins <bcollins@ubuntu.com>
|
|
From Fabio.
Signed-off-by: Ben Collins <bcollins@ubuntu.com>
|
|
From Fabio.
Signed-off-by: Ben Collins <bcollins@ubuntu.com>
|
|
From Fabio.
Signed-off-by: Ben Collins <bcollins@ubuntu.com>
|
|
Signed-off-by: Horst H. von Brand <vonbrand@inf.utfsm.cl>
Signed-off-by: Ben Collins <bcollins@ubuntu.com>
|
|
Found one bug in ext2 code while I was at it. Not sure if it will affect
anything or not.
Signed-off-by: Ben Collins <bcollins@ubuntu.com>
|
|
Signed-off-by: Ben Collins <bcollins@ubuntu.com>
|
|
This is a fix (finally!) for the infamous CDROM boot failures a lot of
folks reported. A good log of the situation exists in Debian bug
#261824
It's seen mostly on SunBlade1000, V280R, and V240 systems. But other
kinds of boxes can see it too.
SILO crashes trying to open the CDROM device, it dies deep in the OBP
code for openning the device. You can see this clearly with "ftrace"
at the "ok" prompt which gives a forth backtrace any time an error
occurs during OBP execution.
I tinkered around a little bit and it's easy to trigger the "Fast Data
Access MMU Miss" error by hand at the OBP prompt by simply going (this
example is on my SB1000):
ok " /pci@8,700000/scsi@6/disk@6,0:f" open-dev
ok " /pci@8,700000/scsi@6/disk@6,0:f" open-dev
Fast Data Access MMU Miss
(that /pci@... path can be determined by asking for the cdrom device
alias, using "devalias cdrom" or similar)
Ie. try to open the cdrom device twice causes the crash. This
actually works on most systems! And that's why the failure doesn't
occur everywhere.
But why in the world would that be happening during a CDROM boot?
When OBP loads up the first stage boot block of SILO, it opens the
CDROM, reads the boot block, and then closes the CDROM device before
executing the bootblock. This makes sense and that's why we get to
the first stage loader just fine and the first stage loader can open
the CDROM. Changing the above test case shows that this is how you're
supposed to do things:
ok showstack
ok " /pci@8,700000/scsi@6/disk@6,0:f" open-dev
fff141014 ok fff141014 close-dev
ok " /pci@8,700000/scsi@6/disk@6,0:f" open-dev
fff141014 ok
('showstack' prints the contents of the forth stack, this way we can
see the file-descriptor return value from open-dev which we need to
pass into close-dev, another way is to say '.' which prints out the
top of stack and also pops it off, we could have also just said
'close-dev' all by itself since the file descriptor was on the forth
stack already)
So, close it before you open it again, and everything is fine.
I went and studied the first stage boot code of SILO and it looked OK.
It's written in assembly and it closes the device node just fine. But
then I remembered we use a different piece of code for the first stage
boot block on CDROM devices, it's written in C, and indeed it forgets
to close the device. So when the second stage bootloader tries to
open the CDROM we go splat.
The SILO fix is obvious, and is included below.
BTW, a good source of information on all of the OBP forth mumbo-jumbo
can be found in the OpenBoot Command Reference Manual(s):
http://docs.sun.com/app/docs/doc/801-7042
http://docs.sun.com/app/docs/doc/805-4434
http://docs.sun.com/app/docs/doc/805-4436
http://docs.sun.com/app/docs/doc/806-1379-10
Enjoy :)
Signed-off-by: Ben Collins <bcollins@ubuntu.com>
|
|
>> That's one funky patch. The previous version of the variable wasn't getting
>> null-terminated?
>
> A const string is always null-terminated. Maybe the problem was with it being
> const?
Right, AFAICT the compiler was assuming that buffer is const. Later in the
code it is used to retrieve the architecture string from the PROM, and the
buffer[4] char then determines the arch. With the const assumption this
value was incorrectly set to 'c' at compile time, leading to misdetection
of the architecture.
Signed-off-by: Ben Collins <bcollins@ubuntu.com>
|
|
Signed-off-by: Ben Collins <bcollins@ubuntu.com>
|
|
Signed-off-by: Ben Collins <bcollins@ubuntu.com>
|
|
Signed-off-by: Ben Collins <bcollins@ubuntu.com>
|
|
Ok, this should fix the Ultra10 problem and keep Niagara
working at the same time. I tested this successfully on my
T2 box.
Signed-off-by: Ben Collins <bcollins@ubuntu.com>
|
|
Bump to 1.4.11.#
|
|
Subject: [PATCH]: Fix SILO initrd calculations
From: "David S. Miller" <davem@davemloft.net>
SILO uses a different idea of "phys_base" than the kernel
does when deciding the value to stick into the ramdisk
cookie of the kernel.
The kernel uses the smallest "phys" found in the "available"
properties, whereas SILO uses the "phys" of the first element of the
"reg" property. This can be different, as the following Niagara
system /memory node dump shows:
reg 00000000 00800000 00000003 ff800000
available 00000003 fffd0000 00000000 00002000
00000003 fffcc000 00000000 00002000
00000003 fffc0000 00000000 00006000
00000003 fffa4000 00000000 0000c000
00000003 ff000000 00000000 00fa2000
00000000 00c00000 00000003 fe3fe000
name memory
0x800000 vs. 0xc00000
The fix is simple, please apply.#
|
|
Subject: [PATCH]: SILO Niagara/SUN4V support
From: "David S. Miller" <davem@davemloft.net>
This patch against silo-1.4.10 makes SILO work on Niagara/SUN4V:
1) Don't try to access %ver register on Niagara, this will
trap because it's a hyperprivileged operation on SUN4V.
We detect SUN4V with an ugly trick, we try to write to
the PSTATE_AG bit of %pstate. If it reads back zero, it
is SUN4V.
A better way to do this would be to fetch the "compatible"
property of the OBP root node and check if it is "sun4v"
but that might not be so easy to do this early.
To be honest, the necessity of this I-cache flushing code
itself is suspect. I bet we can delete the whole thing
or replace it with a portable loop that does "flush %reg"
over the area we want the be I-cache synced.
2) Kill all of this code flushing the fixed SUN4U TLB entries.
We don't load the TLB entries by hand any more so this code
is just noise and would be wrong on SUN4V in any event.
3) Kill all of the %tick{_cmpr} register poking.
All this timer code cares about is that it records %tick when
it starts, and then later make relative measurements using
that saved value.
The rest of the code touching %tick{_cmpr} is superfluous.
Besides you can't write to %tick on SUN4V as that is a
hyperprivileged operation.
4) Return 'sun4u' from silo_get_architecture() when we detect
'sun4v', we want to run the same code paths.
We could add a "sun4v" architecture type but I see no gain
from that as it would just bloat up all the sun4u tests
with a new "||" branch.
If someone could at least do some light testing of this on
SUN4U I'd really appreciate this. Ben, please don't apply this
until you or someone else does at least one SUN4U smoke test.
I've successfully tested this on a T-200 with 16GB of ram.
Thanks.#
|
|
Fix handling of printing text file banners.#
|
|
(davem)
silo/second/memory.c loads 4MB sized TLB entries, and for an
unaligned physical address that just strips off the lower
bits of the physical address, resulting in corrupted memory.
The good news is that we don't need to load these TLB entries,
prom_map() sets up entires automatically for in the firmware TLB miss
handler.#
|
|
1.4.10#
|
|
Ben, this patch is to work around some build problems with
gcc-4.x that fabbione was running into.
Somehow, some normal userland headers are getting fetched
during the second stage bootloader build. (probably via some
gcc internal header or something like that) And of course
things go south because second/disk.c exports routines with
names like "open()" and "close()", ie. not good for global
namespace.
I hit as much of the include/silo.h functions as I easily could,
usually adding the "silo_" prefix to their names then fixing up
the tree.
xmit() wasn't used by anything, so I deleted it.#
|
|
Bump silo version to 1.4.9.#
|
|
Patch from Chris Newport <crn@netunix.com> to fix sun4x isofs loading.
Reports that initrd loading is still broken.#
|
|
Fix empty file for print_message.#
|
|
Bump to rev 1.4.8.#
|
|
Adjust sun4u_initrd_phys to be relative to the phys_base. This makes
initrd work again for cases where physical memory base isn't 0x0.#
|
|
Patch from "Pieter D.J. Krul" <pkrul@auxio.org>. Changes all the URL's to
point to sparc-boot.org.
Also bumped the version to 1.4.7.#
|
|
Implement 64-bit ramdisk location.
Implement a structure for handling HdrS instead of all the pointer
dereferencing. A lot cleaner, and easier to document.#
|
|
Oops, not sure how I let this test code sneak in.#
|
|
SILO 1.4.6#
|
|
Make sure initrd phys address isn't greater than 32-bits. I need to add a
new option to the kernel to accept initrd images in higher memory regions.#
|
|
Fix %llx to %Lx, and use a var for hrds_ver.#
|
|
New location for divdi3.S#
|
|
Handle %L format.#
|
|
Add long long div/udiv functions.#
|
|
Add printing of the initrd physical address for debug purposes.#
|
|
Fixup tag target.#
|
|
Fix compiler warning#
|
|
Add tag target for releases.#
|
|
Bump to 1.4.5.#
|
|
Change the TLB entries used for the image and initrd.#
|
|
Slowdown the ticker.#
|
|
Oops, remove debug code#
|
|
Fix fast symlink test. This fixes problems on selinux.#
|
|
Bump to 1.4.4#
|
|
Fix setting of kernel_params for sparc32.#
|
|
Ok, maybe initrd wasn't working. Resolved that now, and do 1.4.3.#
|
|
Bump version to 1.4.2#
|
|
Minor cleanups#
|
|
Fix prom_unmap(). This resolves initrd's.#
|
|
Make it so we see the rotating status when loading even when not using
inflate.#
|
|
Bump to 1.4.1#
|
|
Add "partition-boot" and "secondary=" config options.#
|
|
Better release target.#
|
|
Cleanups. Put the SILO VERSION into the banner when it loads.#
|
|
Bump version to 1.4.0#
|
|
Oops, missed some things with the last commit.#
|
|
Support for booting kernels on sparc64 to alternate memory locations (IOW,
not phys_base). This also gets us the bonus of loading kernels as large as
8Megs (well, 0x7fc000).#
|
|
We don't need to copy and strip the bins to get the aout image.#
|
|
Simple commit#
|
|
Make things compile with newer kernel headers (e.g. 2.6).#
|
|
Move sun4u_memory_base into memory_find, the only location it is used.
Also, remove _start extern.#
|
|
Remove uneeded prom_map/prom_unmap functions.#
|
|
Add prom_map/prom_unmap functions.
Modify p1275_cmd() to better support 64-bit arguments.#
|
|
Convert some constants to macros.#
|
|
Force 32-bit build, since we can't build 64-bit anyway#
|
|
Fix spacing#
|
|
Bump version to 1.3.2.#
|
|
There was a problem in the logic that allocated a memory address for
initrd's to load in. This problem caused somewhat large (but still less
than 3.5Megs) kernels to have the initrd overwritten on top of it.
Remove all the logic that tries to fit the initrd inbetween the kernel and
the second.b loader (which resides at 0x380000). I'm hoping that this wont
affect anything being able to load the initrd, but it should work. With
the size of kernels and initrd nowadays, I don't think there's too many
cases where a kernel+initrd can fit in 3.5Megs anyway.#
|
|
Make some functions static#
|
|
Bump vers to 1.3.1#
|
|
Fix errors with newer binutils and warnings with gcc-3.3.1.#
|
|
Add ext3 to documented list of filesystems supported. Patch from Pieter
Krul.#
|
|
We want -r, not -R, for rockridge support#
|
|
Fixes md-raid support in some odd cases. Can't recall who sent me this
patch, but remind me and I'll give credit.#
|
|
SVN doesn't use .cvsignore#
|
|
Update makefile for release tarball creation.#
|
|
re-paginate#
|
|
re-paginate#
|
|
re-paginate#
|
|
re-paginate#
|
|
Rid the tree of cd.b remnants#
|
|
Ignorant#
|
|
multiply by 4 == <<2...duh#
|
|
Use strcpy for silo.conf location in silo_info.#
|
|
Use strcpy, not memcpy, to get v2/v3 bootdevice string.#
|
|
Minor cleanups.#
|
|
Merge disk.c into isofs.c.#
|
|
Bump vers to 1.3.0#
|
|
Correct silo.conf location#
|
|
Add local CFLAGS decleration to set optimization to -O2 instead of -Os#
|
|
Fix typeo in super read decleration#
|
|
Add stringops.h#
|
|
Remove dup strlen decleration#
|
|
Fix typo in mkisofs patch that could have caused some memory corruption in
mkisofs.#
|
|
update#
|
|
New iso9660 capable first-stage loader. Useful for unmodified mkisofs.#
|
|
No need for cd.map.#
|
|
Move some things around. Rock.h goes in include now. rem/sdiv can be
shared in common. Move some things in stringsops to seperate them out.#
|
|
Cleanups. Fix memory leak in opening isofs super block. Remove need for
keeping 2k buffer for iso super block.#
|
|
Add check for maj/min == 0 in md raid1 support.#
|
|
Patch from Peter Jones for machines with 4+ gigs of ram.#
|
|
Another patch from Dave to support III and all derivatives. Keeps us from
having to support each one seperately.#
|
|
Up to version 1.2.6#
|
|
Patch for III+ from DaveM#
|
|
Setup for 1.2.5.#
|
|
Fix so we look for /dev/misc/openprom aswell, for devfs systems.#
|
|
Make release_memory match main.c's usage of sun4u_initrd_pa. IOW, check
for (architecture == sun4u) instead. Patch from Peter Jones. Fixes sun4u
initrd issues with gzip.#
|
|
Remove obsolete mkisofs patch, and add cdrtools patch from Thorsten Kukuk.#
|
|
Bump version#
|
|
needed for e2fs lib 1.23#
|
|
Set root device to 0x0100 for ramdisk, not 0x0200, which is floppy.#
|
|
second/util.c: Fix parsing of 16digit addresses, when the first line
was a blank address. Using sscanf now. Reported by Alex Buell.#
|
|
Fix parsing of 16digit addresses, when the first line was a blank address.
Using sscanf now. Reported by Alex Buell.#
|
|
Don't really need this now, I think#
|
|
Add ffs() for e2fsprogs 1.23 from Thorsten Kukuk#
|
|
Fix teck counting for javastation, from Pete Zaitcev <zaitcev@redhat.com>#
|
|
* silo/silo.c: Fix suggested options to genromfs, patch from Pieter
Krul. Also fix email address for error on filesystem holes.#
|
|
minor fix#
|
|
* Makefile: Cleanups.
* Rules.make: Up version.
* silo.spec: Likewise.
* docs/LSM: Likewise.
* second/util.c: Cleanups.
* silo/confcheck.c: Get enum arch from promlib.h.
* silo/silo.c: Grammar fixes.
* silo/silocheck.c: Fix include of ufs.c. This might not work anymore
on Solaris because this file changed so much. I really need to get
that crappy OS installed just to test this shit.#
|
|
* common/printf.c: Cleanups, and document correct allowed formats.
Also output format if unrecognized.
* common/stringops2.c: Remove unused code that was only needed for
libext2fs.a.
* common/tree.c: Remove unused code.
* first/cd.S: Minor formatting changes to match fd.S.
* include/promlib.h: Remove non-existent declerations.
* include/silo.h: Likewise.
* include/stringops.h: Likewise.
* include/ext2fs/bitops.h: Updated from current e2fsprogs.
* include/ext2fs/ext2_err.h: Likewise.
* include/ext2fs/ext2fs.h: Likewise.
* include/ext2fs/ext2_io.h: Used to be io.h, from update.
* second/file.c: Remove extraneous includes.
* second/fs/ext2.c: Add realloc() and time() stubs.
* include/et/error_table.h: Removed.
* include/et/internal.h: Removed.
* include/et/mit-sipb-copyright.h: Removed.
* include/ext2fs/ext2_err.et: Removed.
* include/ext2fs/io.h: Removed.
* include/non-linux/iso_fs.h: Removed.
* include/non-linux/romfs_fs.h: Removed.#
|
|
* The "Fix the FSF Address Update". Replace the COPYING file with the
latest GPL v2.
* Lots of Makefile updates and cleanups.#
|
|
updates#
|
|
* Updates for makefiles, including revup#
|
|
* common/printf.c: Check for null pointer for %s format.#
|
|
update for 1.2.0#
|
|
update todo#
|
|
* second/main.c (tab_complete): Support tab completion for other than
the first item on the command line.#
|
|
* second/file.c (dump_block): Kill common args.
* second/file.h: Update decleration of dump_block.
* second/fs/ext2.c: Update dump_block Interface.
* second/fs/isofs.c: Likewise.
* second/fs/ufs.c: Likewise.
* second/fs/romfs.c: Likewise. Also fix cut and paste error.
* second/fs/romfs.c: Add ls support.#
|
|
* second/file.c (dump_block): Kill common args.
* second/file.h: Update decleration of dump_block.
* second/fs/ext2.c: Update dump_block Interface.
* second/fs/isofs.c: Likewise.
* second/fs/ufs.c: Likewise.
* second/fs/romfs.c: Likewise. Also fix cut and paste error.#
|
|
* second/Makefile: Add fs/ufs.o and fs/romfs.o to libfs.a.
* second/file.c: Add ufs and romfs file ops.
* second/fs/romfs.c: Romfs support for SILO.
* second/fs/ufs.c: UFS support for SILO.
* second/fs/isofs.c: Oops, forget to set/unset have_inode.#
|
|
* common/Makefile: Clean up the "clean" target.
* first/Makefile: Likewise.
* second/Makefile: Likewise.
* silo/Makefile: Likewise.
* tilo/Makefile: Likewise.
* common/udiv.S: Updated from 2.4 kernel source.
* common/urem.S: Likewise.
* second/divdi3.S: Likewise.
* second/muldi3.S: Likewise.
* second/rem.S: Likewise.
* second/sdiv.S: Likewise.#
|
|
* docs/README: Updated.
* second/9660.c: Removed.
* second/9660.h: Likewise.
* second/romfs.c: Likewise.
* second/romfs.h: Likewise.
* second/ufs.c: Likewise.
* second/ufs.h: Likewise.
* second/file.c: Stripped down, and rewrote to be more abstract. Now
supports easy addition of new filesystems.
* second/file.h: New file, describe interfaces for filesystem modules
with file.c.
* second/fs/iom.c: I/O Manager for file.c.
* second/fs/ext2.c: EXT2 Filesystem support rewritten for new
interface.
* second/fs/isofs.c: ISO-9660 Filesystem support rewritten for new
interface. This was almost a complete rewrite. It now supports
extended Rock Ridge information, but also supports ls and tab
completion.
* second/fs/rock.h: Rock Ridge definitions for isofs.c.
* second/Makefile: Build new fs/ subdir as libfs.a and tack it into
the second stage boot loader.
* Still need to update the romfs and ufs filesystems to the new
layout.#
|
|
* Rules.make: Update for 1.1.0 release.
* silo.spec: Likewise.
* docs/LSM: Likewise.
* include/silo.h: Add macros for load_file cmd options.
(do_ls): Returns int, and takes int* as second arg now.
(cfg_print_images): Also returns int, and now takes two char* args.
* second/cmdline.c: Rewrote logic into a case switch, and added extra
handling of the tab function.
* second/cfg.c (cfg_print_images): Take two extra args, one for an
address to write the aliases/labels to (nil delimited), and another to
use as a matching. Pass these two args to printlabel. Also, return
number of labels printed/written.
(printlabel): Accept the two extra args from above, and use them.
* second/file.c (ls_ext2): Take an extra arg to match against. Rework
for new macro setup. Allow for no error output if matching. Pass the
match as private to ls_ext2_proc.
(ls_ext2_proc): Use the extra private data for matching, if present.
(load_file): Use new macros. For matching, breakdown the dir/file
components, and pass them along to ls_ext2. Don't print any errors if
LOADFILE_QUIET.
* second/ls.c (do_ls): Take an extra arg, which is used for ambiguity
in matching. This signifies that our output is for tab completion. If
ambiguous, output a list of possible completions, if not, then
complete the command line as much as possible.
* second/main.c (maintabfunc): Recognize new tab completion. Call
tab_complete if the command line is non-empty, and contains no spaces.
Call cfg_print_images if it is empty.
(tab_complete): New function. Handles parsing of the command line, and
attempted completion against either files on an ext2 fs, or
aliases/labels in silo.conf.
Use new macros.
* docs/README: Scratch tab completion from the TODO list.
Say hi to tab-completion everyone!#
|
|
update#
|
|
update#
|
|
* Makefile: Ok, if we aren't using DESTDIR, then warn user that they
need to run silo after install.#
|
|
* second/crt0.S: Recognize SPARC64-III and SPARC64-IV, patch from
Ralf Liesegang <Ralf.Liesegang@fujitsu-siemens.com>
* tilo/crt0.S: Likewise.#
|
|
Update version#
|
|
Rules.make#
|
|
* common/stringops2.c: Update comment about time(), which is only a
stub for libext2fs.a.
* second/file.c: Remove include for sys/time.h. It doesn't appear to
be needed.
* include/stringops.h: Remove decleration of time().
* silo.spec: Updated for new manpages and URL, from Pieter Krul.#
|
|
* Rules.make: Final cleanups.
* common/inflate.c: Add rotate() here so silo and tilo get it.
* second/file.c: Remove rotate() from here.#
|
|
* Makefile: Add install of man pages. Reorder SUBDIRS so tilo gets
built before silo.
* Rules.make: Move CFLAGS definition to here.
* common/Makefile: Remove from here.
* tilo/Makefile: Likewise.
* first/Makefile: Likewise.
* second/Makefile: Likewise. Also fixup LDFLAGS so that don't trump
over other declerations.
* silo/Makefile: Likewise.
* common/bin2h.c: Add some includes to make it compile without
warnings.
* common/prom.c: Fix some multi-line strings.
* common/stringops2.c: Fix strn* declerations to use size_t and not
int for size.
* include/md-int.h: Fix trailing text after last #endif.
* include/silo.h: Remove strn* prototypes from here.
* include/stringops.h: Fix strn* prototypes.
* second/9660.c: Prototype alloca().
* second/bmark.S: Add newline to end of file.
* second/crt0.S: Cleanups to make it match tilo/crt0.S.
* second/decomp.c: Cleanups to match crt0.S.
* second/main.c: Likewise.
* second/timer.c: Fix some multi-line strings.
* tilo/crt0.S: Cleanups to make it match second/crt0.S.
* tilo/tilo.c: Match crt0.S
* tilo/maketilo.c: Fix some multi-line strings.
* Rules.make: Define BIN2H, initially as the one in common/
* silo/Makefile: Use that define.
* tilo/Makefile: Likewise.
* second/Makefile: Likewise.#
|
|
Update info#
|
|
Update info#
|
|
* second/console.c: Move to common/
* second/udiv.S: Likewise.
* second/inflate.c: Likewise.
* second/jmp.S: Likewise.
* second/malloc.c: Likewise.
* second/printf.c: Likewise.
* second/prom.c: Likewise.
* second/stringops1.c: Likewise.
* second/stringops2.c: Likewise.
* second/tree.c: Likewise.
* second/urem.S: Likewise.
* second/bin2h.c: Likewise.
* second/stringops.h: Move to include/
* second/promlib.h: Likewise.
* second/silo.h: Likewise.
* common/Makefile: New file. Build common objects.
* docs/README.tilo: New file. README from original TILO.
* man/maketilo.1: New file. Maketilo manpage.
* man/tilo.1: New file. Tilo script man page.
* tilo/Makefile: New file. Welcome TILO
* tilo/crt0.S: Likewise.
* tilo/maketilo.c: Likewise.
* tilo/tilo.c: Likewise.
* tilo/tilo.sh: Likewise.
* second/setjmp.h: Removed.
* silo/util.c: Removed in favor of bin2h.
* common/bin2h.c: Modified so it takes a -l option which can be the
name of a define for the length of the file being converted.
* second/Makefile: Modify for new location of objects and the new
command line for bin2h.
* silo/Makefile: Likewise.
* Makefile: Add the common and tilo subdirectories.
* Rules.make: Add rules for ../common/% and move some common values
here (LD, CC, ELFTOAOUT, ...)
* first/Makefile: Modify for new header and object locations.
* second/9660.c: Likewise.
* second/cfg.c: Likewise.
* second/cmdline.c: Likewise.
* second/decomp.c: Likewise.
* second/disk.c: Likewise.
* second/file.c: Likewise.
* second/ls.c: Likewise.
* second/main.c: Likewise.
* second/memory.c: Likewise.
* second/misc.c: Likewise.
* second/ranges.c: Likewise.
* second/romfs.c: Likewise.
* second/timer.c: Likewise.
* second/ufs.c: Likewise.#
|
|
Fix install target rules#
|
|
* silo/Makefile: Rewrite logic for checking arch/OS. Make it cleaner.
Remove need for seperate names of programs on Solaris.
* silo/silo.c: Rename __solaris__ to __sun__ so cpp handles this for
us. The Makefile will weed out unsupported builds. Also, include ufs.c
on Solaris builds.
* silo/silocheck.c: Likewise.
* silo/util.c: Take array name on the command line, and add some error
checking.#
|