On Tuesday 22 May 2007, David Goodenough wrote:
> Now that we have support for the Routerboard 100 series working, we come to
> the problem of making it easy for the end user to build and install.
>
> I have a script (wget2nand) which is currently a package but is only of use
> by the RB100 series at the moment so I think it should actually be under
> base-files in the adm5120-2.6 target (but that is up to Florian who built
> the package from my script).  This script automates the transfer of the
> code that needs to be put onto the nand flash.  It expects the code to
> be available on a web server at a URL that is entered by the user using
> the console (through minicom).  The URL could be derived automatically if
> we force a particular layout of web server and assume it is on the machine
> that the card got its DHCP address from (and its netbooted kernel),  or
> make this the default URL if one is not specified.
>
> But we need two kernels, and a TGZ version of the flash image.  The
> ADM-5120 target already builds a kernel as well as the TGZ image, this
> being the final kernel to be put on the flash.
>
> The first kernel is the one to be netbooted.  This needs a minimal
> initramfs containing busybox, udhcpc and wget2nand (and any pre-reqs to
> those).  It takes a command line which specifies that the serial console
> should be used and that the line speed is 115200.
>
> The second kernel is essentially the same as the first, but has only the
> dummy initramfs that is always present in a 2.6 kernel these days, and has
> a command line giving the same serial parameters and root=/dev/mtdblock1
> rootfs=yaffs.  This second kernel is then TARed to ensure that it has the
> right atttributes.
>
> Ideally the build process would produce the files that wget2nand expects
> directly, so that the directory into which they are put can used directly
> by the tftps server (can be dnsmasq) and the web server.
>
> BTW, I used wget2nand as there seems no point in storing the downloaded
> TAR files, rather I stream them directly into TAR from wget.  If anyone
> knows a tftp client which get get to stdout rather than to file we could
> use that instead and then the users would only need dnsmasq to do all the
> host processing.
>
> Unless it has been fixed, and I have not managed to verify this yet,
> objcopy has a problem (at least on mipsel) when replacing sections, so
> replacing the initramfs is difficult as there is always one there be
> default.  We could simply have the same initramfs as it is so minimal and
> the real files will override the ones in the initramfs, but we would not
> want to have a complete rootfs with lots of packages in it in the initramfs
> as quite quickly we would blow the 4MB boot partition.  So really we need
> two separate root directories, one for the minimal content in the
> initramfs, the other for the tar file.
>
> Obviously we need to make this as easy as possible to use for the end user,
> and I would welcome any ideas as to the best way to achieve this odd
> requirement.
>
> David
> _______________________________________________
> openwrt-devel mailing list
> [email protected]
> http://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

One possible thought is that we should always build an initramfs with 
a basic minimum of bits in it (busybox for starters) and a few install
and restore scripts (like cf2nand and wget2nand) there is always something
to fall back on when the "on flash" root fails.  

It would also help with things like the need to specify kernel parameters
as those could be built into the relevant /init script.  

However, it would really be useful to have some thoughts on this, as otherwise
installing OpenWrt on the RB1xx series is going to be an uphill struggle for
many users, having to have two configs, one for netboot and the other for
running.  

David
_______________________________________________
openwrt-devel mailing list
[email protected]
http://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to