[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
serial line - file interface
From: |
Kiril Paunov |
Subject: |
serial line - file interface |
Date: |
Fri, 3 Feb 2006 14:10:47 +0200 |
Hello.
I hope that this will be interesting for you...
I'm making some experiments with embedde OS, currently with RTEMS on i386.
I use some PC (to hand) for my tests and got to the problem with booting.
See, it's just to much time for each boot! So I made some changes to grub
to be able to boot images from the serial line. I know that there are better
sulutions for this problem but maybe this can help on some way to the grub
project.
There is a new command 'comload' - it's a bit silly but that's Ok for me.
That's what I have used first... before the idea for the `(com)' device.
The patch to release 1.92 can be found here:
http://81.161.251.159/pub/grub/grub-1.92-comio.patch
and that's the changelog entry:
+2005-02-03 Kiril Paunov <address@hidden>
+
+ * util/i386/pc/grub-install.in: Found an syntaxis error.
+
+ * commands/comload: New command for serial data download.
+ I's a bit ~~~ but can be usefull for people that work with
+ embedded systems.
+
+ * util/grub-comiosrv.c: Server program for the `(com)' interface
+ (See bellow include/grub/comio.h io/comio.c).
+
+ * include/grub/comio.h io/comio.c: New file interface.
+ This allows to download and boot ower the serial line.
+ I't usefull for people that work with embedded systems.
+ It's not very good covered by the file interface but i't
+ works well. There is not a good abstraction for this kind
+ off filesystem (net/serial/???)!!!
+ Example:
+ grub.cfg:
+ #
+ # serial --unit=1 --speed=9600 --word=8 --parity=no --stop=1
+ # terminal serial
+ #
+ Host: on /dev/ttyS0
+ #
+ # ./grub-comiosrv -b 115200 /dev/ttyS0
+ #
+ Host: on /dev/ttyS1
+ #
+ # > multiboot (com)/0-115200-n-8-1-my_test_image
+ # > boot
+ #
+ The sintax is:
+ `(com)/<name>'
+ `<name>' =
<unit>-<baud>-<parity>-<databits>-<stopbits>-<file-name>
+ `<unit>' = <0|1> - comm port
+ `<baud>' = <xxxx> - valid baud rate
+ `<parity>' = <n|e|o>
+ `<databits>' = <5|6|7|8>
+ `<stopbits>' = <1|2>
+ `<file-name>' = file name on the host relative to
`grub-comiosrv'
+ Protocol:
+ Request_A: `[my_test_image]'
+ Respons_A: `[<size>]'
+ Request_B: `[my_test_image:<start>:<length>]'
+ Request_B: `[<data-length>]<data>'
+
+ Enjoy yourself!
--
With respect & pleasure
Kiril Paunov
--
________________________
http://mail.tu-sofia.bg/
- serial line - file interface,
Kiril Paunov <=