00:55.08 | *** join/#elinux noclouds (n=mhfan@60.166.36.179) |
01:12.27 | *** join/#elinux sjhill (n=sjhill@eth13.com-link.com) |
01:47.00 | *** join/#elinux Chocobo (n=swinchen@70-33-147-28.agstme.adelphia.net) |
02:11.35 | *** join/#elinux catastrop (n=catastr0@d14-69-178-65.try.wideopenwest.com) |
02:59.41 | *** join/#elinux markl_ (n=mark@dsl093-225-127.slc1.dsl.speakeasy.net) |
06:06.37 | *** join/#elinux dijenerate (n=dijenera@69.73.207.240) |
06:23.54 | *** join/#elinux blindvt__ (n=bf@M928P009.adsl.highway.telekom.at) |
07:02.10 | *** join/#elinux Russ (i=foobar@ip70-190-223-46.ph.ph.cox.net) |
07:06.33 | Russ | cbsnews in teh smart http://www.cbsnews.com/stories/2006/06/20/tech/main1734030.shtml |
08:11.52 | YazzY | hi guys. I have an XScale board I am working on. I compiled new kernel, created ramdisk image and it boots fine. The root file system is mounted as /dev/root |
08:12.08 | YazzY | I have a couple of questions though. |
08:12.32 | YazzY | is /dev/root mounted in RAM ? |
08:13.30 | YazzY | since both kernel and file system images are loaded by redboot, I'd assume the kernel mounes the rootfs which it previously extracted in RAM |
08:13.36 | YazzY | am I right ? |
08:54.39 | *** join/#elinux jipi (n=jipi@cm8.sigma146.maxonline.com.sg) |
11:13.35 | *** join/#elinux jipi (n=jipi@cm213.delta243.maxonline.com.sg) |
12:18.54 | *** join/#elinux GPSFan (n=kenm@12.10.255.248) |
12:35.23 | *** join/#elinux T0mW (n=Tom@24.238.68.20.res-cmts.sth.ptd.net) |
12:40.26 | *** join/#elinux tuxmaniac (n=aanjhan@60.254.67.17) |
12:44.09 | *** join/#elinux sjhill (n=sjhill@eth13.com-link.com) |
12:57.37 | *** join/#elinux ignatoff (n=ignatov@c1-224-13.rrba.isadsl.co.za) |
13:25.47 | chouimat | morning |
13:30.46 | YazzY | why isnt my kernel able to mount file system on /dev/root when I enable ROM disk memory block device (blkmem) in the kernel ? |
13:31.31 | YazzY | this is what it says: |
13:31.33 | YazzY | RAMDISK: Compressed image found at block 0 |
13:31.34 | YazzY | Freeing initrd memory: 8192K |
13:31.34 | YazzY | VFS: Mounted root (ext2 filesystem). |
13:31.34 | YazzY | Mounted devfs on /dev |
13:31.36 | YazzY | VFS: Cannot open root device "ram0" or 1f:00 |
13:31.38 | YazzY | Please append a correct "root=" boot option |
13:31.41 | YazzY | Kernel panic: VFS: Unable to mount root fs on 1f:00 |
13:42.33 | T0mW | YazzY: I used to have problems with rom disk images when I was working with uClinux + M68EZ328. |
13:43.10 | T0mW | YazzY: mostly, my problem was getting the whole image into RAM, or improperly pointing to where the image was located. |
13:43.34 | YazzY | T0mW: i am working on an XScale system |
13:43.43 | YazzY | using snapgear |
13:43.44 | T0mW | should be similar issues |
13:44.18 | T0mW | eventaully, I had to dump the image across a serial port to see what exactly the kernel was looking at. |
13:44.32 | YazzY | T0mW: there are some bits i still do not understand. Is ROM the Flash memory on my system ? |
13:44.40 | T0mW | YazzY: you got JTAG on that system? |
13:44.55 | YazzY | T0mW: i am using a serial cable to "talk" to it |
13:45.01 | T0mW | ok |
13:45.08 | YazzY | i compiled openssl and ssh so i can login remotely too |
13:45.32 | T0mW | Well, the ROM == "Read Only Memory", it could be in RAM or Flash, but it is mounted as readonly |
13:45.41 | YazzY | it's just i am not quite sure what's going on under the hood, how is the file system mounted etc. |
13:46.04 | T0mW | you could use either RAM or Flash for it, but it is not writable |
13:46.43 | YazzY | T0mW: right, so how is the /dev/root mounted now ? It is loaded by redboot now, the kernel image and the file system |
13:47.11 | YazzY | i noticed it needs ext2 to mount the file system |
13:47.40 | YazzY | i created my own startup scripts etc and my fstab says now: |
13:47.41 | YazzY | /dev/root / ext2 remount,rw 1 1 |
13:47.43 | T0mW | That I don't, how the /dev/root is implemented. Most of what I do today is using SD memory for the filesystem |
13:48.38 | YazzY | T0mW: any idea how I could create a rw partition on the flash device to store my configuration files permanently ? |
13:48.55 | T0mW | YazzY: what I found especially usefull on a system without JTAG (or other) debugging was the kprintf(). |
13:49.29 | T0mW | I would sprinkle kprintf's around the code I thought was failing and print values out the serial port. |
13:49.47 | YazzY | yeah, simple debugging |
13:49.53 | T0mW | JFFS comes to mind |
13:50.35 | YazzY | yes but how the heck can i see what part of the flash disk can be formatted ? |
13:50.42 | T0mW | JFFS allows you to take an area of Flash and make it writeable from the kernel and a /dev/ |
13:52.11 | T0mW | sorry, I am now out of my depth here. It has been too long since I played with NOR Flash as storage media. I use NOR to boot from (load the kernel) then switch to mounting a NAND Flash device. |
13:52.15 | YazzY | T0mW: oki, so this will create a permanent file system on my flash , right ? I would like to load my rootfs and kernel from redboot and the rest , most preferably /etc could be mounted on the FLash |
13:52.33 | *** join/#elinux tuxmaniac (n=aanjhan@60.254.67.17) |
13:53.59 | T0mW | IIRC, there was no specific mount needed for the ROM filesystem. You had to enter the hard address values into the kernel source as to where the file system was located. Again, it has been 6years since I've done that sort of thing. |
13:54.13 | T0mW | sorry |
13:54.20 | chouimat | hi T0mW |
13:54.29 | YazzY | no problem, what you just said is a lot of help to me |
13:54.31 | YazzY | thanks |
13:54.33 | T0mW | chouimat: good morning |
13:54.42 | T0mW | kprintf |
13:56.46 | T0mW | YazzY: it becomes a chicken-n-egg problem. The kernel would need a specific driver which is hardcoded to the address of the Flash disk area. But, in order to tell the kernel to mount the device to a specific /dev/ device, you need a filesystem. |
13:57.12 | T0mW | YazzY: that is why it the ROM root filesystem is hard coded into the kernel source. |
13:58.14 | *** join/#elinux CosmicPenguin (n=nobody@svl-ext-proxy01.amd.com) |
13:58.15 | *** mode/#elinux [+v CosmicPenguin] by ChanServ |
13:58.29 | YazzY | T0mW: what i thought i could do is to first boot a kernel with a small file system and partition the flash, then install filesystem to it |
13:58.31 | T0mW | CosmicPenguin: oh, so now you have a "voice" |
13:58.57 | CosmicPenguin | Yeah |
13:59.00 | CosmicPenguin | you got a problem with that? |
13:59.17 | T0mW | CosmicPenguin: definately, shaddup and get back to work |
13:59.18 | YazzY | that's what i do on netbsd now, it has a file system inserted into kernel which gets extracted and mounted in memory during boot, then it partitions the HD and installs a tarball to it |
13:59.25 | T0mW | CosmicPenguin: ;) |
14:00.13 | T0mW | YazzY: ok, can you get that far? extracting & mounting the image? |
14:00.16 | YazzY | i bet i can erase the redboot and install new kernel to it |
14:00.24 | YazzY | T0mW: on linux ? |
14:00.29 | T0mW | yeah |
14:00.59 | YazzY | T0mW: i can boot it fine from redboot but it is mounted (the root file system) as /dev/root now |
14:01.20 | YazzY | any changes to the file system are not preserved across boots |
14:01.35 | T0mW | right, becuase it is in RAM |
14:01.44 | YazzY | yepp |
14:02.14 | YazzY | strange thing (which I have problem to grasp) is the file system is mounted as ext2 even though it is a ram mounted fs |
14:02.17 | T0mW | and you can pivotroot to it and make the RAM system the default (root) filesystem? |
14:02.44 | T0mW | ext2 is simply the structure of the system |
14:02.49 | YazzY | ok |
14:02.50 | T0mW | s/system/filesystem |
14:03.16 | YazzY | T0mW: seems like the ram is now a default root file system |
14:03.18 | T0mW | you could make it a cramfs, ext2, or msdos or whatever the kernel supports |
14:03.24 | T0mW | good |
14:03.26 | YazzY | ~ # df -h |
14:03.27 | YazzY | Filesystem Size Used Available Use% Mounted on |
14:03.28 | YazzY | /dev/root 7.9M 7.3M 215.0k 97% / |
14:03.53 | YazzY | and dmesg says: |
14:03.54 | YazzY | Freeing initrd memory: 8192K |
14:03.54 | YazzY | VFS: Mounted root (ext2 filesystem) readonly. |
14:04.36 | T0mW | ok, so I would expect that you need to get JFFS working now so that you have a block device interface to a portion of the flash memory. Once the block device is there, then you can format it with a file system, then pivot root to that file system. |
14:04.36 | YazzY | so i suppose the freed memory is used for the 8059 blocks the root file system is mouned on |
14:05.19 | YazzY | T0mW: ok, what device type would i use for that (compile into my kernel) ? |
14:05.41 | YazzY | the dir of /dev/mtd is empty |
14:05.53 | YazzY | i though it would mtd for the flash |
14:07.43 | YazzY | i've been reading and reading and reading and all i get is more confised |
14:08.34 | YazzY | i've been working a lot on embedded BSDs but Linux is a bit different and I need to grasp a few things first to get the whole picture |
14:13.17 | T0mW | http://developer.axis.com/software/jffs/ |
14:14.19 | YazzY | thanks a lot T0mW |
14:14.37 | T0mW | I encountered JFFS on the tuxscreen, it was there but I did not use it. My units all pivot'ed to CF / hard drive after the kernel booted |
14:14.54 | T0mW | http://tuxscreen.net/wiki/ |
14:14.59 | YazzY | hm, interesting, i removed support for devfs from my kernel and now i can see a couple of mtd devices |
14:15.20 | YazzY | T0mW: what is pivot used for? |
14:15.25 | T0mW | ah |
14:15.28 | T0mW | that is key |
14:15.36 | YazzY | what is ? |
14:16.45 | T0mW | man pivot_root "pivot_root - change the root file system" |
14:17.08 | T0mW | pivot_root moves the root file system of the current process to the |
14:17.08 | T0mW | <PROTECTED> |
14:17.49 | T0mW | kind of drops the floor out from under linux and lets it land on a new root filesystem |
14:18.13 | T0mW | an nfs root will use pivot_root |
14:18.24 | YazzY | hm |
14:18.37 | YazzY | this could be used to update your kernel on the fly |
14:18.39 | YazzY | right ? |
14:18.43 | YazzY | without reboot |
14:20.31 | T0mW | well, pivot_root is used this way: you load the kernel plus a small root filesystem into RAM, boot that system. The ROMFS has some utils + startup scripts in it, once you get the drive interfaces working (IDE, SCSI, or JFFS), then you can pivot_root to the larger storage device and make it the default filesystem (root). |
14:21.22 | T0mW | kind of like "umount /dev/root ; mount /dev/bigger_drive /" |
14:21.27 | YazzY | yepp |
14:21.30 | YazzY | cool |
14:21.32 | T0mW | kind of like "umount /dev/root ; mount / /dev/bigger_drive " |
14:21.40 | YazzY | i get the point |
14:21.41 | *** join/#elinux thraxisp (n=thraxisp@ottgate.precidia.com) |
14:21.57 | YazzY | handy |
14:22.08 | T0mW | but you cannot unmount the root system, you use pivot_root to make that unmount + mount work. |
14:22.54 | T0mW | pivot_root will purge knowledge of the current root filesystem from the kernel and get it to accept a new root device. |
14:23.15 | YazzY | this way you can have a small kernel in redboot and update your software you normally mount as new rootfs with pivot |
14:23.38 | YazzY | that's neat |
14:24.13 | T0mW | /sbin/pivot_root /mnt /mnt/initrd && exec /linuxrc <dev/console >dev/console 2>&1 |
14:24.18 | *** join/#elinux blindvt__ (n=bf@M2397P016.adsl.highway.telekom.at) |
14:25.02 | YazzY | T0mW: but you'd need to first have an existing file system for pivot_root to mount |
14:25.16 | YazzY | on your HD/CF/Flash |
14:26.52 | T0mW | YazzY: correct, look here: http://rafb.net/paste/results/qoMW3N91.html |
14:27.23 | T0mW | that is the linuxrc (startup scripting for the TuxScreen), either JFFS or an IDE is pivot'ed to |
14:27.56 | CosmicPenguin | heh |
14:28.02 | CosmicPenguin | ahh - tuxscreen |
14:28.44 | T0mW | there is a lot more happening before / during the pivot_root, you are correct. You have to mount the new desired root somewhere, then pivot to it, and, you need a mounting point to put the old root during the pivot_root. |
14:28.44 | T0mW | CosmicPenguin: :D |
14:29.30 | T0mW | YazzY: http://tuxscreen.net/wiki/view/pivot_root_to_debian-ARM?PHPSESSID=3e76bec174186bc2b026bdb64d68749e |
14:30.45 | *** join/#elinux thraxisp (n=thraxisp@ottgate.precidia.com) [NETSPLIT VICTIM] |
14:30.45 | *** join/#elinux markl_ (n=mark@dsl093-225-127.slc1.dsl.speakeasy.net) |
14:30.45 | *** join/#elinux catastrop (n=catastr0@d14-69-178-65.try.wideopenwest.com) [NETSPLIT VICTIM] |
14:30.45 | *** join/#elinux George (i=authdeni@vm.gwright.org.uk) |
14:30.45 | *** join/#elinux Wingnut (n=mcrist@mknod.org) [NETSPLIT VICTIM] |
14:30.45 | *** mode/#elinux [+v Wingnut] by irc.freenode.net |
14:31.27 | T0mW | YazzY: for giggles, I build an IDE interface for the TuxScreen (SA1100 ARM) and then stuck a 10G drive on it. |
14:31.27 | T0mW | s/build/built |
14:31.49 | T0mW | YazzY: sorry that I cannot give you more specific help other than some resource references. |
14:31.59 | YazzY | no sweat, i will read on myself |
14:32.08 | YazzY | i already got some stuff from you to read |
14:32.10 | YazzY | thanks T0mW |
14:32.22 | CosmicPenguin | Documentation/initrd.txt will also teach you many things |
14:32.32 | T0mW | YazzY: I've got to go do my morning walk to get my fat BUT^H^H^Hself in motion. |
14:32.37 | YazzY | btw, i like doing yes/no checks this way http://www.rafb.net/paste/results/tXvRKI78.html |
14:32.40 | YazzY | :) |
14:32.54 | YazzY | T0mW: allrighty, see ya |
14:35.45 | chouimat | γδ |
14:36.40 | T0mW | YazzY: BTW, the buildroot is not perfect, but, it encapsulates a lot of knowledge / mechanisms which can be used to cross develope a bootable linux system. You may want to get a copy and study that a bit? |
14:37.23 | YazzY | T0mW: doesnt snapgear include much of buildroot ? |
14:37.41 | Pix | yeah, buildroot is an incredible tool |
14:38.01 | CosmicPenguin | s/incredible/useful/? |
14:42.37 | Pix | both :) |
14:42.46 | Pix | incredibly useful, i'd say |
14:43.42 | CosmicPenguin | Well, its great and all |
14:43.52 | CosmicPenguin | It has its limitations, like all tools |
14:44.53 | *** join/#elinux eggers (n=eggers@pixpat.austin.ibm.com) |
14:46.29 | Wingnut | yeah, it makes terrible coffee |
15:17.13 | *** join/#elinux lyakh (n=lyakh@85.197.31.183) |
15:46.51 | *** join/#elinux prpplague (n=billybob@72.22.146.214) |
15:46.51 | *** mode/#elinux [+o prpplague] by ChanServ |
15:46.59 | prpplague | chouimat: hey you around? |
15:47.07 | *** mode/#elinux [-o prpplague] by prpplague |
15:48.00 | *** part/#elinux prpplague (n=billybob@72.22.146.214) |
16:05.57 | *** join/#elinux shaggyoaf (n=dmiles@15.238.5.190) |
16:06.39 | shaggyoaf | Is it possible to use buildroot without cross-compilation (like to build and ia64 root on an ia64 machine)? |
16:39.55 | *** join/#elinux TimRiker (n=timr@216.49.181.128) |
16:39.56 | *** mode/#elinux [+o TimRiker] by ChanServ |
16:55.16 | *** join/#elinux toi (n=peter@d54C27365.access.telenet.be) |
16:58.30 | *** join/#elinux youam (n=youam@ciara.youam.de) |
17:01.55 | *** join/#elinux tuxmaniac (n=aanjhan@60.254.67.17) |
17:13.28 | *** join/#elinux dijenerate (n=dijenera@69.73.207.240) |
18:00.44 | *** join/#elinux dijenerate (n=dijenera@69.73.207.240) |
18:00.44 | *** join/#elinux Crofton (n=balister@hc6521c68.dhcp.vt.edu) |
19:14.23 | *** part/#elinux shaggyoaf (n=dmiles@15.238.5.190) |
19:21.14 | *** join/#elinux TimRiker (n=timr@216.49.181.128) |
19:21.15 | *** mode/#elinux [+o TimRiker] by ChanServ |
19:45.17 | *** join/#elinux dijenerate (n=dijenera@69.73.207.240) |
19:48.48 | *** join/#elinux TimRiker (n=timr@pdpc/supporter/bronze/TimRiker) |
19:48.49 | *** mode/#elinux [+o TimRiker] by ChanServ |
19:54.57 | *** join/#elinux Chocobo (n=swinchen@70-33-147-28.agstme.adelphia.net) |
20:00.36 | *** join/#elinux dijenerate (n=dijenera@69.73.207.240) |
20:37.22 | kergoth | chouimat: job interview? |
20:37.40 | chouimat | kergoth: yup ... didn't went well |
20:37.51 | kergoth | aw :( |
20:38.46 | chouimat | kergoth: I applied there last year ... some I completely forgot about them |
20:38.54 | kergoth | ah |
20:39.19 | kergoth | looks like i'm switching jobs again |
20:39.27 | chouimat | kergoth: nice or bad? |
20:39.47 | kergoth | full time telecommute for a company whose owner is an embedded linux developer |
20:39.55 | kergoth | short contract initially, hopefully longer after that |
20:40.54 | chouimat | cool |
20:42.43 | *** join/#elinux Crofton_|laptop (n=balister@hc6521c68.dhcp.vt.edu) |
20:53.27 | *** join/#elinux Chocobo (n=swinchen@70-33-147-28.agstme.adelphia.net) |
20:54.45 | *** join/#elinux FireEgl (i=Atlantic@Atlantica.US) |
21:14.37 | CosmicPenguin | ok - so I need a system that will build a kernel, uclibc, busybox, wireless-tools, kexec-tools, combine the previous 4 into an initramfs, combine all of them together with mkelfImage and stick it in as a Linux BIOS payload |
21:14.55 | CosmicPenguin | which seems too simple for buildroot, and way too simple for OE |
21:15.06 | CosmicPenguin | but I hate to go to all that work re-inventing the wheel |
21:18.08 | *** join/#elinux FireEgl (i=Atlantic@Atlantica.DollarDNS.Net) |
21:21.04 | *** join/#elinux ChanServ (ChanServ@services.) |
21:21.04 | *** mode/#elinux [+o ChanServ] by irc.freenode.net |
21:26.39 | chouimat | CosmicPenguin: kergoth http://www.freehackers.org/~tnagy/knock.jpg |
21:26.54 | CosmicPenguin | seesh |
21:27.20 | CosmicPenguin | reminds me of a particular AC/DC song |
21:30.34 | chouimat | CosmicPenguin: I bet a lot of people doesn't use this to knock to this door |
21:43.06 | mlehrer | heh |
21:43.25 | mlehrer | is that from scary movie 4 or something |
21:54.55 | *** join/#elinux Chocobo (n=swinchen@70-33-147-28.agstme.adelphia.net) |
22:12.57 | *** join/#elinux FireEgl (i=Atlantic@Atlantica.US) |
22:24.20 | *** join/#elinux blindvt_ (n=bf@M992P029.adsl.highway.telekom.at) |
22:34.19 | *** join/#elinux Crofton__|laptop (n=balister@66-207-66-26.black.dmt.ntelos.net) |
22:42.48 | CosmicPenguin | ~covert 29 pounds to dollars |
22:42.56 | CosmicPenguin | ~convert 29 pounds to dollars |
22:59.20 | mlehrer | 29 pounds is about 88 kilos |
23:01.29 | CosmicPenguin | ahh - a wise guy, eh? |
23:03.17 | *** join/#elinux dijenerate (n=dijenera@69.73.207.240) |
23:15.51 | *** join/#elinux youam (n=youam@ciara.youam.de) |
23:15.52 | *** join/#elinux Gerrath (n=Shane_@unaffiliated/gerrath) |
23:15.52 | *** join/#elinux CIA-16 (i=cia@cia.navi.cx) [NETSPLIT VICTIM] |
23:15.52 | *** join/#elinux hvr (n=hvr@h081217049130.dyn.cm.kabsi.at) [NETSPLIT VICTIM] |
23:16.29 | *** join/#elinux thraxisp (n=thraxisp@ottawa-hs-209-217-110-185.d-ip.magma.ca) |