Image mit IDE Treiber unter Newmake

Kreuzuebersetzer, Diskussion über Änderungen im Tuxbox-CDK und Tuxbox-CVS
ed_2
Einsteiger
Einsteiger
Beiträge: 161
Registriert: Donnerstag 29. November 2001, 00:00

Image mit IDE Treiber unter Newmake

Beitrag von ed_2 »

Hi,

kann man jetzt eigentlich schon ein Image mit dem IDE Treiber unter Newmake erstellen? Muss dann was geändert werden oder einfach wie gewohnt starten?

Mfg

ed_2
dietmarw
Contributor
Beiträge: 1833
Registriert: Mittwoch 10. April 2002, 15:39

Beitrag von dietmarw »

Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Beitrag von Barf »

Ab jetzt ist die IDE-Unterstützung (mit --enable-ide) in newmake "vollständig" und (von mir) überprüft. (Das einzige was letzte Woche fehlte war das Laden von den Modulen ext2, jbd und ext3 in rcS[.insmod])

Zum Unterstützen bei der Einrichten der Festplatte gibt es ein Skript init_hdd.sh (in /sbin). Ein Warmduscherinterface dazu gibt es nicht. Ebenfalls nicht ünterstützt ist das überprüfen von einem Markerfile /var/etc/.start_ide oder sowas. (Ist sowieso nicht von CVS-Neutrino unterstützt.)

Falls kein IDE-Interface gefunden wird passiert nichts dramatisches, nur ein Fehlermeldung. Falls IDE-Interface gefunden wird, aber keine Platte angeschlossen/funktioniert ist es aber schlimmer: es dauert etwa eine Minute. Sollte wohl kaum soo oft der Fall sein, und dann nur temporär.

Eine andere Unterschied zu JtG-Image ist dass newmake benutzt busybox-s fdisk, jtg hat ein eigenständiges Programm, sfdisk (warum habe ich keine Ahnung).

Bei busybox sind ein Anzahl Kommands eingeschaltet, siehe busybox.config.m4 (suche ifdef(`ide`...).

Sofern ich verstehe bedeutet dies dass ab morgen ist das dietmarw-Image direkt für ide-Betrieb geeignet. Für ein jffs2-image von 21.08 oder später soll es reichen, die oben genannte Treibern zu laden durch erweitern von rcS:

Code: Alles auswählen

# If appropriate, load ide drivers and file system drivers
if [ -e /lib/modules/$(uname -r)/misc/dboxide.o ] ; then
        $IM $MD/ide-core.o 
        $IM $MD/dboxide.o 
        $IM $MD/ide-detect.o 
        $IM $MD/ide-disk.o 
        $IM $MD/ext2.o 
        $IM $MD/jbd.o 
        $IM $MD/ext3.o
fi
Also, um ein newmake image mit ide-disk zu installieren:

- Konfigurieren mit --enable-ide
- Builden,
- Flashen
- Booten, einloggen und init_hdd.sh ausführen
- Neubooten (oder mount -a)
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Beitrag von PT-1 »

@Barf

habe ein neues Image gebaut und geflasht und leider bring bei mir nun init_hdd.sh gar nichts ..

Image habe ich wie folgt gebaut (nicht schlagen...Ich verstehe es einfach nicht besser)

Code: Alles auswählen

make mostlyclean
printf ******************************
printf ******** DISTCLEAN************
printf ******************************
cvs up -f -r newmake -dP > cvs.log 2>&1 
printf ******************************
printf ********CVS Update************
printf ******************************
./autogen.sh
printf ******************************
printf ********autogen.sh************
printf ******************************
./configure --prefix=/home/ubuntu/210806/tuxbox --with-cvsdir=/home/ubuntu/210806/ --enable-maintainer-mode --enable-cdkVcInfo --enable-ide --with-ucodesdir=/home/ubuntu/210806/ucodes/ 
printf ******************************
printf ********Configure ************
printf ******************************
make flash-neutrino-jffs2-all
printf ******************************
printf ********Flash Image***********
printf ******************************
rm /home/ubuntu/210806/tuxbox/cdkflash/root-neutrino.jffs2
rm /home/ubuntu/210806/tuxbox/cdkflash/neutrino-jffs2.img2x
rm /home/ubuntu/210806/tuxbox/cdkflash/neutrino-jffs2.img1x
rm -r /home/ubuntu/210806/tuxbox/cdkflash/root-neutrino-jffs2/
rm /home/ubuntu/210806/tuxbox/cdkflash/root-neutrino/share/tuxbox/neutrino/locale/bayrisch.locale
rm /home/ubuntu/210806/tuxbox/cdkflash/root-neutrino/share/tuxbox/neutrino/locale/bosanski.locale
rm /home/ubuntu/210806/tuxbox/cdkflash/root-neutrino/share/tuxbox/neutrino/locale/ch-baslerdeutsch.locale
rm /home/ubuntu/210806/tuxbox/cdkflash/root-neutrino/share/tuxbox/neutrino/locale/ch-berndeutsch.locale
rm /home/ubuntu/210806/tuxbox/cdkflash/root-neutrino/share/tuxbox/neutrino/locale/francais.locale
rm /home/ubuntu/210806/tuxbox/cdkflash/root-neutrino/share/tuxbox/neutrino/locale/italiano.locale
rm /home/ubuntu/210806/tuxbox/cdkflash/root-neutrino/share/tuxbox/neutrino/locale/nederlands.locale
rm /home/ubuntu/210806/tuxbox/cdkflash/root-neutrino/share/tuxbox/neutrino/locale/polski.locale
rm /home/ubuntu/210806/tuxbox/cdkflash/root-neutrino/share/tuxbox/neutrino/locale/portugues.locale
rm /home/ubuntu/210806/tuxbox/cdkflash/root-neutrino/share/tuxbox/neutrino/locale/russkij.locale
rm /home/ubuntu/210806/tuxbox/cdkflash/root-neutrino/share/tuxbox/neutrino/locale/suomi.locale
rm /home/ubuntu/210806/tuxbox/cdkflash/root-neutrino/share/tuxbox/neutrino/locale/svenska.locale
rm -r /home/ubuntu/210806/tuxbox/cdkflash/root-neutrino/share/tuxbox/neutrino/httpd/
rm -r /home/ubuntu/210806/tuxbox/cdkflash/root-neutrino/share/tuxbox/neutrino/httpd-alt2/
rm /home/ubuntu/210806/tuxbox/cdkflash/root/share/tuxbox/cables.xml
printf ******************************
printf ******************************
printf ******************************
printf ******************************
printf ******************************
printf ******************************
printf ******************************
printf ******************************
printf ******************************
printf ********Delete Files**********
printf ******************************
cp /home/ubuntu/210806/ownfile/services.xml /home/ubuntu/210806/tuxbox/cdkflash/root-neutrino/var/tuxbox/config/zapit
cp /home/ubuntu/210806/ownfile/bouquets.xml /home/ubuntu/210806/tuxbox/cdkflash/root-neutrino/var/tuxbox/config/zapit
chmod -R 755 /home/ubuntu/210806/tuxbox/cdkflash/root-neutrinovar/tuxbox/config/zapit
chmod -R 755 /home/ubuntu/210806/tuxbox/cdkflash/root-neutrino/etc/interfaces
make flash-neutrino-jffs2-all
printf ******************************
printf ********Final Image***********
printf ******************************

Was in obigem nicht funktioniert sind meine Netzwerkeinstellungen und ich muss noch die Sat einstellungen finden...

Er zeigt auch beim Booten keine Info an wer das Image gebaut hat

habe init_hdd.sh in root versucht...
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Beitrag von Barf »

PT-1 hat geschrieben:habe ein neues Image gebaut und geflasht und leider bring bei mir nun init_hdd.sh gar nichts ..
Was ist genau das Problem? Ich kann mit "bring ... gar nichts" nicht viel anfangen. :gruebel:
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Beitrag von PT-1 »

Code: Alles auswählen

/ # ./init_hdd.sh
-sh: ./init_hdd.sh: not found
Ich hatte vorher immer ein JTG Image verwendet um mein IDE Interface mit der neuen Platte zu testen. der obige Befehl hat da immer ewig gedauert und es scheinte auch etwas zu passieren aber nach einem re-boot war die Platte immer noch nicht mountbar.

Jetzt habe ich eben selbst ein Image mit newmake gebaut und dort gibt es diesen init_hdd.sh nicht...
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Beitrag von Barf »

PT-1 hat geschrieben:

Code: Alles auswählen

/ # ./init_hdd.sh
-sh: ./init_hdd.sh: not found
init_hdd.sh liegt in /sbin, dadurch in Pfad, und kann entweder als

Code: Alles auswählen

init_hdd.sh
oder

Code: Alles auswählen

/sbin/init_hdd.sh
aufgerufen werden. (Gilt übrigens auch für das jtg-Image).
Ich hatte vorher immer ein JTG Image verwendet um mein IDE Interface mit der neuen Platte zu testen. der obige Befehl hat da immer ewig gedauert und es scheinte auch etwas zu passieren aber nach einem re-boot war die Platte immer noch nicht mountbar.
Ok, falls die Skripte nicht auf Anhieb funktioneren, werfe sie weg und rufe fdisk/sfdisk/mkfs.ext3 selbst auf. Solche Skripts sind für debugging nicht geeignet.[/code]
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Beitrag von PT-1 »

@Barf

Wie du hoffentlich schon gemerkt hast bin ich hier hoffnungslos verloren...
dein init_hdd.sh macht dieses:

Code: Alles auswählen

~ # cd ..
/ # cd sbin
/sbin # init_hdd.sh

The number of cylinders for this disk is set to 30401.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): Building a new DOS disklabel. Changes will remain in memor
y only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.


The number of cylinders for this disk is set to 30401.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): Command action
   e   extended
   p   primary partition (1-4)
Partition number (1-4): First cylinder (1-30401, default 1): Last cylinder or +s
ize or +sizeM or +sizeK (1-30401, default 30401):
Command (m for help): Command action
   e   extended
   p   primary partition (1-4)
Partition number (1-4): First cylinder (14-30401, default 14): Using default val
ue 14
Last cylinder or +size or +sizeM or +sizeK (14-30401, default 30401): Using defa
ult value 30401

Command (m for help): Command (m for help): Partition number (1-4): Hex code (ty
pe L to list codes): Changed system type of partition 1 to 82 (Linux swap)

Command (m for help):
Disk /dev/ide/host0/bus0/target0/lun0/disc: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

                                Device Boot    Start       End    Blocks   Id  S
ystem
/dev/ide/host0/bus0/target0/lun0/part1               1          13      104391
 82  Linux swap
/dev/ide/host0/bus0/target0/lun0/part2              14       30401   244091610
 83  Linux

Command (m for help): The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

/dev/ide/host0/bus0/target0/lun0/disc:
 setting standby to 60 (5 minutes)
Now creating the file system. This may take a few minutes.
mke2fs 1.38 (30-Jun-2005)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
238464 inodes, 61022902 blocks
0 blocks (0.00%) reserved for the super user
First data block=0
1863 block groups
32768 blocks per group, 32768 fragments per group
128 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872

Writing inode tables:  [color=red]344[/color]/1863
Die nummer in Rot zaehlt am Anfang fleissig hoch und bleibt dann dort stehen. Die nummer ist nach einem Neustart auch nicht immer die selbe sondern manchmal hoeher oder niedriger

Wie kann ich denn die Platte manuell einrichten ...

Koenntest du oder jemand der Linux besser versteht als ich mir die Commando Zeile posten???

Vielen Dank

PT-1
Zuletzt geändert von PT-1 am Montag 28. August 2006, 22:29, insgesamt 1-mal geändert.
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Beitrag von Barf »

Was passiert ist Folgendes: das Partitionieren (mit fdisk) läuft problemlos. Dann hängt es bei mkfs. Ich wurde Folgendes probieren: Erstmals schalte das sleepen aus mit

hdparam -S0 /dev/ide/host0/bus0/target0/lun0/disc

Verkleinere mit fdsik die partition 2 zu, sagen wir, 100 Zylindern. Dann probiere nochmals mit

mkfs.ext3 /dev/ide/host0/bus0/target0/lun0/part2

Natürlich wäre ein versuch mit ext2 auch möglich.

Zum Verkleinern:

Code: Alles auswählen

# fdisk /dev/ide/host0/bus0/target0/lun0/disc 

Command (m for help): d
Partition number (1-4): 2

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (14-527, default 14): 
Using default value 14
Last cylinder or +size or +sizeM or +sizeK (14-450, default 450): 200

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
 /dev/ide/host0/bus0/target0/lun0: p1 p2
 /dev/ide/host0/bus0/target0/lun0: p1 p2
Syncing disks.